diff --git a/apis/.metadata.json b/apis/.metadata.json index e7d98dae..97ee0d09 100644 --- a/apis/.metadata.json +++ b/apis/.metadata.json @@ -1 +1 @@ -{"shopperAuthClient":"Customer.ShopperCustomers","shopperAuthApi":"authorizeCustomer","shopperAuthDataType":"Customer","enforceCcdcId":true} +{"shopperAuthClient":"Customer.ShopperCustomers","shopperAuthApi":"authorizeCustomer","shopperAuthDataType":"Customer"} diff --git a/apis/assignments-oas/assignments-oas-1.0.34/.metadata.json b/apis/assignments-oas/assignments-oas-1.0.34/.metadata.json new file mode 100644 index 00000000..54ec312c --- /dev/null +++ b/apis/assignments-oas/assignments-oas-1.0.34/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/assignments-oas/1.0.34", + "name": "Assignments OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "assignments-oas", + "version": "1.0.34", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/assignments-oas/assignments-oas-1.0.34/assignments-oas-v1-internal.yaml b/apis/assignments-oas/assignments-oas-1.0.34/assignments-oas-v1-internal.yaml new file mode 100644 index 00000000..73a7ca17 --- /dev/null +++ b/apis/assignments-oas/assignments-oas-1.0.34/assignments-oas-v1-internal.yaml @@ -0,0 +1,1066 @@ +openapi: 3.0.3 +info: + title: Assignments + version: v1 + description: "# API Overview\n\nUse the Assignments API to search for promotions associated with campaigns.\n\nFor more information, see [Campaigns and Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Promotions/CampaignsandPromotions.html) in the Salesforce B2C Commerce Infocenter.\n\n## Authentication & Authorization\n\nThe client requesting the promotion information must have access to the Promotion resource. For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request. The client must first authenticate against Account Manager to log in.\n\nYou must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html)\n\nFor detailed setup instructions, see [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html).\n\n## Use Cases\n\n### Find All Associated Promotions\n\nUse the Assignments API to find all associated promotions for a given campaign. " +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/assignments/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/assignments: + post: + summary: Search for promotion campaign assignments. + description: "The promotion campaign assignment search document contains a search object that allows filtering on various attributes.\n\nThe query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped into different buckets.\n\nThe following is a list of searchable attributes with their corresponding buckets:\n \n main:\n \n | Attribute | Type |\n |-----------|--------|\n | rank| Integer |\n | startDate | Date |\n | endDate | Date |\n \n campaign:\n \n | Attribute | Type |\n |-----------|--------|\n | campaign| String |\n \n promotion:\n \n | Attribute | Type |\n |-----------|--------|\n | promotionId| String |\n | description | String |\n | enabled | Boolean |\n \n special handling:\n \n | Attribute | Type |\n |-----------|--------|\n | couponId| String |\n\nOnly fields in the same bucket can be joined using a disjunction (or). For instance, when joining campaignId and rank, only a conjunction (and) is allowed, while promotionId and description can be joined using a disjunction because they are in the same bucket. Special handling fields must always use conjunctions. If the field is used in a disjunction that violates this rule, an exception is thrown.\n\n\nNote that only searchable attributes can be used in sorting.\n" + operationId: assignmentsSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + responses: + '200': + description: Promotion campaign information successfully returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PromotionCampaignAssignmentSearchResult' + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + CampaignId: + minLength: 1 + maxLength: 256 + description: The ID of the campaign. + type: string + example: NewYearCampaign + Campaign: + description: Document representing a campaign. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + campaignId: + $ref: '#/components/schemas/CampaignId' + coupons: + description: The array of assigned coupon IDs, not sorted. + type: array + items: + type: string + example: + - 20%offOrder + - 10%offWelcomeNewUser + creationDate: + description: Returns the value of attribute 'creationDate'. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + customerGroups: + description: The array of assigned customer groups, not sorted. + type: array + items: + type: string + example: + - BigShoppers + - NorthAmericanShoppers + description: + maxLength: 4000 + description: The description of the campaign. + type: string + enabled: + description: The enabled flag for campaign. + type: boolean + example: true + endDate: + description: The date the scenario ends. + type: string + format: date-time + lastModified: + description: Returns the value of attribute 'lastModified'. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + sourceCodeGroups: + description: The array of assigned source code groups, not sorted. + type: array + items: + type: string + example: + - affiliate-email + - gaming-email + startDate: + description: The date the scenario begins. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + type: object + required: + - campaignId + TimeOfDay: + type: object + required: + - timeFrom + - timeTo + description: Document representing a time schedule within a single day. + additionalProperties: false + properties: + timeFrom: + description: |- + The time to start from. Time format: HH:mm:ss. Seconds + are ignored and set to 0. + type: string + timeTo: + description: |- + The time to end on. Time format: HH:mm:ss. Seconds + are ignored and set to 0. + type: string + Recurrence: + description: Document representing a schedule recurrence. + type: object + required: + - dayOfWeek + - timeOfDay + additionalProperties: false + properties: + dayOfWeek: + description: The days of week for recurrence. + type: array + items: + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + type: string + timeOfDay: + description: The time of the day for recurrence. + allOf: + - $ref: '#/components/schemas/TimeOfDay' + type: object + Schedule: + description: Document representing a time schedule for slots. + additionalProperties: false + type: object + required: + - endDate + - recurrence + - startDate + properties: + endDate: + description: 'The date to end of validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' + type: string + format: date-time + recurrence: + description: The recurrence of the schedule by day of week and time of day. Not all schedules support a recurrence. + allOf: + - $ref: '#/components/schemas/Recurrence' + startDate: + description: 'The date to start validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' + type: string + format: date-time + PromotionAbtestGroupAssignment: + additionalProperties: false + properties: + abtestDescription: + type: string + abtestId: + type: string + enabled: + type: boolean + schedule: + $ref: '#/components/schemas/Schedule' + segmentDescription: + type: string + segmentId: + type: string + type: object + required: + - abtestDescription + - abtestId + - enabled + - schedule + - segmentDescription + - segmentId + PromotionCampaignAssignment: + description: Document representing a promotion campaign assignment. + additionalProperties: false + properties: + campaign: + description: The campaign. + allOf: + - $ref: '#/components/schemas/Campaign' + campaignId: + minLength: 1 + maxLength: 256 + description: The ID of the campaign. + type: string + coupons: + description: The sorted array of assigned coupon IDs. + type: array + items: + type: string + customerGroups: + description: The sorted array of assigned customer groups. + type: array + items: + type: string + description: + maxLength: 4000 + description: The description of the promotion campaign assignment. + type: string + enabled: + description: True if the assignment resource is enabled. + type: boolean + promotion: + description: The promotion. + allOf: + - $ref: '#/components/schemas/Promotion' + promotionId: + minLength: 1 + maxLength: 256 + description: The ID of the promotion. + type: string + rank: + format: int32 + description: The rank of promotion campaign assignment. + type: integer + schedule: + description: The schedule of the assignment resource. + allOf: + - $ref: '#/components/schemas/Schedule' + sourceCodeGroups: + description: The sorted array of assigned source code groups. + type: array + items: + $ref: '#/components/schemas/SourceCodeGroupId' + type: object + required: + - campaign + - campaignId + - coupons + - customerGroups + - description + - enabled + - promotion + - promotionId + - rank + - schedule + - sourceCodeGroups + PromotionAssignmentInformation: + additionalProperties: false + properties: + abtestId: + description: |- + If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test the segment + belongs to. Otherwise, empty. + type: string + abtestSegmentId: + description: |- + If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test segment. + Otherwise, empty. + type: string + active: + description: True if the individual assignment or the multiple assignments are currently active. + type: boolean + activeAbtestAssignments: + description: A list of currently active A/B tests this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionAbtestGroupAssignment' + activeCampaignAssignments: + description: A list of currently active campaigns this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionCampaignAssignment' + campaignId: + description: If there is only one assignment, and that assignment is a campaign, the ID of the campaign. Otherwise, empty. + type: string + enabled: + type: boolean + endDate: + description: |- + The end date of the container of the assignment (a Campaign or ABTest). If scheduleType is + scheduleType : "multiple" or scheduleType : "none", then then result is null. Also, a null + date returns null. + type: string + format: date-time + schedule: + description: |- + The schedule of the assignment (a Campaign or ABTest). If scheduleType is + scheduleType : "multiple" or scheduleType : "none", then then result is null. + allOf: + - $ref: '#/components/schemas/Schedule' + scheduleType: + description: |- + If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type + of assignment (scheduleType : "campaign" or scheduleType : "abtest"). If there are no + assignments, it is scheduleType : "none", otherwise, scheduleType : "multiple". + enum: + - none + - campaign + - abtest + - multiple + type: string + startDate: + description: |- + The start date of the container of the assignment (a Campaign or ABTest). If scheduleType is + scheduleType : "multiple" or scheduleType : "none", then then result is null. Also, a null + date returns null. + type: string + format: date-time + upcomingAbtestAssignments: + description: A list of upcoming A/B tests this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionAbtestGroupAssignment' + upcomingCampaignAssignments: + description: A list of upcoming campaigns this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionCampaignAssignment' + type: object + required: + - abtestId + - abtestSegmentId + - active + - activeAbtestAssignments + - activeCampaignAssignments + - campaignId + - enabled + - endDate + - schedule + - scheduleType + - startDate + - upcomingAbtestAssignments + - upcomingCampaignAssignments + Tag: + description: Document representing a tag + additionalProperties: false + properties: + tagId: + description: The ID of the tag. + type: string + type: object + required: + - tagId + Promotion: + description: |- + Document representing a promotion. Unless otherwise stated, attributes of this document are not supported when using + the Open Commerce API to update multiple promotions at once. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + archived: + description: |- + Determines if this promotion is archived. This attribute is allowed to be updated when using the Open + Commerce API to update multiple promotions at once. + type: boolean + assignmentInformation: + description: Information about the assignments and assignment schedules of this promotion. + allOf: + - $ref: '#/components/schemas/PromotionAssignmentInformation' + creationDate: + description: Returns the value of attribute 'creationDate'. + type: string + format: date-time + currencyCode: + maxLength: 3 + description: |- + The ISO 4217 mnemonic code of the currency this promotion is restricted to. If not populated, then there is no + currency restriction on the promotion. + type: string + disableGloballyExcluded: + description: Determines if this promotion ignores the global product exclusions for promotions. + type: boolean + enabled: + description: |- + Determines if this promotion is enabled. This attribute is allowed to be updated when using the Open + Commerce API to update multiple promotions at once. + type: boolean + exclusivity: + description: |- + Determines if the promotion can be combined with other promotions of the same promotion class or if it cannot be + combined with any other promotions. This attribute is allowed to be updated when using the Open Commerce API to + update multiple promotions at once. + enum: + - 'no' + - class + - global + type: string + id: + description: The ID for the promotion. + type: string + lastModified: + description: Returns the value of attribute 'lastModified'. + type: string + format: date-time + name: + description: The user supplied name of this promotion, which can be localized. + type: object + additionalProperties: + type: string + promotionClass: + description: |- + The class of the promotion. If the promotion class is modified, then the promotion rule and all of its values, + such as whether or not to disable global product exclusions, are reset. + enum: + - product + - shipping + - order + type: string + tags: + description: |- + Returns the list of tags assigned to this promotion. If used to set the tags on a promotion, the promotion will + only have the tags passed in the input. Any existing tags are removed. + type: array + items: + $ref: '#/components/schemas/Tag' + type: object + required: + - exclusivity + - id + SourceCodeGroupId: + minLength: 1 + maxLength: 28 + description: The ID of source code group. + example: TV-Email + type: string + PromotionCampaignAssignmentSearchResult: + description: Document representing a promotion campaign assignment search result. + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + description: The sorted array of campaign search hits. Can be empty. + type: array + items: + $ref: '#/components/schemas/PromotionCampaignAssignment' + type: object + required: + - hits + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' diff --git a/apis/assignments-oas/assignments-oas-1.0.34/assignments-oas-v1-public.yaml b/apis/assignments-oas/assignments-oas-1.0.34/assignments-oas-v1-public.yaml new file mode 100644 index 00000000..73a7ca17 --- /dev/null +++ b/apis/assignments-oas/assignments-oas-1.0.34/assignments-oas-v1-public.yaml @@ -0,0 +1,1066 @@ +openapi: 3.0.3 +info: + title: Assignments + version: v1 + description: "# API Overview\n\nUse the Assignments API to search for promotions associated with campaigns.\n\nFor more information, see [Campaigns and Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Promotions/CampaignsandPromotions.html) in the Salesforce B2C Commerce Infocenter.\n\n## Authentication & Authorization\n\nThe client requesting the promotion information must have access to the Promotion resource. For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request. The client must first authenticate against Account Manager to log in.\n\nYou must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html)\n\nFor detailed setup instructions, see [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html).\n\n## Use Cases\n\n### Find All Associated Promotions\n\nUse the Assignments API to find all associated promotions for a given campaign. " +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/assignments/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/assignments: + post: + summary: Search for promotion campaign assignments. + description: "The promotion campaign assignment search document contains a search object that allows filtering on various attributes.\n\nThe query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped into different buckets.\n\nThe following is a list of searchable attributes with their corresponding buckets:\n \n main:\n \n | Attribute | Type |\n |-----------|--------|\n | rank| Integer |\n | startDate | Date |\n | endDate | Date |\n \n campaign:\n \n | Attribute | Type |\n |-----------|--------|\n | campaign| String |\n \n promotion:\n \n | Attribute | Type |\n |-----------|--------|\n | promotionId| String |\n | description | String |\n | enabled | Boolean |\n \n special handling:\n \n | Attribute | Type |\n |-----------|--------|\n | couponId| String |\n\nOnly fields in the same bucket can be joined using a disjunction (or). For instance, when joining campaignId and rank, only a conjunction (and) is allowed, while promotionId and description can be joined using a disjunction because they are in the same bucket. Special handling fields must always use conjunctions. If the field is used in a disjunction that violates this rule, an exception is thrown.\n\n\nNote that only searchable attributes can be used in sorting.\n" + operationId: assignmentsSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + responses: + '200': + description: Promotion campaign information successfully returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PromotionCampaignAssignmentSearchResult' + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + CampaignId: + minLength: 1 + maxLength: 256 + description: The ID of the campaign. + type: string + example: NewYearCampaign + Campaign: + description: Document representing a campaign. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + campaignId: + $ref: '#/components/schemas/CampaignId' + coupons: + description: The array of assigned coupon IDs, not sorted. + type: array + items: + type: string + example: + - 20%offOrder + - 10%offWelcomeNewUser + creationDate: + description: Returns the value of attribute 'creationDate'. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + customerGroups: + description: The array of assigned customer groups, not sorted. + type: array + items: + type: string + example: + - BigShoppers + - NorthAmericanShoppers + description: + maxLength: 4000 + description: The description of the campaign. + type: string + enabled: + description: The enabled flag for campaign. + type: boolean + example: true + endDate: + description: The date the scenario ends. + type: string + format: date-time + lastModified: + description: Returns the value of attribute 'lastModified'. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + sourceCodeGroups: + description: The array of assigned source code groups, not sorted. + type: array + items: + type: string + example: + - affiliate-email + - gaming-email + startDate: + description: The date the scenario begins. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + type: object + required: + - campaignId + TimeOfDay: + type: object + required: + - timeFrom + - timeTo + description: Document representing a time schedule within a single day. + additionalProperties: false + properties: + timeFrom: + description: |- + The time to start from. Time format: HH:mm:ss. Seconds + are ignored and set to 0. + type: string + timeTo: + description: |- + The time to end on. Time format: HH:mm:ss. Seconds + are ignored and set to 0. + type: string + Recurrence: + description: Document representing a schedule recurrence. + type: object + required: + - dayOfWeek + - timeOfDay + additionalProperties: false + properties: + dayOfWeek: + description: The days of week for recurrence. + type: array + items: + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + type: string + timeOfDay: + description: The time of the day for recurrence. + allOf: + - $ref: '#/components/schemas/TimeOfDay' + type: object + Schedule: + description: Document representing a time schedule for slots. + additionalProperties: false + type: object + required: + - endDate + - recurrence + - startDate + properties: + endDate: + description: 'The date to end of validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' + type: string + format: date-time + recurrence: + description: The recurrence of the schedule by day of week and time of day. Not all schedules support a recurrence. + allOf: + - $ref: '#/components/schemas/Recurrence' + startDate: + description: 'The date to start validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' + type: string + format: date-time + PromotionAbtestGroupAssignment: + additionalProperties: false + properties: + abtestDescription: + type: string + abtestId: + type: string + enabled: + type: boolean + schedule: + $ref: '#/components/schemas/Schedule' + segmentDescription: + type: string + segmentId: + type: string + type: object + required: + - abtestDescription + - abtestId + - enabled + - schedule + - segmentDescription + - segmentId + PromotionCampaignAssignment: + description: Document representing a promotion campaign assignment. + additionalProperties: false + properties: + campaign: + description: The campaign. + allOf: + - $ref: '#/components/schemas/Campaign' + campaignId: + minLength: 1 + maxLength: 256 + description: The ID of the campaign. + type: string + coupons: + description: The sorted array of assigned coupon IDs. + type: array + items: + type: string + customerGroups: + description: The sorted array of assigned customer groups. + type: array + items: + type: string + description: + maxLength: 4000 + description: The description of the promotion campaign assignment. + type: string + enabled: + description: True if the assignment resource is enabled. + type: boolean + promotion: + description: The promotion. + allOf: + - $ref: '#/components/schemas/Promotion' + promotionId: + minLength: 1 + maxLength: 256 + description: The ID of the promotion. + type: string + rank: + format: int32 + description: The rank of promotion campaign assignment. + type: integer + schedule: + description: The schedule of the assignment resource. + allOf: + - $ref: '#/components/schemas/Schedule' + sourceCodeGroups: + description: The sorted array of assigned source code groups. + type: array + items: + $ref: '#/components/schemas/SourceCodeGroupId' + type: object + required: + - campaign + - campaignId + - coupons + - customerGroups + - description + - enabled + - promotion + - promotionId + - rank + - schedule + - sourceCodeGroups + PromotionAssignmentInformation: + additionalProperties: false + properties: + abtestId: + description: |- + If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test the segment + belongs to. Otherwise, empty. + type: string + abtestSegmentId: + description: |- + If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test segment. + Otherwise, empty. + type: string + active: + description: True if the individual assignment or the multiple assignments are currently active. + type: boolean + activeAbtestAssignments: + description: A list of currently active A/B tests this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionAbtestGroupAssignment' + activeCampaignAssignments: + description: A list of currently active campaigns this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionCampaignAssignment' + campaignId: + description: If there is only one assignment, and that assignment is a campaign, the ID of the campaign. Otherwise, empty. + type: string + enabled: + type: boolean + endDate: + description: |- + The end date of the container of the assignment (a Campaign or ABTest). If scheduleType is + scheduleType : "multiple" or scheduleType : "none", then then result is null. Also, a null + date returns null. + type: string + format: date-time + schedule: + description: |- + The schedule of the assignment (a Campaign or ABTest). If scheduleType is + scheduleType : "multiple" or scheduleType : "none", then then result is null. + allOf: + - $ref: '#/components/schemas/Schedule' + scheduleType: + description: |- + If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type + of assignment (scheduleType : "campaign" or scheduleType : "abtest"). If there are no + assignments, it is scheduleType : "none", otherwise, scheduleType : "multiple". + enum: + - none + - campaign + - abtest + - multiple + type: string + startDate: + description: |- + The start date of the container of the assignment (a Campaign or ABTest). If scheduleType is + scheduleType : "multiple" or scheduleType : "none", then then result is null. Also, a null + date returns null. + type: string + format: date-time + upcomingAbtestAssignments: + description: A list of upcoming A/B tests this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionAbtestGroupAssignment' + upcomingCampaignAssignments: + description: A list of upcoming campaigns this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionCampaignAssignment' + type: object + required: + - abtestId + - abtestSegmentId + - active + - activeAbtestAssignments + - activeCampaignAssignments + - campaignId + - enabled + - endDate + - schedule + - scheduleType + - startDate + - upcomingAbtestAssignments + - upcomingCampaignAssignments + Tag: + description: Document representing a tag + additionalProperties: false + properties: + tagId: + description: The ID of the tag. + type: string + type: object + required: + - tagId + Promotion: + description: |- + Document representing a promotion. Unless otherwise stated, attributes of this document are not supported when using + the Open Commerce API to update multiple promotions at once. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + archived: + description: |- + Determines if this promotion is archived. This attribute is allowed to be updated when using the Open + Commerce API to update multiple promotions at once. + type: boolean + assignmentInformation: + description: Information about the assignments and assignment schedules of this promotion. + allOf: + - $ref: '#/components/schemas/PromotionAssignmentInformation' + creationDate: + description: Returns the value of attribute 'creationDate'. + type: string + format: date-time + currencyCode: + maxLength: 3 + description: |- + The ISO 4217 mnemonic code of the currency this promotion is restricted to. If not populated, then there is no + currency restriction on the promotion. + type: string + disableGloballyExcluded: + description: Determines if this promotion ignores the global product exclusions for promotions. + type: boolean + enabled: + description: |- + Determines if this promotion is enabled. This attribute is allowed to be updated when using the Open + Commerce API to update multiple promotions at once. + type: boolean + exclusivity: + description: |- + Determines if the promotion can be combined with other promotions of the same promotion class or if it cannot be + combined with any other promotions. This attribute is allowed to be updated when using the Open Commerce API to + update multiple promotions at once. + enum: + - 'no' + - class + - global + type: string + id: + description: The ID for the promotion. + type: string + lastModified: + description: Returns the value of attribute 'lastModified'. + type: string + format: date-time + name: + description: The user supplied name of this promotion, which can be localized. + type: object + additionalProperties: + type: string + promotionClass: + description: |- + The class of the promotion. If the promotion class is modified, then the promotion rule and all of its values, + such as whether or not to disable global product exclusions, are reset. + enum: + - product + - shipping + - order + type: string + tags: + description: |- + Returns the list of tags assigned to this promotion. If used to set the tags on a promotion, the promotion will + only have the tags passed in the input. Any existing tags are removed. + type: array + items: + $ref: '#/components/schemas/Tag' + type: object + required: + - exclusivity + - id + SourceCodeGroupId: + minLength: 1 + maxLength: 28 + description: The ID of source code group. + example: TV-Email + type: string + PromotionCampaignAssignmentSearchResult: + description: Document representing a promotion campaign assignment search result. + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + description: The sorted array of campaign search hits. Can be empty. + type: array + items: + $ref: '#/components/schemas/PromotionCampaignAssignment' + type: object + required: + - hits + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' diff --git a/apis/assignments-oas/assignments-oas-1.0.34/exchange.json b/apis/assignments-oas/assignments-oas-1.0.34/exchange.json new file mode 100644 index 00000000..bc38c6b3 --- /dev/null +++ b/apis/assignments-oas/assignments-oas-1.0.34/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "assignments-oas-v1-public.yaml", + "name": "Assignments OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "assignments-oas", + "version": "1.0.34", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/campaigns-oas/campaigns-oas-1.0.36/.metadata.json b/apis/campaigns-oas/campaigns-oas-1.0.36/.metadata.json new file mode 100644 index 00000000..e2bdfc1f --- /dev/null +++ b/apis/campaigns-oas/campaigns-oas-1.0.36/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/campaigns-oas/1.0.36", + "name": "Campaigns OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "campaigns-oas", + "version": "1.0.36", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/campaigns-oas/campaigns-oas-1.0.36/campaigns-oas-v1-internal.yaml b/apis/campaigns-oas/campaigns-oas-1.0.36/campaigns-oas-v1-internal.yaml new file mode 100644 index 00000000..07ade22c --- /dev/null +++ b/apis/campaigns-oas/campaigns-oas-1.0.36/campaigns-oas-v1-internal.yaml @@ -0,0 +1,1067 @@ +openapi: 3.0.3 +info: + title: Campaigns + version: v1 + description: |- + # API Overview + + Campaigns enable experiences based on an optional schedule and qualifying criteria. + + When an experience is assigned to a campaign, the schedule and qualifiers can only refine the containing campaign. A campaign is defined in the context of a site and is not shared among sites. A campaign can be enabled or disabled. A disabled campaign is inactive and not available to consumers. Enabled promotions contained within a disabled campaign are also inactive. + + ## Qualifiers + + Qualifiers are requirements that must be met to enable a campaign's experience. + + - Schedule: A start and end time and date. This can be open ended at one or both ends. + - Coupon: A coupon + - Customer Group: Membership in a customer group. + - Source Code: A code attached to the site URL that identifies where the customer was redirected from. + + For more details, see [Qualifiers](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_qualifiers.html) on the Salesforce B2C Commerce Infocenter. + + ## Experiences + + Promotion: A monetary discount or bonus item. Promotions can have additional criteria such as quantity or number of products gating the discount. + + ## Authentication & Authorization + + The client requesting the campaign information must have access to the Campaign resource. For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request. The client must first authenticate against Account Manager to log in. + + You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + For detailed setup instructions, see [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html). + + ## Use Cases + + ### Flash Sales + + Use single date promotions when you want to run a campaign for a short period of time. + + For example, a '20% Off Black Friday' campaign enables a 20% off promotion for registered customers on Black Friday. + + ### No Date or Time Restrictions + + You can also configure promotions with no time or date restrictions. This is useful when running coupon-coded promotions, or qualifier-based promotions that require certain criteria to be met. + + For example, a 'Free Shipping' campaign enables a free shipping promotion when the coupon code "freeship" is added to the cart. + + ### Redirections + + Use redirection promotions to trigger a promotion when a customer arrives at the storefront from a specific location. You may want to use this when partnering with other resources or running external advertisements. + + For example, all users directed from Facebook receive a free hat with purchase. + + For more information, see [Use Source Codes as Qualifiers](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_using_source_codesas_qualifiers.html) in the Salesforce B2C Commerce Infocenter. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/campaigns/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/campaigns: + post: + summary: Search for campaigns using a search request object that allows filtering on various attributes. + description: |- + ## Supported Query Attributes + + The query attribute specifies a complex query that you can use to narrow down the search. A subset of these attributes can optionally be used to sort the returned results. + + | Attribute | Type | Sortable | + |-----------|--------|----------| + | campaignId | String | yes | + | description | String | yes | + | enabled | Boolean | yes | + | couponId | String | no | + | customerGroup | String | no | + | sourceCode | String | no | + | startDate | Date | no | + | endDate | Date | no | + | lastModified | Date | no | + + These fields can only be used in queries as conjunctions (using `AND`). If the field is used in a disjunction (`OR`), an exception is thrown. + operationId: campaignsSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + responses: + '200': + description: Campaign search successfully executed. + content: + application/json: + schema: + $ref: '#/components/schemas/CampaignSearchResult' + examples: + CampaignSearchResult: + $ref: '#/components/examples/PostCampaignSearch' + '400': + description: Thrown when the query is ill-formed. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidOperation: + $ref: '#/components/examples/InvalidOperation' + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + /organizations/{organizationId}/campaigns/{campaignId}: + get: + summary: Get campaign information. + operationId: getCampaign + parameters: + - $ref: '#/components/parameters/campaignId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Campaign information successfully retrieved. + content: + application/json: + schema: + $ref: '#/components/schemas/Campaign' + examples: + GetCampaign: + $ref: '#/components/examples/GetCampaign' + '404': + description: Thrown when there is no campaign found with the given ID for the requested site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCampaign404: + $ref: '#/components/examples/CampaignNotFound404' + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + put: + summary: Create a campaign using the information provided. + operationId: createCampaign + parameters: + - $ref: '#/components/parameters/campaignId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + PutCampaign: + $ref: '#/components/examples/PutCampaign' + schema: + $ref: '#/components/schemas/Campaign' + responses: + '200': + description: Campaign successfully created. + content: + application/json: + schema: + $ref: '#/components/schemas/Campaign' + examples: + GetCampaign: + $ref: '#/components/examples/PutCampaign' + '400': + description: Thrown when the ID in the request does not match the ID in the document. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdConflict400: + $ref: '#/components/examples/IdConflict400' + security: + - AmOAuth2: + - sfcc.promotions.rw + delete: + summary: Deletes a campaign with a specified ID. + operationId: deleteCampaign + parameters: + - $ref: '#/components/parameters/campaignId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: Campaign deleted successfully. + security: + - AmOAuth2: + - sfcc.promotions.rw + patch: + summary: Update a campaign with the specified information. + operationId: updateCampaign + parameters: + - $ref: '#/components/parameters/campaignId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + PatchCampaign: + $ref: '#/components/examples/PatchCampaign' + schema: + $ref: '#/components/schemas/Campaign' + responses: + '200': + description: Campaign successfully updated. + content: + application/json: + schema: + $ref: '#/components/schemas/Campaign' + examples: + PutCampaign: + $ref: '#/components/examples/PutCampaign' + '400': + description: Thrown when a campaign with the specified campaign ID already exists in the site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + updateCampaign400: + $ref: '#/components/examples/CampaignDuplicate400' + '404': + description: Thrown when there is no campaign found with the specified ID for the requested site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCampaign404: + $ref: '#/components/examples/CampaignNotFound404' + security: + - AmOAuth2: + - sfcc.promotions.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + CampaignId: + minLength: 1 + maxLength: 256 + description: The ID of the campaign. + type: string + example: NewYearCampaign + Campaign: + description: Document representing a campaign. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + campaignId: + $ref: '#/components/schemas/CampaignId' + coupons: + description: The array of assigned coupon IDs, not sorted. + type: array + items: + type: string + example: + - 20%offOrder + - 10%offWelcomeNewUser + creationDate: + description: Returns the value of attribute 'creationDate'. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + customerGroups: + description: The array of assigned customer groups, not sorted. + type: array + items: + type: string + example: + - BigShoppers + - NorthAmericanShoppers + description: + maxLength: 4000 + description: The description of the campaign. + type: string + enabled: + description: The enabled flag for campaign. + type: boolean + example: true + endDate: + description: The date the scenario ends. + type: string + format: date-time + lastModified: + description: Returns the value of attribute 'lastModified'. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + sourceCodeGroups: + description: The array of assigned source code groups, not sorted. + type: array + items: + type: string + example: + - affiliate-email + - gaming-email + startDate: + description: The date the scenario begins. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + type: object + CampaignSearchResult: + description: Document representing a campaign search result. + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + description: The sorted array of campaign search hits. Can be empty. + type: array + items: + $ref: '#/components/schemas/Campaign' + type: object + required: + - hits + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + campaignId: + name: campaignId + in: path + description: The ID of the campaign. + required: true + schema: + minLength: 1 + type: string + allOf: + - $ref: '#/components/schemas/CampaignId' + examples: + PostCampaignSearch: + value: + limit: 2 + hits: + - campaignId: mens-clothing-dress-shirts + creationDate: '2019-11-06T21:12:35.000Z' + customerGroups: + - Everyone + description: This a campaign for the Mens Dress Shirts Category offering a specific banner as well as a 20% off dress shirts promotion, and a custom sort rule of product name ascending + enabled: false + lastModified: '2019-11-06T21:12:35.000Z' + - campaignId: mens-clothing-suits + creationDate: '2019-11-06T21:12:35.000Z' + customerGroups: + - Everyone + description: This is a campaign that displays a landing banner, with a 25% discount on all suits and default sorting rule of top selling suits. + enabled: false + lastModified: '2019-11-06T21:12:35.000Z' + query: + textQuery: + fields: + - id + - description + searchPhrase: campaign + offset: 1 + total: 4 + InvalidOperation: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation + detail: 'Failed to execute search query: wrong syntax.' + title: Incorrect Syntax + GetCampaign: + value: + campaignId: NewYearCampaign + coupons: + - 20%offOrdersAbove100 + - 10%offties + creationDate: '2019-10-03T19:36:56.000Z' + customerGroups: + - Registered + description: Campaign for the New Year + enabled: true + endDate: '2020-07-31T23:09:08.000Z' + lastModified: '2019-10-10T14:27:00.867Z' + sourceCodeGroups: + - affiliate-email + - gaming-email + startDate: '2019-04-01T11:30:15.000Z' + CampaignNotFound404: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/campaign-not-found + detail: No campaign with ID 'SpecialCampaign' in site 'SiteGenesis' could be found. + title: Not Found Error + PutCampaign: + value: + campaignId: NewWinterCampaign + coupons: + - WinterSpecial + creationDate: '2019-10-03T19:36:56.000Z' + customerGroups: + - Registered + description: Campaign for winter specials + enabled: true + endDate: '2020-07-31T23:09:08.000Z' + lastModified: '2019-10-10T14:52:47.356Z' + startDate: '2019-04-01T11:30:15.000Z' + IdConflict400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/id-conflict + detail: The ID in the request body ('CampaignXYZ') doesn't match the ID in the URL ('NewWinterCampaign') + title: Duplicate Error + PatchCampaign: + value: + description: Thanksgiving campaign enabling special promotions + enabled: true + coupons: + - thanksgiving + - special + CampaignDuplicate400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/campaign-duplicate + detail: The campaign couldn't be created because of duplicate ID 'CampaignXYZ'. + title: Duplicate Error diff --git a/apis/campaigns-oas/campaigns-oas-1.0.36/campaigns-oas-v1-public.yaml b/apis/campaigns-oas/campaigns-oas-1.0.36/campaigns-oas-v1-public.yaml new file mode 100644 index 00000000..07ade22c --- /dev/null +++ b/apis/campaigns-oas/campaigns-oas-1.0.36/campaigns-oas-v1-public.yaml @@ -0,0 +1,1067 @@ +openapi: 3.0.3 +info: + title: Campaigns + version: v1 + description: |- + # API Overview + + Campaigns enable experiences based on an optional schedule and qualifying criteria. + + When an experience is assigned to a campaign, the schedule and qualifiers can only refine the containing campaign. A campaign is defined in the context of a site and is not shared among sites. A campaign can be enabled or disabled. A disabled campaign is inactive and not available to consumers. Enabled promotions contained within a disabled campaign are also inactive. + + ## Qualifiers + + Qualifiers are requirements that must be met to enable a campaign's experience. + + - Schedule: A start and end time and date. This can be open ended at one or both ends. + - Coupon: A coupon + - Customer Group: Membership in a customer group. + - Source Code: A code attached to the site URL that identifies where the customer was redirected from. + + For more details, see [Qualifiers](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_qualifiers.html) on the Salesforce B2C Commerce Infocenter. + + ## Experiences + + Promotion: A monetary discount or bonus item. Promotions can have additional criteria such as quantity or number of products gating the discount. + + ## Authentication & Authorization + + The client requesting the campaign information must have access to the Campaign resource. For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request. The client must first authenticate against Account Manager to log in. + + You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + For detailed setup instructions, see [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html). + + ## Use Cases + + ### Flash Sales + + Use single date promotions when you want to run a campaign for a short period of time. + + For example, a '20% Off Black Friday' campaign enables a 20% off promotion for registered customers on Black Friday. + + ### No Date or Time Restrictions + + You can also configure promotions with no time or date restrictions. This is useful when running coupon-coded promotions, or qualifier-based promotions that require certain criteria to be met. + + For example, a 'Free Shipping' campaign enables a free shipping promotion when the coupon code "freeship" is added to the cart. + + ### Redirections + + Use redirection promotions to trigger a promotion when a customer arrives at the storefront from a specific location. You may want to use this when partnering with other resources or running external advertisements. + + For example, all users directed from Facebook receive a free hat with purchase. + + For more information, see [Use Source Codes as Qualifiers](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_using_source_codesas_qualifiers.html) in the Salesforce B2C Commerce Infocenter. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/campaigns/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/campaigns: + post: + summary: Search for campaigns using a search request object that allows filtering on various attributes. + description: |- + ## Supported Query Attributes + + The query attribute specifies a complex query that you can use to narrow down the search. A subset of these attributes can optionally be used to sort the returned results. + + | Attribute | Type | Sortable | + |-----------|--------|----------| + | campaignId | String | yes | + | description | String | yes | + | enabled | Boolean | yes | + | couponId | String | no | + | customerGroup | String | no | + | sourceCode | String | no | + | startDate | Date | no | + | endDate | Date | no | + | lastModified | Date | no | + + These fields can only be used in queries as conjunctions (using `AND`). If the field is used in a disjunction (`OR`), an exception is thrown. + operationId: campaignsSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + responses: + '200': + description: Campaign search successfully executed. + content: + application/json: + schema: + $ref: '#/components/schemas/CampaignSearchResult' + examples: + CampaignSearchResult: + $ref: '#/components/examples/PostCampaignSearch' + '400': + description: Thrown when the query is ill-formed. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidOperation: + $ref: '#/components/examples/InvalidOperation' + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + /organizations/{organizationId}/campaigns/{campaignId}: + get: + summary: Get campaign information. + operationId: getCampaign + parameters: + - $ref: '#/components/parameters/campaignId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Campaign information successfully retrieved. + content: + application/json: + schema: + $ref: '#/components/schemas/Campaign' + examples: + GetCampaign: + $ref: '#/components/examples/GetCampaign' + '404': + description: Thrown when there is no campaign found with the given ID for the requested site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCampaign404: + $ref: '#/components/examples/CampaignNotFound404' + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + put: + summary: Create a campaign using the information provided. + operationId: createCampaign + parameters: + - $ref: '#/components/parameters/campaignId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + PutCampaign: + $ref: '#/components/examples/PutCampaign' + schema: + $ref: '#/components/schemas/Campaign' + responses: + '200': + description: Campaign successfully created. + content: + application/json: + schema: + $ref: '#/components/schemas/Campaign' + examples: + GetCampaign: + $ref: '#/components/examples/PutCampaign' + '400': + description: Thrown when the ID in the request does not match the ID in the document. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdConflict400: + $ref: '#/components/examples/IdConflict400' + security: + - AmOAuth2: + - sfcc.promotions.rw + delete: + summary: Deletes a campaign with a specified ID. + operationId: deleteCampaign + parameters: + - $ref: '#/components/parameters/campaignId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: Campaign deleted successfully. + security: + - AmOAuth2: + - sfcc.promotions.rw + patch: + summary: Update a campaign with the specified information. + operationId: updateCampaign + parameters: + - $ref: '#/components/parameters/campaignId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + PatchCampaign: + $ref: '#/components/examples/PatchCampaign' + schema: + $ref: '#/components/schemas/Campaign' + responses: + '200': + description: Campaign successfully updated. + content: + application/json: + schema: + $ref: '#/components/schemas/Campaign' + examples: + PutCampaign: + $ref: '#/components/examples/PutCampaign' + '400': + description: Thrown when a campaign with the specified campaign ID already exists in the site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + updateCampaign400: + $ref: '#/components/examples/CampaignDuplicate400' + '404': + description: Thrown when there is no campaign found with the specified ID for the requested site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCampaign404: + $ref: '#/components/examples/CampaignNotFound404' + security: + - AmOAuth2: + - sfcc.promotions.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + CampaignId: + minLength: 1 + maxLength: 256 + description: The ID of the campaign. + type: string + example: NewYearCampaign + Campaign: + description: Document representing a campaign. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + campaignId: + $ref: '#/components/schemas/CampaignId' + coupons: + description: The array of assigned coupon IDs, not sorted. + type: array + items: + type: string + example: + - 20%offOrder + - 10%offWelcomeNewUser + creationDate: + description: Returns the value of attribute 'creationDate'. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + customerGroups: + description: The array of assigned customer groups, not sorted. + type: array + items: + type: string + example: + - BigShoppers + - NorthAmericanShoppers + description: + maxLength: 4000 + description: The description of the campaign. + type: string + enabled: + description: The enabled flag for campaign. + type: boolean + example: true + endDate: + description: The date the scenario ends. + type: string + format: date-time + lastModified: + description: Returns the value of attribute 'lastModified'. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + sourceCodeGroups: + description: The array of assigned source code groups, not sorted. + type: array + items: + type: string + example: + - affiliate-email + - gaming-email + startDate: + description: The date the scenario begins. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + type: object + CampaignSearchResult: + description: Document representing a campaign search result. + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + description: The sorted array of campaign search hits. Can be empty. + type: array + items: + $ref: '#/components/schemas/Campaign' + type: object + required: + - hits + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + campaignId: + name: campaignId + in: path + description: The ID of the campaign. + required: true + schema: + minLength: 1 + type: string + allOf: + - $ref: '#/components/schemas/CampaignId' + examples: + PostCampaignSearch: + value: + limit: 2 + hits: + - campaignId: mens-clothing-dress-shirts + creationDate: '2019-11-06T21:12:35.000Z' + customerGroups: + - Everyone + description: This a campaign for the Mens Dress Shirts Category offering a specific banner as well as a 20% off dress shirts promotion, and a custom sort rule of product name ascending + enabled: false + lastModified: '2019-11-06T21:12:35.000Z' + - campaignId: mens-clothing-suits + creationDate: '2019-11-06T21:12:35.000Z' + customerGroups: + - Everyone + description: This is a campaign that displays a landing banner, with a 25% discount on all suits and default sorting rule of top selling suits. + enabled: false + lastModified: '2019-11-06T21:12:35.000Z' + query: + textQuery: + fields: + - id + - description + searchPhrase: campaign + offset: 1 + total: 4 + InvalidOperation: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation + detail: 'Failed to execute search query: wrong syntax.' + title: Incorrect Syntax + GetCampaign: + value: + campaignId: NewYearCampaign + coupons: + - 20%offOrdersAbove100 + - 10%offties + creationDate: '2019-10-03T19:36:56.000Z' + customerGroups: + - Registered + description: Campaign for the New Year + enabled: true + endDate: '2020-07-31T23:09:08.000Z' + lastModified: '2019-10-10T14:27:00.867Z' + sourceCodeGroups: + - affiliate-email + - gaming-email + startDate: '2019-04-01T11:30:15.000Z' + CampaignNotFound404: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/campaign-not-found + detail: No campaign with ID 'SpecialCampaign' in site 'SiteGenesis' could be found. + title: Not Found Error + PutCampaign: + value: + campaignId: NewWinterCampaign + coupons: + - WinterSpecial + creationDate: '2019-10-03T19:36:56.000Z' + customerGroups: + - Registered + description: Campaign for winter specials + enabled: true + endDate: '2020-07-31T23:09:08.000Z' + lastModified: '2019-10-10T14:52:47.356Z' + startDate: '2019-04-01T11:30:15.000Z' + IdConflict400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/id-conflict + detail: The ID in the request body ('CampaignXYZ') doesn't match the ID in the URL ('NewWinterCampaign') + title: Duplicate Error + PatchCampaign: + value: + description: Thanksgiving campaign enabling special promotions + enabled: true + coupons: + - thanksgiving + - special + CampaignDuplicate400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/campaign-duplicate + detail: The campaign couldn't be created because of duplicate ID 'CampaignXYZ'. + title: Duplicate Error diff --git a/apis/campaigns-oas/campaigns-oas-1.0.36/exchange.json b/apis/campaigns-oas/campaigns-oas-1.0.36/exchange.json new file mode 100644 index 00000000..188f7449 --- /dev/null +++ b/apis/campaigns-oas/campaigns-oas-1.0.36/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "campaigns-oas-v1-public.yaml", + "name": "Campaigns OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "campaigns-oas", + "version": "1.0.36", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/catalogs-oas/catalogs-oas-1.0.39/.metadata.json b/apis/catalogs-oas/catalogs-oas-1.0.39/.metadata.json new file mode 100644 index 00000000..2cfef8b5 --- /dev/null +++ b/apis/catalogs-oas/catalogs-oas-1.0.39/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/catalogs-oas/1.0.39", + "name": "Catalogs OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "catalogs-oas", + "version": "1.0.39", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/catalogs-oas/catalogs-oas-1.0.39/catalogs-oas-v1-internal.yaml b/apis/catalogs-oas/catalogs-oas-1.0.39/catalogs-oas-v1-internal.yaml new file mode 100644 index 00000000..4b2799e5 --- /dev/null +++ b/apis/catalogs-oas/catalogs-oas-1.0.39/catalogs-oas-v1-internal.yaml @@ -0,0 +1,4778 @@ +openapi: 3.0.3 +info: + title: Catalogs + version: v1 + description: |- + # API Overview + + With the Catalogs API, you can: + + - Create, view, edit, and delete catalogs and categories. + - Assign and unassign products to categories. + - Search for a product within a category. + - Search for categories within a catalog or within a merchandising system. + + For more information, see the [Catalogs](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Catalogs/Catalogs.html) and [Categories](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Catalogs/Categories.html) sections of the Salesforce B2C Commerce Infocenter. + + ## Authentication & Authorization + + The client managing catalog and category information must have access to the Categories and Catalogs resources. This API requires a bearer token in the header of the request. The client accessing the API must first authenticate against Account Manager to get the bearer token. + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + Here are some common use cases for the API: + + ### Categorize Products + + Use the Catalogs API to assign products to categories so that shoppers can find all products that are merchandized in that category. + + ![b2c-commerce-catalogs-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-catalogs-screenshot-1.png) + + ### Validate Product Category Assignments + + Use the Catalogs API to search for products assigned to a category within a site catalog to validate whether a product is merchandized and ready to be sold in one or more ecommerce channels. You can also update a product to make sure it meets the readiness criteria for each channel. + + ![b2c-commerce-catalogs-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-catalogs-screenshot-2.png) + + ### Edit Categories + + Use the Catalogs API to edit categories assigned to a catalog to change the navigation path, make a category online or offline, change position of a category relative to other categories within a catalog. + + ![b2c-commerce-catalogs-screenshot-3.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-catalogs-screenshot-3.png) + + ## Resources + + A Salesforce B2C Commerce storefront implementation uses a Catalog, Category, and Product architecture to organize your storefront. Product data is stored in a catalog, and the stored product data is organized by categories. You can create any number of catalog, category, and product scenarios to address your business needs. + + ### Catalogs + + A catalog is a collection of categories, products, and images. It’s best practice to create two catalogs: the master catalog and the storefront catalog. The master catalog provides the same structure as an external system of record for your products. The storefront catalog is where you create categories that appear on your storefront. + + ### Categories + + You create and organize categories and subcategories to organize and group products in your catalog and on your storefront. Categories allow Products to be organized into hierarchical structures. Categories can have relationships to other parent categories. Each category also can provide a context that is inherited by subcategories, for example a category may have an attribute value assigned to it and any product assigned to the category or a subcategory would inherit the attribute value as long as the product is assigned. Once the product is removed from the category those attribute values would no longer be in the context of the product. + + ### Products + + Products are the items and services for sale on the storefront. All of your product data is stored in your master catalog. For a product or service to show on your storefront, it must be assigned to a category. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/product/catalogs/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/catalogs: + get: + summary: Retrieve a list of catalog IDs. + description: Get the list of catalog IDs with no filtering. + operationId: getCatalogs + parameters: + - $ref: '#/components/parameters/organizationId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Catalogs retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Catalogs' + examples: + Catalogs: + $ref: '#/components/examples/Catalogs' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}: + get: + summary: Retrieve details of a specific catalog. + description: Gets the catalog with the specified information. + operationId: getCatalog + parameters: + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Catalog retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Catalog' + examples: + Catalog: + $ref: '#/components/examples/Catalog' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + patch: + summary: Update details of a specific catalog. + description: Update the catalog with the specified information. + operationId: updateCatalog + parameters: + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Catalog' + examples: + CatalogBody: + $ref: '#/components/examples/CatalogBody' + required: true + responses: + '200': + description: Catalog updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Catalog' + examples: + Catalog: + $ref: '#/components/examples/Catalog' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories: + get: + summary: Retrieve all categories within a catalog. + description: Get all categories with no filtering. + operationId: getCategoriesFromCatalog + parameters: + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Categories retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Categories' + examples: + Catalog: + $ref: '#/components/examples/Categories' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}: + get: + summary: Retrieve details of a specific category within a catalog. + description: |- + By default, the server + returns the first level of sub-categories, but you can specify another level by setting the levels + parameter. Using a large value for levels can cause performance + issues with large and deep category trees. + operationId: getCategoryFromCatalog + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/levels' + responses: + '200': + description: Category retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Category' + examples: + CategoryExample: + $ref: '#/components/examples/CategoryExample' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + put: + summary: Create or update a category within a catalog. + description: Create a catalog category using the information provided. + operationId: createCategoryInCatalog + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Category' + examples: + CategoryBody: + $ref: '#/components/examples/CategoryBody' + required: true + responses: + '200': + description: Category updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Category' + examples: + SingleCategory: + $ref: '#/components/examples/SingleCategory' + '201': + description: Category created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Category' + examples: + SingleCategory: + $ref: '#/components/examples/SingleCategory' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + delete: + summary: Delete a specific category from a catalog. + description: Delete a category by catalog ID and category ID. + operationId: deleteCategoryFromCatalog + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Category deleted successfully. + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + patch: + summary: Update a specific category within a catalog. + description: Update a catalog category using the information provided. + operationId: updateCategoryInCatalog + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Category' + examples: + CategoryBody: + $ref: '#/components/examples/CategoryBody' + required: true + responses: + '200': + description: Category updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Category' + examples: + SingleCategory: + $ref: '#/components/examples/SingleCategory' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/category-product-assignment-search: + post: + summary: Search for category product assignments. + description: |- + The query attribute specifies a complex query that can be used to narrow down the search. + + Searchable attributes: + + | Attribute | Type | + |-----------|--------| + | productId| String | + | productName | String | + | onlineFlag | Boolean | + | searchable | Boolean | + | validFrom | DateTime | + | validTo | DateTime | + | creationDate | DateTime | + + + Sortable Fields: + + | Attribute | Type | + |-----------|--------| + | productId| String | + | productName | String | + | position | Double | + | creationDate | DateTime | + + Expansions that can be applied for the search request: + - product_base - String + + The product_base expand enables retrieval of the following basic product information: + + | Attribute | Type | Function | + |-----------|--------|-----| + | none | String | Does not fetch any expanded information. + | product_images| String | Fetch preview image and image groups specified for the given product. | + | product_all_images | String | Fetch preview image, image groups specified for the product, and variant and variation group images. | + | product_variations | String | Fetch variations-related information. | + | product_availability | String | Fetch availability-related information. | + | product_categories | String | Fetch category-related information. | + | product_prices | String | Fetch price-related information. | + | product_options | String | Fetch options-related information. | + | product_all | String | Fetch all expanded information. This is the default used when no expand value is included in the request.| + + Note: productAll includes the following: + - brand + - ean + - link + - longDescription + - manufacturerName + - manufacturerSku + - name + - pageDescription + - pageKeywords + - pageTitle + - searchable + - shortDescription + - type + - unit + - upc + operationId: searchProductsAssignedToCategory + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignmentSearchRequest' + examples: + ProductAssignmentBody: + $ref: '#/components/examples/ProductAssignmentBody' + required: true + responses: + '200': + description: Assignments searched successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignmentSearchResult' + examples: + CategoryProductAssignment: + $ref: '#/components/examples/CategoryProductAssignment' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/products/{productId}: + get: + summary: Retrieve a category product assignment. + description: |- + Retrieve a category product assignment. + + + For example, if we have products A, B, C at positions 1, 2, 7.5, and we delete the assignment for product B, + the result is products A, B, C at positions 1, null, 7.5. + operationId: getAssignedProductFromCategory + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Assignment retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignment' + examples: + CatalogCategoryPrdAssignmentExample: + $ref: '#/components/examples/CatalogCategoryPrdAssignmentExample' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + put: + summary: Create a category product assignment. + description: |- + Create a category product assignment using the information provided. + + Because the assigned position n is a normalized target position, we verify that the product is assigned + to a position that maintains the position order. + + For example, if we have products A, B, C at positions 1, 2, 3, and product D is assigned to + position 2, the end result is products A, D, B, C with position order 1, 2, 3, 4. + + If there are n existing position assignments, assigning a new product to position >= n+1 results in + a new assignment with position n+1. + operationId: assignProductToCategory + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignment' + examples: + CatalogCategoryProdAssignmentBody: + $ref: '#/components/examples/CatalogCategoryProdAssignmentBody' + required: true + responses: + '200': + description: Assignment updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignment' + examples: + CatalogCategoryPrdAssignmentExample: + $ref: '#/components/examples/CatalogCategoryPrdAssignmentExample' + '201': + description: Assignment created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignment' + examples: + CatalogCategoryPrdAssignmentExample: + $ref: '#/components/examples/CatalogCategoryPrdAssignmentExample' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + delete: + summary: Remove a category product assignment. + description: |- + Remove a category product assignment. + + + For example, if we have products A, B, C at positions 1, 2, 7.5, and we delete the assignment for product B, + the result is products A, B, C at positions 1, null, 7.5. + operationId: unassignProductFromCategory + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Assignment deleted successfully. + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + patch: + summary: Update a category product assignment. + description: |- + Update the category product assignment with the specified information, such as position. + Because the assigned position n is a normalized target position, we verify that the product is assigned + to a position that maintains position order. + + For example, if we have products A, B, C, D at positions 1, 2, 3, 4 and we update product A with a new position of 3, + the end result is products B, C, A, D with position order 1, 2, 3, 4. If we then update product C to no position, + the end result is products B, A, D, C with position order 1, 2, 3, null. + + If there are n existing positioned assignments, updating a product to position >= n results in a new assignment with a position that maintains the position order. + operationId: updateProductCategoryAssignment + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignment' + examples: + CatalogCategoryProdAssignmentBody: + $ref: '#/components/examples/CatalogCategoryProdAssignmentBody' + required: true + responses: + '200': + description: Assignment updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignment' + examples: + CatalogCategoryPrdAssignmentExample: + $ref: '#/components/examples/CatalogCategoryPrdAssignmentExample' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/rules-execution: + get: + summary: Get the status of the latest categorization job. + description: Get the status of the latest categorization job, which could be evaluation or execution. For evaluation, the matched count and a paginated list of product IDs are returned. For execution, the counts of the products that are assigned or unassigned are returned. + operationId: getCategorizationStatus + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: Job executed status returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ExecutionJobStatusResult' + examples: + ExecutionJobStatusResponse: + $ref: '#/components/examples/ExecutionJobStatusResponse' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategorizationStatus404: + $ref: '#/components/examples/getCategorizationStatus404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + post: + summary: Submit a job to evaluate or execute the rules. + description: Submit a job to evaluate or execute the rules. The evaluation returns a set of matching products based on the rules and conditions. The execution categorizes the products based on the evaluated results. + operationId: runCategoryRules + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ExecutionRequest' + examples: + ExecutionRequestBody: + $ref: '#/components/examples/ExecutionRequestBody' + required: true + responses: + '202': + description: Job submitted successfully. + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/excluded-products: + get: + summary: Get the list of excluded products. + description: Get the list of excluded products for a given catalog and category. + operationId: getExclusionList + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Excluded products retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ExcludedProductsResult' + examples: + GetExcludedProducts: + $ref: '#/components/examples/GetExcludedProducts' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + post: + summary: Add products to the exclusion list. + description: Add the product to the excluded product list for a given catalog and category. After a product is added as an excluded product for the category, the categorization process no longer categorizes that product for that category. + operationId: addProductsToExclusionList + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ExcludedProductRequest' + examples: + ExcludedProductsRequestBody: + $ref: '#/components/examples/ExcludedProductsRequestBody' + required: true + responses: + '200': + description: Excluded products list added for a catalog category. + content: + application/json: + schema: + $ref: '#/components/schemas/ExcludedProductsResult' + examples: + GetExcludedProducts: + $ref: '#/components/examples/GetExcludedProducts' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + delete: + summary: Remove products from the exclusion list. + description: Delete products from the excluded products list for a catalog category. + operationId: removeProductsFromExclusionList + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ExcludedProductRequest' + examples: + ExcludedProductsRequestBody: + $ref: '#/components/examples/ExcludedProductsRequestBody' + required: true + responses: + '204': + description: No content. + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getRuleById404: + $ref: '#/components/examples/getRuleById404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/rules: + get: + summary: Retrieve all rules for a catalog and category. + description: Get all rules for the given catalog and category. + operationId: getCategoryRules + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Rules retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/RulesResult' + examples: + GetRules: + $ref: '#/components/examples/GetRules' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + post: + summary: Create rules and conditions for a catalog and category. + description: Create all rules and conditions within the catalog and category. This deletes any existing rules and conditions for that catalog and category combination, and recreates them based on the new request. The LocaleID, PrimaryFlag, and ClassificationFlag can be set on any of the individual rules, but they apply to the entire ruleset. For simplicity, those values can be provided with one of the rules. If they are provided with multiple rules, then they must all have the same value for all rules or it could produce undesired effects. + operationId: createCategoryRules + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RulesRequest' + examples: + PostRuleRequestBody: + $ref: '#/components/examples/PostRuleRequestBody' + required: true + responses: + '200': + description: Rules created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/RulesResult' + examples: + GetRules: + $ref: '#/components/examples/GetRules' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + delete: + summary: Delete all rules and conditions for a catalog and category. + description: Delete all rules and conditions for the given catalog and category. + operationId: deleteCategoryRules + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: No content. + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getRuleById404: + $ref: '#/components/examples/getRuleById404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/rules/{ruleId}: + get: + summary: Retrieve a rule by ID. + description: Get a rule by ID. + operationId: getRuleById + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Rule retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/Rule' + examples: + GetRulesByID: + $ref: '#/components/examples/GetRulesByID' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getRuleById404: + $ref: '#/components/examples/getRuleById404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + put: + summary: Create or update a rule. + description: Create or update a rule. + operationId: createUpdateRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RuleRequest' + examples: + PutRuleRequestBody: + $ref: '#/components/examples/PutRuleRequestBody' + required: true + responses: + '200': + description: Rule updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Rule' + examples: + PutRuleRequestBody: + $ref: '#/components/examples/PutRuleUpdateResult' + '201': + description: Rule created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Rule' + examples: + PutRuleRequestBody: + $ref: '#/components/examples/PutRuleUpdateResult' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + delete: + summary: Delete a rule. + description: Delete a rule. + operationId: deleteRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: No content. + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getRuleById404: + $ref: '#/components/examples/getRuleById404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/rules/{ruleId}/conditions: + get: + summary: Retrieve conditions for a rule. + description: Get the conditions for a given rule, catalog and category. + operationId: getCategoryRuleConditions + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Conditions retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ConditionsResult' + examples: + GetConditions: + $ref: '#/components/examples/GetConditions' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + delete: + summary: Delete all conditions for a rule. + description: Deletes all conditions for a given rule, catalog, and category. + operationId: deleteCategoryRuleConditions + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: No content. + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getRuleById404: + $ref: '#/components/examples/getRuleById404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/rules/{ruleId}/conditions/{conditionId}: + get: + summary: Retrieve a condition by ID. + description: Get a condition by ID. + operationId: getCategoryRuleCondition + parameters: + - $ref: '#/components/parameters/conditionId' + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Condition retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Condition' + examples: + GetConditionByID: + $ref: '#/components/examples/GetConditionByID' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + put: + summary: Create or update a condition. + description: Create or update a condition. + operationId: createOrUpdateCategoryRuleCondition + parameters: + - $ref: '#/components/parameters/conditionId' + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Condition' + examples: + PutConditionRequestBody: + $ref: '#/components/examples/PutConditionRequestBody' + required: true + responses: + '200': + description: Condition updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Condition' + examples: + GetConditionByID: + $ref: '#/components/examples/GetConditionByID' + '201': + description: Condition created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Condition' + examples: + GetConditionByID: + $ref: '#/components/examples/GetConditionByID' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + delete: + summary: Delete a condition. + description: Delete a condition. + operationId: deleteCategoryRuleCondition + parameters: + - $ref: '#/components/parameters/conditionId' + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: No content. + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getRuleById404: + $ref: '#/components/examples/getRuleById404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/category-search: + post: + summary: Search for catalog categories. + description: |- + Search for catalog categories in the scope of a catalog. + By default, the server returns the first level of subcategories, + but you can specify another level by setting the levels parameter. + Using a large value for levels can cause performance + issues with large and deep category trees. + + The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: + + | Attribute | Type | + |-----------|--------| + |id | String | + |name | String | + |description | String | + |creationDate | DateTime | + |online | Boolean | + |parentCategoryId | String| + + + The output of the query can also be sorted with the following sortable attributes: + + | Attribute | Type | + |-----------|--------| + |id | String | + |name | String | + |description | String | + |creationDate | DateTime | + |online | Boolean | + |position | Double| + operationId: searchCategoriesInCatalog + parameters: + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/levels' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CatalogCategorySearchRequest' + examples: + CatalogSearchBody: + $ref: '#/components/examples/CatalogSearchBody' + required: true + responses: + '200': + description: Categories searched successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategorySearchResult' + examples: + CategorySearchResultExample: + $ref: '#/components/examples/CategorySearchResultExample' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + /organizations/{organizationId}/catalog-search: + post: + summary: Search for catalogs. + description: |- + Search for catalogs. + + The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: + + | Attribute | Type | + |-----------|--------| + |id | String | + |name | String | + |description | String | + |creationDate | DateTime | + + There are two additional fields that can be used as search filters. They are not attributes in the CatalogWO object, + but they can be used as filters to query catalogs based on site assignments. + + | Attribute | Type | + |-----------|--------| + |isMasterCatalog | Boolean | + |isStorefrontCatalog | Boolean | + |description | String | + |creationDate | DateTime | + |online | Boolean | + |position | Double| + + + When you use isMasterCatalog in the search query, catalogs without any site assignments are returned. + When you use isStorefrontCatalog in the search query, catalogs with one or more site assignments are returned. + + The output of the query can also be sorted with the following sortable attributes: + + | Attribute | Type | + |-----------|--------| + |id | String | + |name | String | + |description | String | + |creationDate | DateTime | + operationId: searchCatalogs + parameters: + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CatalogSearchRequest' + examples: + CatalogSearchBodyQuery: + $ref: '#/components/examples/CatalogSearchBodyQuery' + required: true + responses: + '200': + description: Catalogs searched successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CatalogSearchResult' + examples: + CatalogSearchResultQuery: + $ref: '#/components/examples/CatalogSearchResultQuery' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + /organizations/{organizationId}/category-search: + post: + summary: Search for categories within an organization. + description: "Search for catalog categories.\nBy default, the server returns the first level of subcategories,\nbut you can specify another level by setting the levels parameter.\nUsing a large value for levels can cause performance\nissues with large and deep category trees.\n\nThe query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes:\n\n| Attribute | Type |\n|-----------|--------|\n|id | String |\n|name | String |\n|description | String |\n|creationDate | DateTime |\n|online | Boolean |\n|catalogId | String| \n\nThe output of the query can also be sorted with the following sortable attributes:\n\n| Attribute | Type |\n|-----------|--------|\n|id | String |\n|name | String |\n|description | String |\n|creationDate | DateTime |\n|online | Boolean |\n|position | Double|" + operationId: searchCategories + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/levels' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CategorySearchRequest' + examples: + CategorySearchBody: + $ref: '#/components/examples/CategorySearchBody' + required: true + responses: + '200': + description: Categories searched successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategorySearchResult' + examples: + CategorySearchResultExample: + $ref: '#/components/examples/CategorySearchResultExample' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.catalogs: catalogs scope READONLY + sfcc.catalogs.rw: catalogs scope + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.catalogs: catalogs scope READONLY + sfcc.catalogs.rw: catalogs scope + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + Site: + required: + - displayName + - id + type: object + properties: + cartridges: + type: string + description: The cartridge path of the site. + example: sitegenesis_storefront_controllers:sitegenesis_storefront_core + customerListLink: + required: + - customerListId + type: object + properties: + customerListId: + type: string + description: The customerList ID. + allOf: + - $ref: '#/components/schemas/String256' + example: SiteGenesis + title: + type: object + additionalProperties: + type: string + description: The link title. + description: Document representing a link to a customer list. + description: + type: object + additionalProperties: false + description: The description of this site. + example: + default: Prototypical site used for starting point + displayName: + type: object + additionalProperties: false + description: The display name entered by the user. + example: + default: Site Genesis + id: + $ref: '#/components/schemas/SiteId' + inDeletion: + type: boolean + description: The deletion status of this site, true if in deletion. + example: false + storefrontStatus: + type: string + description: The storefront status of the site, it can be optionally be set to online, maintenance, to_be_deleted, and protected. + example: online + enum: + - online + - maintenance + - to_be_deleted + - protected + description: Document representing a site. + CatalogId: + maxLength: 256 + minLength: 1 + type: string + description: The ID of the catalog. + example: apparel-catalog + Catalog: + type: object + properties: + assignedProductCount: + type: integer + description: The count of products assigned to the catalog. It is read only. + format: int32 + example: 20 + assignedSites: + items: + $ref: '#/components/schemas/Site' + type: array + description: The sites assigned to the catalog. It is read only. + categoryCount: + type: integer + description: The category count of catalog. It is read only. + format: int32 + example: 10 + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. It is read only. + format: date-time + maxLength: 30 + example: 253402214400 + description: + type: object + additionalProperties: + type: string + description: The description of catalog. + id: + $ref: '#/components/schemas/CatalogId' + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. It is read only. + format: date-time + maxLength: 30 + example: 253402214400 + name: + type: object + additionalProperties: + type: string + description: The catalog name. + online: + type: boolean + description: The online status of catalog. + example: false + ownedProductCount: + type: integer + description: The count of products owned by the catalog. It is read only. + format: int32 + example: 100 + recommendationCount: + type: integer + description: The recommendation count of the catalog. It is read only. + format: int32 + example: 50 + rootCategory: + type: string + description: The root category of the catalog. It is read only. + allOf: + - $ref: '#/components/schemas/String256' + example: apparel-master-catalog + description: Document representing a catalog. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - id + Catalogs: + required: + - data + - limit + - offset + - total + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/Catalog' + type: array + description: The collection of catalogs. + description: Catalogs allow categories to be organized into hierarchical structures. + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + Category: + type: object + properties: + catalogId: + allOf: + - $ref: '#/components/schemas/CatalogId' + description: The ID of the catalog that contains it. + example: apparel-catalog + categories: + items: + $ref: '#/components/schemas/Category' + type: array + description: The array of subcategories for the category. + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. It is read only. + format: date-time + maxLength: 30 + example: 253402214400 + description: + type: object + additionalProperties: false + description: The localized description of the category. + example: + en_US: Mens Clothing Outerwear + id: + allOf: + - $ref: '#/components/schemas/CategoryId' + description: The ID of the category. + example: mens-clothing-outerwear + image: + maxLength: 256 + minLength: 1 + type: string + description: The name of the category image. The URL to the image is computed. + example: Summer Bomber Jacket + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. It is read only. + format: date-time + maxLength: 30 + example: 253402214400 + name: + type: object + additionalProperties: false + description: The localized name of the category. + example: + en_US: Mens Clothing Outerwear + online: + type: boolean + description: The online status of the category determines if it is visible in the storefront. Defaults to false if not specified on creation. + example: true + pageDescription: + type: object + additionalProperties: false + description: The localized page description of the category. + example: + en_US: Mens Outerwear Category + pageKeywords: + type: object + additionalProperties: false + description: The localized page keywords for the category. + example: + en_US: Outerwear + pageTitle: + type: object + additionalProperties: false + description: The localized page title of the category. + example: + en_US: Mens Clothing Outerwear + parentCategoryId: + maxLength: 256 + minLength: 1 + type: string + description: The ID of the parent category. Defaults to root if not specified on creation. + example: mens-clothing + paths: + items: + $ref: '#/components/schemas/PathRecord' + type: array + description: The path record. + position: + type: number + description: The position of the category determines the display order in the storefront. + format: double + example: 3 + sortingRules: + items: + $ref: '#/components/schemas/SortingRule' + type: array + description: The category sorting rules. + thumbnail: + maxLength: 256 + minLength: 1 + type: string + description: The name of the category thumbnail. The URL to the thumbnail is computed. + example: Summer Bomber Jacket Large + description: Document representing a category. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - id + CategoryId: + maxLength: 256 + minLength: 1 + type: string + description: The ID of the category. + example: mens + PathRecord: + type: object + properties: + id: + allOf: + - $ref: '#/components/schemas/CategoryId' + description: The ID of the category path. + example: mens-clothing + name: + type: object + additionalProperties: + type: string + description: The name of the category path. + description: Document representing most basic info (ID and name) of a category or catalog. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + String4000: + type: string + maxLength: 4000 + description: "The String4000 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 4000 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 4000 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 2000 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 1333 characters." + example: This is a detailed description of an Excellent Product. It includes all the features, specifications, and benefits of the product. The Excellent Product is designed to provide exceptional performance and reliability. It is made from high-quality materials and has been rigorously tested to ensure it meets the highest standards. Whether you are using it for personal or professional purposes, the Excellent Product is the perfect choice. With its advanced technology and user-friendly design, it offers unparalleled convenience and efficiency. Order your Excellent Product today and experience the difference it can make. + SortingRuleStep: + type: object + properties: + attributeId: + allOf: + - $ref: '#/components/schemas/String256' + description: The ID for sorting attribute. + example: price + direction: + type: string + description: The direction of the sorting attribute. + example: desc + enum: + - asc + - desc + isSystem: + type: boolean + description: Whether or not the attribute is a system attribute. + example: false + position: + type: integer + description: The position of product sorting rule step. + format: int32 + example: 1 + textRelevanceIncluded: + type: boolean + description: The text relevance included. + example: true + typeId: + allOf: + - $ref: '#/components/schemas/String256' + description: The sorting type for sorting attribute. + example: price + description: Document representing a product sorting rule step. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + SortingRule: + type: object + properties: + creationDate: + type: string + description: The creation date, read only. + format: date-time + maxLength: 30 + example: 253402214400 + description: + allOf: + - $ref: '#/components/schemas/String4000' + description: The description of the product sorting rule. + example: Sorts by price descending + id: + description: The ID of the product sorting rule. + allOf: + - $ref: '#/components/schemas/String256' + example: price-high-to-low + productSortingRuleSteps: + items: + $ref: '#/components/schemas/SortingRuleStep' + type: array + description: The steps involved in sorting by this rule. + ruleContext: + type: string + description: The context of the rule, either site or global. + enum: + - site + - global + example: site + site: + $ref: '#/components/schemas/SiteId' + description: Document representing a product sorting rule. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + Categories: + required: + - data + - limit + - offset + - total + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/Category' + type: array + description: Category data + description: "Categories allow products to be organized into hierarchical structures. \nCategories can have relationships to other parent categories. Each category also can provide a context inherited by subcategories. \nFor example, a category may have an attribute value assigned to it, and any product assigned to the category or a subcategory would inherit the attribute value as long as the product is assigned. \nOnce the product is removed from the category those attribute values would no longer be in the context of the product. Linking of categories is also used for Site hierarchical navigation. \nFor example, inside 'Clothing' you may have 'Mens', and inside 'Mens' you may have 'Pants'. Categories are not *Tags*.\"" + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + CategoryProductAssignmentSearchRequest: + required: + - query + type: object + allOf: + - $ref: '#/components/schemas/SearchRequest' + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + example: + limit: 4 + query: + textQuery: + fields: + - id + - description + searchPhrase: campaign + offset: 2 + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + CatalogCategoryId: + required: + - catalogId + - categoryId + type: object + properties: + catalogId: + $ref: '#/components/schemas/CatalogId' + categoryId: + $ref: '#/components/schemas/CategoryId' + description: Document representing a catalog category ID. + Product: + required: + - id + type: object + properties: + assignedCategories: + items: + $ref: '#/components/schemas/CatalogCategoryId' + type: array + description: The catalog categories that the product is assigned to. It is read only. + ats: + type: number + description: The Available To Sell (ATS) inventory value of the product. This is a calculated value. + format: double + example: 15 + brand: + type: string + description: The brand of the product. + example: Apple + bundledProducts: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of bundled products which the product includes. It is read only. + classificationCategory: + $ref: '#/components/schemas/CatalogCategoryId' + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. It is read only. + format: date-time + example: 253402214400 + defaultVariantId: + type: string + description: The ID of the product's default variant. It is read only. + example: apple-ipod-classic-8gb-black + ean: + type: string + description: The European Article Number of the product. + example: ksdf69w4 + id: + $ref: '#/components/schemas/ProductId' + image: + $ref: '#/components/schemas/MediaFile' + imageGroups: + items: + $ref: '#/components/schemas/ImageGroup' + type: array + description: The array of product image groups. It is read only. + inStock: + type: boolean + description: The flag that indicates if the product is in stock, or not. This is a calculated value. + example: true + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. It is read only. + format: date-time + example: 253402214400 + localizedTaxClassId: + type: object + additionalProperties: false + description: The localized tax class identifier of the product. + example: + en_US: exempt + longDescription: + type: object + additionalProperties: + $ref: '#/components/schemas/MarkupText' + description: The localized long description of the product. + manufacturerName: + type: string + description: The name of the product's manufacturer. + example: Apple + manufacturerSku: + type: string + description: The SKU of the product's manufacturer. + example: HSD68J + master: + $ref: '#/components/schemas/Master' + name: + type: object + additionalProperties: false + description: The localized name of the product. + example: + en_US: Apple Ipod Classic + online: + type: boolean + description: The flag that indicates if the product is online, or not. This is a calculated value. + example: true + onlineFlag: + type: object + additionalProperties: false + description: The site-specific online status of the product. + example: + Site1: true + owningCatalogId: + type: string + description: The ID of the catalog that owns the product. + example: apple-master-catalog + owningCatalogName: + type: object + additionalProperties: false + description: The localized name of the catalog that owns the product. It is read only. + example: + en_US: Apple Master Catalog + pageDescription: + type: object + additionalProperties: false + description: The localized page description of the product. + example: + en_US: Page Description + pageKeywords: + type: object + additionalProperties: false + description: The localized page keywords of the product. + example: + en_US: Keywords + pageTitle: + type: object + additionalProperties: false + description: The localized page title of the product. + example: + en_US: Page Title + price: + type: number + description: The price of the product. + format: double + example: 219.99 + priceCurrency: + type: string + description: The currency code for a product's price. + example: USD + pricePerUnit: + type: number + description: The price per unit of the product. This is a read only field. + format: double + example: 1 + primaryCategories: + items: + $ref: '#/components/schemas/CatalogCategoryId' + type: array + description: The primary catalog categories that the product is assigned to. It is read only. + primaryCategoryId: + type: string + description: The ID of the products primary category. This is a read only field. It is read only. + example: electronics-media-players + productBundles: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of product bundles which the product belongs to. It is read only. + productOptions: + items: + $ref: '#/components/schemas/ProductOption' + type: array + description: The array of product options. This is applicable for products of type "option". It is read only. + productSets: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of product sets which the product belongs to. It is read only. + searchable: + type: object + additionalProperties: false + description: The site-specific searchable status of the product. + example: + Site1: true + setProducts: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of set products which the product includes. It is read only. + shortDescription: + type: object + additionalProperties: + $ref: '#/components/schemas/MarkupText' + description: The localized short description of the product. + taxClassId: + type: string + description: The tax class identifier of the product. + example: standard + type: + $ref: '#/components/schemas/ProductType' + unit: + type: string + description: The sales unit of the product. + example: single + unitMeasure: + type: string + description: The unitMeasure of the product. + example: each + unitQuantity: + type: number + description: The unitQuantity of the product. + format: double + example: 15 + upc: + type: string + description: The Universal Product Code (UPC) of the product. + example: 66JSD88JASD + validFrom: + type: object + additionalProperties: false + description: The valid/online from date of the product. + example: + default@SiteGenesis: '2000-05-11T00:00:00.000Z' + validTo: + type: object + additionalProperties: false + description: The valid/online to date of the product. + example: + default@SiteGenesis: '2050-05-11T00:00:00.000Z' + variants: + items: + $ref: '#/components/schemas/Variant' + type: array + description: The array of variants of the product. This is applicable for product types "master" and "variationGroup" only. It is read only. + variationAttributes: + items: + $ref: '#/components/schemas/VariationAttribute' + type: array + description: |- + The sorted array of variation attributes assigned to the product. This is applicable for product types "master", + "variationGroup" and "variant" only. It is read only. + variationGroups: + items: + $ref: '#/components/schemas/VariationGroup' + type: array + description: The array of variation groups in the product. This is applicable for product type "master" only. It is read only. + variationValues: + type: object + additionalProperties: false + description: |- + The variation values selected for the product in variation attribute id and value pairs. This is applicable for product types "Variant" and + "VariationGroup" only. It is read only. + example: + color: red + size: 8gb + description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. Product that has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + MediaFile: + required: + - path + type: object + properties: + absUrl: + type: string + description: The absolute URL with request protocol. + example: https://www.example-image.com/images/apple-ipod-classic.jpg + alt: + type: object + additionalProperties: false + description: The alternative image text. + example: + en_US: iPod + disBaseUrl: + type: string + description: The Dynamic Image Service (DIS) base URL for product images only. + example: https://www.dis-base-url/images/apple-ipod-clasic.jpg + path: + type: string + description: The raw media file path. + example: /images/apple-ipod-classic.jpg + title: + type: object + additionalProperties: false + description: The image title. + example: + en_US: iPod + description: Document representing media file. + VariationAttributeValue: + required: + - value + type: object + properties: + description: + type: object + additionalProperties: false + description: The localized description of the variation value. + example: + en_US: Red + image: + $ref: '#/components/schemas/MediaFile' + imageSwatch: + $ref: '#/components/schemas/MediaFile' + name: + type: object + additionalProperties: false + description: The localized display name of the variation value. + example: + color: Red + orderable: + type: boolean + description: A flag indicating whether at least one variant with this variation attribute value is available to sell. + example: true + position: + type: number + description: The position of the value among all values of a variation attribute. + format: double + example: 2 + value: + minLength: 1 + type: string + description: The actual variation value. + example: red + description: Document representing a variation attribute value. + VariationAttribute: + required: + - attributeDefinitionId + type: object + properties: + attributeDefinitionId: + type: string + description: The id of the requested attribute definition. + example: color + attributeDefinitionName: + type: object + additionalProperties: false + description: The localized display name of the variation attribute definition. + example: + en_US: Color + defaultValue: + type: string + description: Default variation attribute value. + example: black + id: + minLength: 1 + type: string + description: The ID of the variation attribute. + example: color + name: + type: object + additionalProperties: false + description: The localized display name of the variation attribute. + example: + en_US: Color + shared: + type: boolean + description: Returns the value of attribute 'shared' if attribute is local or shared. + example: false + slicing: + type: boolean + description: Returns the value of attribute 'slicing'. + example: true + values: + items: + $ref: '#/components/schemas/VariationAttributeValue' + type: array + description: The sorted array of variation values. This array can be empty. + variationAttributeType: + type: string + description: Variation attribute type. + example: string + enum: + - string + - int + - unknown + description: Document representing a variation attribute. + ImageGroup: + required: + - images + - viewType + type: object + properties: + images: + items: + $ref: '#/components/schemas/MediaFile' + type: array + description: The images of the image group. + variationAttributes: + items: + $ref: '#/components/schemas/VariationAttribute' + type: array + description: Returns a list of variation attributes applying to this image group. + viewType: + type: string + description: The image view type. + example: hi-res + description: Document representing an image group containing a list of images for a particular view type and an optional variation value. + MarkupText: + required: + - markup + - source + type: object + properties: + markup: + type: string + description: The rendered HTML. + example: '' + source: + type: string + description: The raw markup text. + example: '' + description: Document representing markup text. + Master: + required: + - masterId + type: object + properties: + masterId: + $ref: '#/components/schemas/ProductId' + orderable: + type: boolean + description: A flag indicating whether at least one of the variants is orderable. + example: true + price: + type: number + description: The minimum sales price of the related variants. + format: double + example: 199.99 + priceMax: + type: number + description: The maximum sales of related variants. + format: double + example: 219.99 + prices: + type: object + additionalProperties: + type: number + format: double + description: prices + description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Does'nt have a SKU.* + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + Money: + description: A combination of a Currency and an amount of that Currency. + type: object + properties: + currencyMnemonic: + $ref: '#/components/schemas/CurrencyCode' + value: + format: double + description: The amount of money for the given currency. + example: 1234.56 + type: number + ProductOptionValue: + required: + - id + - value + type: object + properties: + defaultProductOptionValue: + type: boolean + description: Flag indicating if the product option value is the default value for the product option. + example: true + id: + minLength: 1 + type: string + description: The ID of the product option value. + example: 5-year + optionPrices: + items: + $ref: '#/components/schemas/Money' + type: array + description: The list of prices in the product option value. + skuExtension: + type: string + description: The SKU extension of the product option value. + example: extension + value: + type: object + additionalProperties: false + description: The localized value of the product option. + example: + en_US: 5 Year Warranty + description: Document representing a product option Value + ProductOption: + required: + - id + type: object + properties: + customName: + type: object + additionalProperties: false + description: The localized custom name of the product option. + example: + en_US: Warranty + defaultProductOptionValue: + type: string + description: The default product option value. + example: 5-years + description: + type: object + additionalProperties: false + description: The localized description of the product option. + example: + en_US: Option Description + id: + minLength: 1 + type: string + description: The object attribute definition ID which is also the identifier for the product option. + example: warranty + image: + $ref: '#/components/schemas/MediaFile' + name: + type: string + description: The name of the object attribute definition. + example: Warranty + selectedOptionValue: + type: string + description: The selected option value of the product option. + example: 2-years + shared: + type: boolean + description: The flag that indicates if the product option is shared or local. + example: false + sortingMode: + type: string + description: The sorting mode for the product option values. + example: byoptionprice + enum: + - byexplicitorder + - byoptionprice + values: + items: + $ref: '#/components/schemas/ProductOptionValue' + type: array + description: The sorted array of values of the product option. + description: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can't be purchased separately. + ProductType: + required: + - master + type: object + properties: + bundle: + type: boolean + description: A flag indicating whether the product is a bundle. + example: false + bundled: + type: boolean + description: A flag indicating whether the product is bundled. + example: false + item: + type: boolean + description: A flag indicating whether the product is a standard item. + example: false + master: + type: boolean + description: A flag indicating whether the product is a master. + example: true + option: + type: boolean + description: A flag indicating whether the product is an option. + example: false + partOfProductSet: + type: boolean + description: A flag indicating whether the product is part of product set. + example: false + partOfRetailSet: + type: boolean + description: A flag indicating whether the product is part of retail set. + example: false + retailSet: + type: boolean + description: A flag indicating whether the product is a retail set. + example: false + set: + type: boolean + description: A flag indicating whether the product is a set. + example: false + variant: + type: boolean + description: A flag indicating whether the product is a variant. + example: false + variationGroup: + type: boolean + description: A flag indicating whether the product is a variation group. + example: false + description: Document representing a product type. + Variant: + required: + - productId + type: object + properties: + ats: + type: number + description: The Available To Sell (ATS) inventory value of the product. This is a calculated value. + format: double + example: 10 + defaultProductVariation: + type: boolean + description: A flag indicating whether the variant is a default variant. + example: true + image: + $ref: '#/components/schemas/MediaFile' + inStock: + type: boolean + description: True if the product is in stock, false if not. + example: true + online: + type: boolean + description: |- + If the product is currently online. + True if online, false if not. + example: true + orderable: + type: boolean + description: A flag indicating whether the variant is orderable. + example: true + price: + type: number + description: The sales price of the variant. + format: double + example: 29.99 + priceCurrency: + type: string + description: Currency code for the price of the product. + example: USD + productId: + $ref: '#/components/schemas/ProductId' + searchable: + type: object + additionalProperties: false + description: A flag indicating whether the variant is searchable. + example: + Site1: true + variationAttributes: + items: + $ref: '#/components/schemas/VariationAttribute' + type: array + description: Variation attributes. + variationValues: + type: object + additionalProperties: false + description: The actual variation attribute ID - value pairs. + example: + color: black + description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU* + VariationGroup: + required: + - productId + type: object + properties: + orderable: + type: boolean + description: A flag indicating whether the variation group is orderable. + example: true + price: + type: number + description: The sales price of the variation group. + format: double + example: 229.99 + productId: + maxLength: 100 + minLength: 1 + type: string + description: The ID (SKU) of the variation group. + example: apple-ipod-classic-black + variationValues: + type: object + additionalProperties: false + description: The actual variation attribute ID - value pairs. + example: + color: red + description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Doesn't have a SKU.* + CategoryProductAssignment: + required: + - catalogId + - categoryId + - productId + type: object + properties: + catalogId: + allOf: + - $ref: '#/components/schemas/CatalogId' + description: The ID of the catalog. + example: apparel-catalog + categoryId: + allOf: + - $ref: '#/components/schemas/CategoryId' + description: The ID of the category. + example: mens + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. It is read only. + format: date-time + maxLength: 30 + example: 253402214400 + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. It is read only. + format: date-time + maxLength: 30 + example: 253402214400 + owningCatalogName: + type: object + additionalProperties: + type: string + description: The name of the catalog that owns the product. + position: + type: number + description: The position of product category assignment. + format: double + example: 2 + product: + $ref: '#/components/schemas/Product' + productId: + $ref: '#/components/schemas/ProductId' + productName: + type: object + description: The name of the product. + example: + default: Summer Bomber Jacket + description: Document representing a category product assignment. + CategoryProductAssignmentSearchResult: + required: + - limit + - offset + - total + - hits + type: object + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + items: + $ref: '#/components/schemas/CategoryProductAssignment' + type: array + description: The sorted array of search hits. This array can be empty. + description: Document representing a product search result. + example: + value: + - limit: 1 + hits: + - couponId: MyCoupon + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + ExecutionJobStatusResult: + required: + - jobStatus + type: object + properties: + type: + type: string + description: The type of execution job. + example: evaluation + enum: + - evaluation + - execution + assignedCount: + type: integer + description: Indicates total number of products assigned by the execution job. + example: 100 + unassignedCount: + type: integer + description: Indicates total number of products unassigned by the execution job. + example: 100 + matchedCount: + type: integer + description: Indicates total number of products evaluated and matched by the evaluation job. + example: 100 + jobStatus: + type: string + description: Indicates the status of the rules execution job (that is, indicates whether the job completed successfully or an error occurred). + example: success + enum: + - inProgress + - success + - error + - unavailable + message: + type: string + description: A description of any errors, failures, and exceptions that caused the job to fail. + example: Job execution failed to start. + lastRunDate: + type: string + description: The date that the rules categorization job was last run for given catalog and category. + format: date-time + maxLength: 30 + example: 253402214400 + productIds: + items: + $ref: '#/components/schemas/String256' + type: array + description: The list of matched product IDs returned by the execution job. + example: + - 25772717 + - 25772792 + limit: + $ref: '#/components/schemas/Limit' + offset: + $ref: '#/components/schemas/Offset' + description: The status of the execution job. + ExecutionRequest: + required: + - evaluation + type: object + properties: + evaluation: + type: boolean + description: A flag indicating whether only an evaluation job needs to be performed. + default: true + example: true + description: The document representing the execution Request for categorization. + ExcludedProduct: + required: + - productId + type: object + properties: + productId: + $ref: '#/components/schemas/ProductId' + description: The excluded product record. + ExcludedProductsResult: + required: + - limit + - total + type: object + properties: + limit: + $ref: '#/components/schemas/Limit' + data: + items: + $ref: '#/components/schemas/ExcludedProduct' + type: array + description: The list of the excluded products. This can be empty. + total: + $ref: '#/components/schemas/Total' + description: The list of excluded products. + ExcludedProductRequest: + required: + - data + type: object + properties: + data: + items: + $ref: '#/components/schemas/ExcludedProduct' + type: array + description: The list of the excluded products. + description: The excluded product record + Condition: + required: + - attributeKey + - attributeValue + - id + - operator + type: object + properties: + id: + description: The ID of the condition. + example: NameCondition + allOf: + - $ref: '#/components/schemas/String256' + attributeKey: + allOf: + - $ref: '#/components/schemas/String256' + description: The key of the attribute(system or custom). This represents the ID of the attribute. + example: name + attributeName: + allOf: + - $ref: '#/components/schemas/String4000' + description: The human-readable name of the attribute(system or custom). This is a read-only field. + example: name + attributeValue: + items: + allOf: + - $ref: '#/components/schemas/String4000' + type: array + description: The value of the attribute. + example: + - Shirt + operator: + type: string + description: The operator for the condition. + example: starts_with + enum: + - starts_with + - contains + - equals + - not_equals + - greater_than + - less_than + - is_one_of + - not_one_of + - is_defined + - is_not_defined + description: Document representing a condition. + Rule: + required: + - enabled + - exclusion + - id + type: object + properties: + id: + allOf: + - $ref: '#/components/schemas/String256' + description: The ID of the rule. + example: VHRule + enabled: + type: boolean + description: A flag indicating whether this rule is enabled. + default: false + example: false + exclusion: + type: boolean + description: A flag indicating whether this rule is an exclusion. + default: false + example: false + categorizationLocaleId: + type: string + maxLength: 10 + description: | + This field indicates the locale to be used for evaluating rules/conditions for the entire category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. + example: en-US + categorizationClassificationFlag: + type: boolean + description: | + This field indicates if the matching products assigned as a result of the rules run will be given the tag for classification category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. + default: false + example: true + categorizationPrimaryFlag: + type: boolean + description: | + This field indicates if the matching products assigned as a result of the rules run will be given the tag for primary category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. + default: false + example: true + conditions: + items: + $ref: '#/components/schemas/Condition' + type: array + description: The list of conditions for the rule. + description: Document representing a categorization rule. + RulesResult: + required: + - limit + - total + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + data: + items: + $ref: '#/components/schemas/Rule' + type: array + description: The list of rules. This can be empty. *Note* - If the exclusion attribute is set to true, the rule is designated as an Exclusion rule. Any item matching an Exclusion rule is omitted from the final result set. + description: Result document containing an array of rules. + RulesRequest: + type: object + properties: + data: + items: + $ref: '#/components/schemas/Rule' + type: array + description: The list of rules. This can be empty. + description: Request document containing an array of rules for saving multiple rules. + RuleRequest: + required: + - enabled + - exclusion + - id + type: object + properties: + id: + allOf: + - $ref: '#/components/schemas/String256' + description: The ID of the rule. + example: VHRule + enabled: + type: boolean + description: A flag indicating whether this rule is enabled. + default: false + example: false + exclusion: + type: boolean + description: A flag indicating whether this rule is an exclusion. + default: false + example: false + categorizationLocaleId: + type: string + maxLength: 10 + description: | + This field indicates the locale to be used for evaluating rules/conditions for the entire category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. + example: en-US + categorizationClassificationFlag: + type: boolean + description: | + This field indicates if the matching products assigned as a result of the rules run will be given the tag for classification category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. + default: false + example: true + categorizationPrimaryFlag: + type: boolean + description: | + This field indicates if the matching products assigned as a result of the rules run will be given the tag for primary category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. + default: false + example: true + description: This document represents the request body while creating a rule. + ConditionsResult: + required: + - limit + - total + type: object + properties: + limit: + $ref: '#/components/schemas/Limit' + conditions: + items: + $ref: '#/components/schemas/Condition' + type: array + description: The list of conditions for a rule. This can be empty. + total: + $ref: '#/components/schemas/Total' + description: Result document containing an array of conditions. + CatalogCategorySearchRequest: + required: + - query + type: object + allOf: + - $ref: '#/components/schemas/SearchRequest' + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + example: + limit: 4 + query: + textQuery: + fields: + - id + - description + searchPhrase: campaign + offset: 2 + CategorySearchResult: + required: + - limit + - offset + - total + - hits + type: object + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + items: + $ref: '#/components/schemas/Category' + type: array + description: The sorted array of search hits. Can be empty. + description: Document representing a catalog search result. + example: + value: + - limit: 1 + hits: + - couponId: MyCoupon + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + CatalogSearchRequest: + required: + - query + type: object + allOf: + - $ref: '#/components/schemas/SearchRequest' + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + example: + limit: 4 + query: + textQuery: + fields: + - id + - description + searchPhrase: campaign + offset: 2 + CatalogSearchResult: + required: + - limit + - offset + - total + - hits + type: object + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + items: + $ref: '#/components/schemas/Catalog' + type: array + description: The sorted array of catalog search hits. Can be empty. + description: Document representing a catalog search result. + example: + value: + - limit: 1 + hits: + - couponId: MyCoupon + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + CategorySearchRequest: + required: + - query + type: object + allOf: + - $ref: '#/components/schemas/SearchRequest' + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + example: + limit: 4 + query: + textQuery: + fields: + - id + - description + searchPhrase: campaign + offset: 2 + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + catalogId: + name: catalogId + in: path + description: The ID of the requested catalog. + required: true + schema: + $ref: '#/components/schemas/CatalogId' + categoryId: + name: categoryId + in: path + description: The ID of the category to be created. + required: true + schema: + $ref: '#/components/schemas/CategoryId' + levels: + name: levels + in: query + description: The level number. + required: false + schema: + minimum: 0 + type: integer + format: int32 + example: 1 + siteId: + description: The site context. + name: siteId + in: query + required: false + schema: + $ref: '#/components/schemas/SiteId' + productId: + name: productId + in: path + description: The ID (SKU) of the requested product to assign. + required: true + schema: + $ref: '#/components/schemas/ProductId' + limit: + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + name: limit + in: query + examples: + limit: + value: 25 + schema: + $ref: '#/components/schemas/Limit' + offset: + description: The zero-based index of the first hit/data to include in the result. + name: offset + in: query + examples: + offset: + value: 25 + schema: + $ref: '#/components/schemas/Offset' + ruleId: + name: ruleId + in: path + description: The Id of the rule + required: true + schema: + allOf: + - $ref: '#/components/schemas/String256' + example: VHRule + conditionId: + name: conditionId + in: path + description: The Id of the condition. + required: true + schema: + example: NameCondition + allOf: + - $ref: '#/components/schemas/String256' + examples: + Catalogs: + value: + limit: 2 + data: + - id: apparel-catalog + - id: electronics-catalog + offset: 0 + total: 2 + getCategoryFromCatalog400: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-query-parameter + detail: offset-BAD-REQUEST parameters are not defined in RAML. + getCatalog401: + value: + title: Invalid Access Token + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token + detail: The request is unauthorized, the access token is invalid. + accessToken: iI6IjEiLCJhbGciOiJIUzI1NiIsInR5cCI6Ik + Catalog: + value: + categoryCount: 30 + creationDate: '2019-02-21T22:09:39.000Z' + id: apparel-catalog + lastModified: '2019-02-21T22:09:39.000Z' + name: + default: Apparel Master Catalog + online: true + recommendationCount: 0 + rootCategory: root + getCatalog404: + value: + title: Catalog Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/catalog-not-found + detail: No catalog with ID '095c2082-5f2a-47d5-bc73-27d06c5c9db8' could be found. + catalogId: 095c2082-5f2a-47d5-bc73-27d06c5c9db8 + CatalogBody: + value: + id: apparel-catalog + online: true + Categories: + value: + limit: 3 + data: + - id: kids-wear + - id: mens + - id: mens-accessories-luggage + offset: 0 + total: 3 + CategoryExample: + value: + catalogId: apparel-catalog + categories: + - catalogId: apparel-catalog + creationDate: '2019-02-21T22:09:40.000Z' + id: mens-accessories + lastModified: '2019-02-21T22:10:14.000Z' + name: + default: Accessories + online: true + parentCategoryId: mens + - catalogId: apparel-catalog + creationDate: '2019-02-21T22:09:40.000Z' + id: mens-clothing + lastModified: '2019-02-21T22:10:15.000Z' + name: + default: Clothing + online: true + parentCategoryId: mens + creationDate: '2019-02-21T22:09:40.000Z' + id: mens + lastModified: '2019-09-04T15:07:14.000Z' + online: true + parentCategoryId: root + position: 2 + CategoryBody: + value: + catalogId: apparel-catalog + id: mens + online: true + SingleCategory: + value: + catalogId: apparel-catalog + creationDate: '2019-02-21T22:09:40.000Z' + id: mens + lastModified: '2019-09-04T15:07:14.000Z' + online: true + parentCategoryId: root + position: 2 + ProductAssignmentBody: + value: + query: + termQuery: + fields: + - product_id + operator: is + values: + - NTOSimpleBundle + expand: + - product_categories + - product_images + CategoryProductAssignment: + value: + hits: + - catalogId: NTOCatalog + categoryId: NTOFirstClassCategory + creationDate: '2024-05-27T10:11:48.000Z' + lastModified: '2024-05-27T10:11:48.000Z' + owningCatalogName: + default: NTO Product Image Catalog + product: + assignedCategories: + - catalogId: NTOCatalog + categoryId: NTOFirstClassCategory + brand: Wapi brand + creationDate: '2024-05-27T10:11:45.000Z' + id: NTOSimpleBundle + image: + absUrl: https://www.yoursecureimageserver.com/foo/bar/bundle_image_detail.jpg + alt: + default: ALT bundle image detail + path: bundle_image_detail.jpg + title: + default: TITLE bundle image detail + onlineFlag: + default: true + searchable: + default: true + productId: NTOSimpleBundle + productName: + default: Simple Web API Bundle + query: + termQuery: + fields: + - product_id + operator: is + values: + - NTOSimpleBundle + limit: 1 + offset: 0 + total: 1 + CatalogCategoryPrdAssignmentExample: + value: + catalogId: apparel-catalog + categoryId: kids-wear + owningCatalogName: + default: Electronics Master Catalog + position: 1 + productId: apple-ipod-shuffle + productName: + default: Apple iPod Shuffle + CatalogCategoryProdAssignmentBody: + value: + catalogId: apparel-catalog + categoryId: kids-wear + productId: apple-ipod-shuffle + position: 1 + ExecutionJobStatusResponse: + value: + type: evaluation + assignedCount: 1 + unassignedCount: 0 + matchedCount: 1 + jobStatus: success + message: Job execution success. + lastRunDate: '2019-02-21T22:09:40.000Z' + productIds: + - '25772719' + limit: 10 + offset: 0 + getCategorizationStatus404: + value: + title: JobExecution Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/job-execition-not-found + detail: No JobExecution could be found for given catalog, category + catalogId: apparel-catalog + category: Mens + ExecutionRequestBody: + value: + evaluation: true + GetExcludedProducts: + value: + limit: 2 + data: + - productId: red-shirt + - productId: blue-shirt + total: 2 + ExcludedProductsRequestBody: + value: + data: + - productId: red-shirt + - productId: blue-shirt + getRuleById404: + value: + title: Rule Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/rule-not-found + detail: No Rule with ID 'VHRULE' could be found. + ruleId: VHRULE + GetRules: + value: + limit: 2 + data: + - id: VHRule + enabled: true + exclusion: false + categorizationLocaleId: en-US + categorizationClassificationFlag: true + categorizationPrimaryFlag: true + conditions: + - id: NameCondition + attributeKey: name + attributeValue: + - Shirt + attributeName: name + operator: starts_with + - id: BrandCondition + attributeKey: brand + attributeValue: + - Van Heusen + attributeName: brand + operator: equals + - id: DXRule + enabled: true + exclusion: false + categorizationLocaleId: en-US + categorizationClassificationFlag: true + categorizationPrimaryFlag: true + conditions: + - id: NameCondition + attributeKey: name + attributeValue: + - Shirt + attributeName: name + operator: starts_with + - id: BrandCondition + attributeKey: brand + attributeValue: + - DX + attributeName: brand + operator: equals + total: 2 + PostRuleRequestBody: + value: + data: + - id: VHRule + enabled: true + exclusion: false + categorizationLocaleId: en-US + categorizationClassificationFlag: true + categorizationPrimaryFlag: true + conditions: + - id: NameCondition + attributeKey: name + attributeValue: + - Shirt + operator: starts_with + - id: BrandCondition + attributeKey: brand + attributeValue: + - Van Heusen + operator: equals + - id: DXRule + enabled: true + exclusion: false + categorizationLocaleId: en-US + categorizationClassificationFlag: true + categorizationPrimaryFlag: true + conditions: + - id: NameCondition + attributeKey: name + attributeValue: + - Shirt + operator: starts_with + - id: BrandCondition + attributeKey: brand + attributeValue: + - DX + operator: equals + GetRulesByID: + value: + id: VHRule + enabled: true + exclusion: false + categorizationLocaleId: en-US + categorizationClassificationFlag: true + categorizationPrimaryFlag: true + conditions: + - id: NameCondition + attributeKey: name + attributeValue: + - Shirt + attributeName: name + operator: starts_with + - id: BrandCondition + attributeKey: brand + attributeName: brand + attributeValue: + - Van Heusen + operator: equals + PutRuleRequestBody: + value: + id: VHRule + enabled: true + exclusion: false + PutRuleUpdateResult: + value: + id: VHRule + enabled: true + exclusion: false + GetConditions: + value: + limit: 2 + conditions: + - id: NameCondition + attributeKey: name + attributeValue: + - Shirt + attributeName: name + operator: starts_with + - id: BrandCondition + attributeKey: brand + attributeValue: + - Van Heusen + attributeName: brand + operator: equals + total: 2 + GetConditionByID: + value: + id: NameCondition + attributeKey: name + attributeValue: + - Shirt + attributeName: name + operator: starts_with + PutConditionRequestBody: + value: + id: NameCondition + attributeKey: brand + attributeValue: + - Van Heusen + operator: equals + CatalogSearchBody: + value: + start: 0 + count: 50 + query: + boolQuery: + should: + - textQuery: + searchPhrase: Luggage + fields: + - name + CategorySearchResultExample: + value: + limit: 1 + hits: + - catalogId: storefront-catalog-en + creationDate: '2019-02-21T22:10:04.000Z' + id: electronics-accessories + lastModified: '2019-02-21T22:10:49.000Z' + name: + default: Accessories + online: false + pageTitle: + default: Electronics Accessories + parentCategoryId: electronics + position: 14 + query: + termQuery: + fields: + - online + operator: is + values: + - 'false' + offset: 0 + total: 1 + CatalogSearchBodyQuery: + value: + query: + termQuery: + fields: + - is_storefront_catalog + operator: is + values: + - 'true' + CatalogSearchResultQuery: + value: + limit: 3 + hits: + - assignedSites: + - cartridges: sitegenesis_storefront_pipelines:sitegenesis_storefront_core:plugin_apple_pay:plugin_facebook:plugin_pinterest_commerce:plugin_web_payments:bc_content:core + customerListLink: + customerListId: Site_1 + displayName: + default: Site Site_1 + id: Site_1 + inDeletion: false + storefrontStatus: online + categoryCount: 53 + creationDate: '2019-02-22T00:11:14.000Z' + id: NavigationCatalog_9430935 + lastModified: '2019-02-22T00:11:14.000Z' + name: + default: Root Category + online: true + recommendationCount: 0 + rootCategory: root + - assignedSites: + - cartridges: sitegenesis_storefront_controllers:sitegenesis_storefront_core:plugin_apple_pay:plugin_facebook:plugin_pinterest_commerce:plugin_web_payments:bc_content:core + customerListLink: + customerListId: SiteGenesis + displayName: + default: SiteGenesis + id: SiteGenesis + inDeletion: false + storefrontStatus: online + categoryCount: 66 + creationDate: '2019-02-21T22:10:04.000Z' + id: storefront-catalog-en + lastModified: '2019-02-21T22:10:04.000Z' + name: + it-IT: Catalogo dello storefront - IT + default: Storefront Catalog - EN + fr-FR: Catalogue de boutique en ligne - FR + zh-CN: 网店目录 - EN + ja-JP: ストアフロントカタログ - EN + online: true + recommendationCount: 1865 + rootCategory: root + - assignedSites: + - cartridges: sitegenesis_storefront_controllers:sitegenesis_storefront_core:plugin_apple_pay:plugin_facebook:plugin_pinterest_commerce:plugin_web_payments:bc_content:core + customerListLink: + customerListId: SiteGenesis + displayName: + default: SiteGenesisGlobal + id: SiteGenesisGlobal + inDeletion: false + storefrontStatus: online + categoryCount: 42 + creationDate: '2019-02-21T22:10:09.000Z' + id: storefront-catalog-non-en + lastModified: '2019-02-21T22:10:09.000Z' + name: + it-IT: Storefront Catalog - Non-EN + default: Storefront Catalog - Non-EN + fr-FR: Catalogue de boutique en ligne - Non - EN + zh-CN: Storefront Catalog - Non-EN + ja-JP: ストアフロントカタログ - Non-EN + online: true + recommendationCount: 1865 + rootCategory: root + query: + termQuery: + fields: + - is_storefront_catalog + operator: is + values: + - 'true' + offset: 0 + total: 3 + CategorySearchBody: + value: + query: + termQuery: + fields: + - online + operator: is + values: + - 'false' +x-sdk-classname: CatalogsV1 diff --git a/apis/catalogs-oas/catalogs-oas-1.0.39/catalogs-oas-v1-public.yaml b/apis/catalogs-oas/catalogs-oas-1.0.39/catalogs-oas-v1-public.yaml new file mode 100644 index 00000000..d1591495 --- /dev/null +++ b/apis/catalogs-oas/catalogs-oas-1.0.39/catalogs-oas-v1-public.yaml @@ -0,0 +1,4777 @@ +openapi: 3.0.3 +info: + title: Catalogs + version: v1 + description: |- + # API Overview + + With the Catalogs API, you can: + + - Create, view, edit, and delete catalogs and categories. + - Assign and unassign products to categories. + - Search for a product within a category. + - Search for categories within a catalog or within a merchandising system. + + For more information, see the [Catalogs](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Catalogs/Catalogs.html) and [Categories](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Catalogs/Categories.html) sections of the Salesforce B2C Commerce Infocenter. + + ## Authentication & Authorization + + The client managing catalog and category information must have access to the Categories and Catalogs resources. This API requires a bearer token in the header of the request. The client accessing the API must first authenticate against Account Manager to get the bearer token. + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + Here are some common use cases for the API: + + ### Categorize Products + + Use the Catalogs API to assign products to categories so that shoppers can find all products that are merchandized in that category. + + ![b2c-commerce-catalogs-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-catalogs-screenshot-1.png) + + ### Validate Product Category Assignments + + Use the Catalogs API to search for products assigned to a category within a site catalog to validate whether a product is merchandized and ready to be sold in one or more ecommerce channels. You can also update a product to make sure it meets the readiness criteria for each channel. + + ![b2c-commerce-catalogs-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-catalogs-screenshot-2.png) + + ### Edit Categories + + Use the Catalogs API to edit categories assigned to a catalog to change the navigation path, make a category online or offline, change position of a category relative to other categories within a catalog. + + ![b2c-commerce-catalogs-screenshot-3.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-catalogs-screenshot-3.png) + + ## Resources + + A Salesforce B2C Commerce storefront implementation uses a Catalog, Category, and Product architecture to organize your storefront. Product data is stored in a catalog, and the stored product data is organized by categories. You can create any number of catalog, category, and product scenarios to address your business needs. + + ### Catalogs + + A catalog is a collection of categories, products, and images. It’s best practice to create two catalogs: the master catalog and the storefront catalog. The master catalog provides the same structure as an external system of record for your products. The storefront catalog is where you create categories that appear on your storefront. + + ### Categories + + You create and organize categories and subcategories to organize and group products in your catalog and on your storefront. Categories allow Products to be organized into hierarchical structures. Categories can have relationships to other parent categories. Each category also can provide a context that is inherited by subcategories, for example a category may have an attribute value assigned to it and any product assigned to the category or a subcategory would inherit the attribute value as long as the product is assigned. Once the product is removed from the category those attribute values would no longer be in the context of the product. + + ### Products + + Products are the items and services for sale on the storefront. All of your product data is stored in your master catalog. For a product or service to show on your storefront, it must be assigned to a category. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/product/catalogs/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/catalogs: + get: + summary: Retrieve a list of catalog IDs. + description: Get the list of catalog IDs with no filtering. + operationId: getCatalogs + parameters: + - $ref: '#/components/parameters/organizationId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Catalogs retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Catalogs' + examples: + Catalogs: + $ref: '#/components/examples/Catalogs' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}: + get: + summary: Retrieve details of a specific catalog. + description: Gets the catalog with the specified information. + operationId: getCatalog + parameters: + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Catalog retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Catalog' + examples: + Catalog: + $ref: '#/components/examples/Catalog' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + patch: + summary: Update details of a specific catalog. + description: Update the catalog with the specified information. + operationId: updateCatalog + parameters: + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Catalog' + examples: + CatalogBody: + $ref: '#/components/examples/CatalogBody' + required: true + responses: + '200': + description: Catalog updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Catalog' + examples: + Catalog: + $ref: '#/components/examples/Catalog' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories: + get: + summary: Retrieve all categories within a catalog. + description: Get all categories with no filtering. + operationId: getCategoriesFromCatalog + parameters: + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Categories retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Categories' + examples: + Catalog: + $ref: '#/components/examples/Categories' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}: + get: + summary: Retrieve details of a specific category within a catalog. + description: |- + By default, the server + returns the first level of sub-categories, but you can specify another level by setting the levels + parameter. Using a large value for levels can cause performance + issues with large and deep category trees. + operationId: getCategoryFromCatalog + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/levels' + responses: + '200': + description: Category retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Category' + examples: + CategoryExample: + $ref: '#/components/examples/CategoryExample' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + put: + summary: Create or update a category within a catalog. + description: Create a catalog category using the information provided. + operationId: createCategoryInCatalog + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Category' + examples: + CategoryBody: + $ref: '#/components/examples/CategoryBody' + required: true + responses: + '200': + description: Category updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Category' + examples: + SingleCategory: + $ref: '#/components/examples/SingleCategory' + '201': + description: Category created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Category' + examples: + SingleCategory: + $ref: '#/components/examples/SingleCategory' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + delete: + summary: Delete a specific category from a catalog. + description: Delete a category by catalog ID and category ID. + operationId: deleteCategoryFromCatalog + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Category deleted successfully. + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + patch: + summary: Update a specific category within a catalog. + description: Update a catalog category using the information provided. + operationId: updateCategoryInCatalog + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Category' + examples: + CategoryBody: + $ref: '#/components/examples/CategoryBody' + required: true + responses: + '200': + description: Category updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Category' + examples: + SingleCategory: + $ref: '#/components/examples/SingleCategory' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/category-product-assignment-search: + post: + summary: Search for category product assignments. + description: |- + The query attribute specifies a complex query that can be used to narrow down the search. + + Searchable attributes: + + | Attribute | Type | + |-----------|--------| + | productId| String | + | productName | String | + | onlineFlag | Boolean | + | searchable | Boolean | + | validFrom | DateTime | + | validTo | DateTime | + | creationDate | DateTime | + + + Sortable Fields: + + | Attribute | Type | + |-----------|--------| + | productId| String | + | productName | String | + | position | Double | + | creationDate | DateTime | + + Expansions that can be applied for the search request: + - product_base - String + + The product_base expand enables retrieval of the following basic product information: + + | Attribute | Type | Function | + |-----------|--------|-----| + | none | String | Does not fetch any expanded information. + | product_images| String | Fetch preview image and image groups specified for the given product. | + | product_all_images | String | Fetch preview image, image groups specified for the product, and variant and variation group images. | + | product_variations | String | Fetch variations-related information. | + | product_availability | String | Fetch availability-related information. | + | product_categories | String | Fetch category-related information. | + | product_prices | String | Fetch price-related information. | + | product_options | String | Fetch options-related information. | + | product_all | String | Fetch all expanded information. This is the default used when no expand value is included in the request.| + + Note: productAll includes the following: + - brand + - ean + - link + - longDescription + - manufacturerName + - manufacturerSku + - name + - pageDescription + - pageKeywords + - pageTitle + - searchable + - shortDescription + - type + - unit + - upc + operationId: searchProductsAssignedToCategory + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignmentSearchRequest' + examples: + ProductAssignmentBody: + $ref: '#/components/examples/ProductAssignmentBody' + required: true + responses: + '200': + description: Assignments searched successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignmentSearchResult' + examples: + CategoryProductAssignment: + $ref: '#/components/examples/CategoryProductAssignment' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/products/{productId}: + get: + summary: Retrieve a category product assignment. + description: |- + Retrieve a category product assignment. + + + For example, if we have products A, B, C at positions 1, 2, 7.5, and we delete the assignment for product B, + the result is products A, B, C at positions 1, null, 7.5. + operationId: getAssignedProductFromCategory + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Assignment retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignment' + examples: + CatalogCategoryPrdAssignmentExample: + $ref: '#/components/examples/CatalogCategoryPrdAssignmentExample' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + put: + summary: Create a category product assignment. + description: |- + Create a category product assignment using the information provided. + + Because the assigned position n is a normalized target position, we verify that the product is assigned + to a position that maintains the position order. + + For example, if we have products A, B, C at positions 1, 2, 3, and product D is assigned to + position 2, the end result is products A, D, B, C with position order 1, 2, 3, 4. + + If there are n existing position assignments, assigning a new product to position >= n+1 results in + a new assignment with position n+1. + operationId: assignProductToCategory + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignment' + examples: + CatalogCategoryProdAssignmentBody: + $ref: '#/components/examples/CatalogCategoryProdAssignmentBody' + required: true + responses: + '200': + description: Assignment updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignment' + examples: + CatalogCategoryPrdAssignmentExample: + $ref: '#/components/examples/CatalogCategoryPrdAssignmentExample' + '201': + description: Assignment created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignment' + examples: + CatalogCategoryPrdAssignmentExample: + $ref: '#/components/examples/CatalogCategoryPrdAssignmentExample' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + delete: + summary: Remove a category product assignment. + description: |- + Remove a category product assignment. + + + For example, if we have products A, B, C at positions 1, 2, 7.5, and we delete the assignment for product B, + the result is products A, B, C at positions 1, null, 7.5. + operationId: unassignProductFromCategory + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Assignment deleted successfully. + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + patch: + summary: Update a category product assignment. + description: |- + Update the category product assignment with the specified information, such as position. + Because the assigned position n is a normalized target position, we verify that the product is assigned + to a position that maintains position order. + + For example, if we have products A, B, C, D at positions 1, 2, 3, 4 and we update product A with a new position of 3, + the end result is products B, C, A, D with position order 1, 2, 3, 4. If we then update product C to no position, + the end result is products B, A, D, C with position order 1, 2, 3, null. + + If there are n existing positioned assignments, updating a product to position >= n results in a new assignment with a position that maintains the position order. + operationId: updateProductCategoryAssignment + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignment' + examples: + CatalogCategoryProdAssignmentBody: + $ref: '#/components/examples/CatalogCategoryProdAssignmentBody' + required: true + responses: + '200': + description: Assignment updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryProductAssignment' + examples: + CatalogCategoryPrdAssignmentExample: + $ref: '#/components/examples/CatalogCategoryPrdAssignmentExample' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/rules-execution: + get: + summary: Get the status of the latest categorization job. + description: Get the status of the latest categorization job, which could be evaluation or execution. For evaluation, the matched count and a paginated list of product IDs are returned. For execution, the counts of the products that are assigned or unassigned are returned. + operationId: getCategorizationStatus + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: Job executed status returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ExecutionJobStatusResult' + examples: + ExecutionJobStatusResponse: + $ref: '#/components/examples/ExecutionJobStatusResponse' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategorizationStatus404: + $ref: '#/components/examples/getCategorizationStatus404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + post: + summary: Submit a job to evaluate or execute the rules. + description: Submit a job to evaluate or execute the rules. The evaluation returns a set of matching products based on the rules and conditions. The execution categorizes the products based on the evaluated results. + operationId: runCategoryRules + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ExecutionRequest' + examples: + ExecutionRequestBody: + $ref: '#/components/examples/ExecutionRequestBody' + required: true + responses: + '202': + description: Job submitted successfully. + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/excluded-products: + get: + summary: Get the list of excluded products. + description: Get the list of excluded products for a given catalog and category. + operationId: getExclusionList + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Excluded products retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ExcludedProductsResult' + examples: + GetExcludedProducts: + $ref: '#/components/examples/GetExcludedProducts' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + post: + summary: Add products to the exclusion list. + description: Add the product to the excluded product list for a given catalog and category. After a product is added as an excluded product for the category, the categorization process no longer categorizes that product for that category. + operationId: addProductsToExclusionList + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ExcludedProductRequest' + examples: + ExcludedProductsRequestBody: + $ref: '#/components/examples/ExcludedProductsRequestBody' + required: true + responses: + '200': + description: Excluded products list added for a catalog category. + content: + application/json: + schema: + $ref: '#/components/schemas/ExcludedProductsResult' + examples: + GetExcludedProducts: + $ref: '#/components/examples/GetExcludedProducts' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + delete: + summary: Remove products from the exclusion list. + description: Delete products from the excluded products list for a catalog category. + operationId: removeProductsFromExclusionList + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ExcludedProductRequest' + examples: + ExcludedProductsRequestBody: + $ref: '#/components/examples/ExcludedProductsRequestBody' + required: true + responses: + '204': + description: No content. + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getRuleById404: + $ref: '#/components/examples/getRuleById404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/rules: + get: + summary: Retrieve all rules for a catalog and category. + description: Get all rules for the given catalog and category. + operationId: getCategoryRules + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Rules retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/RulesResult' + examples: + GetRules: + $ref: '#/components/examples/GetRules' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + post: + summary: Create rules and conditions for a catalog and category. + description: Create all rules and conditions within the catalog and category. This deletes any existing rules and conditions for that catalog and category combination, and recreates them based on the new request. The LocaleID, PrimaryFlag, and ClassificationFlag can be set on any of the individual rules, but they apply to the entire ruleset. For simplicity, those values can be provided with one of the rules. If they are provided with multiple rules, then they must all have the same value for all rules or it could produce undesired effects. + operationId: createCategoryRules + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RulesRequest' + examples: + PostRuleRequestBody: + $ref: '#/components/examples/PostRuleRequestBody' + required: true + responses: + '200': + description: Rules created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/RulesResult' + examples: + GetRules: + $ref: '#/components/examples/GetRules' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + delete: + summary: Delete all rules and conditions for a catalog and category. + description: Delete all rules and conditions for the given catalog and category. + operationId: deleteCategoryRules + parameters: + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: No content. + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getRuleById404: + $ref: '#/components/examples/getRuleById404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/rules/{ruleId}: + get: + summary: Retrieve a rule by ID. + description: Get a rule by ID. + operationId: getRuleById + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Rule retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/Rule' + examples: + GetRulesByID: + $ref: '#/components/examples/GetRulesByID' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getRuleById404: + $ref: '#/components/examples/getRuleById404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + put: + summary: Create or update a rule. + description: Create or update a rule. + operationId: createUpdateRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RuleRequest' + examples: + PutRuleRequestBody: + $ref: '#/components/examples/PutRuleRequestBody' + required: true + responses: + '200': + description: Rule updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Rule' + examples: + PutRuleRequestBody: + $ref: '#/components/examples/PutRuleUpdateResult' + '201': + description: Rule created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Rule' + examples: + PutRuleRequestBody: + $ref: '#/components/examples/PutRuleUpdateResult' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + delete: + summary: Delete a rule. + description: Delete a rule. + operationId: deleteRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: No content. + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getRuleById404: + $ref: '#/components/examples/getRuleById404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/rules/{ruleId}/conditions: + get: + summary: Retrieve conditions for a rule. + description: Get the conditions for a given rule, catalog and category. + operationId: getCategoryRuleConditions + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Conditions retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ConditionsResult' + examples: + GetConditions: + $ref: '#/components/examples/GetConditions' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + delete: + summary: Delete all conditions for a rule. + description: Deletes all conditions for a given rule, catalog, and category. + operationId: deleteCategoryRuleConditions + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: No content. + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getRuleById404: + $ref: '#/components/examples/getRuleById404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/categories/{categoryId}/rules/{ruleId}/conditions/{conditionId}: + get: + summary: Retrieve a condition by ID. + description: Get a condition by ID. + operationId: getCategoryRuleCondition + parameters: + - $ref: '#/components/parameters/conditionId' + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Condition retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Condition' + examples: + GetConditionByID: + $ref: '#/components/examples/GetConditionByID' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + put: + summary: Create or update a condition. + description: Create or update a condition. + operationId: createOrUpdateCategoryRuleCondition + parameters: + - $ref: '#/components/parameters/conditionId' + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Condition' + examples: + PutConditionRequestBody: + $ref: '#/components/examples/PutConditionRequestBody' + required: true + responses: + '200': + description: Condition updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Condition' + examples: + GetConditionByID: + $ref: '#/components/examples/GetConditionByID' + '201': + description: Condition created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Condition' + examples: + GetConditionByID: + $ref: '#/components/examples/GetConditionByID' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + delete: + summary: Delete a condition. + description: Delete a condition. + operationId: deleteCategoryRuleCondition + parameters: + - $ref: '#/components/parameters/conditionId' + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: No content. + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getRuleById404: + $ref: '#/components/examples/getRuleById404' + security: + - AmOAuth2: + - sfcc.catalogs.rw + /organizations/{organizationId}/catalogs/{catalogId}/category-search: + post: + summary: Search for catalog categories. + description: |- + Search for catalog categories in the scope of a catalog. + By default, the server returns the first level of subcategories, + but you can specify another level by setting the levels parameter. + Using a large value for levels can cause performance + issues with large and deep category trees. + + The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: + + | Attribute | Type | + |-----------|--------| + |id | String | + |name | String | + |description | String | + |creationDate | DateTime | + |online | Boolean | + |parentCategoryId | String| + + + The output of the query can also be sorted with the following sortable attributes: + + | Attribute | Type | + |-----------|--------| + |id | String | + |name | String | + |description | String | + |creationDate | DateTime | + |online | Boolean | + |position | Double| + operationId: searchCategoriesInCatalog + parameters: + - $ref: '#/components/parameters/catalogId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/levels' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CatalogCategorySearchRequest' + examples: + CatalogSearchBody: + $ref: '#/components/examples/CatalogSearchBody' + required: true + responses: + '200': + description: Categories searched successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategorySearchResult' + examples: + CategorySearchResultExample: + $ref: '#/components/examples/CategorySearchResultExample' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + /organizations/{organizationId}/catalog-search: + post: + summary: Search for catalogs. + description: |- + Search for catalogs. + + The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: + + | Attribute | Type | + |-----------|--------| + |id | String | + |name | String | + |description | String | + |creationDate | DateTime | + + There are two additional fields that can be used as search filters. They are not attributes in the CatalogWO object, + but they can be used as filters to query catalogs based on site assignments. + + | Attribute | Type | + |-----------|--------| + |isMasterCatalog | Boolean | + |isStorefrontCatalog | Boolean | + |description | String | + |creationDate | DateTime | + |online | Boolean | + |position | Double| + + + When you use isMasterCatalog in the search query, catalogs without any site assignments are returned. + When you use isStorefrontCatalog in the search query, catalogs with one or more site assignments are returned. + + The output of the query can also be sorted with the following sortable attributes: + + | Attribute | Type | + |-----------|--------| + |id | String | + |name | String | + |description | String | + |creationDate | DateTime | + operationId: searchCatalogs + parameters: + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CatalogSearchRequest' + examples: + CatalogSearchBodyQuery: + $ref: '#/components/examples/CatalogSearchBodyQuery' + required: true + responses: + '200': + description: Catalogs searched successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CatalogSearchResult' + examples: + CatalogSearchResultQuery: + $ref: '#/components/examples/CatalogSearchResultQuery' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw + /organizations/{organizationId}/category-search: + post: + summary: Search for categories within an organization. + description: "Search for catalog categories.\nBy default, the server returns the first level of subcategories,\nbut you can specify another level by setting the levels parameter.\nUsing a large value for levels can cause performance\nissues with large and deep category trees.\n\nThe query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes:\n\n| Attribute | Type |\n|-----------|--------|\n|id | String |\n|name | String |\n|description | String |\n|creationDate | DateTime |\n|online | Boolean |\n|catalogId | String| \n\nThe output of the query can also be sorted with the following sortable attributes:\n\n| Attribute | Type |\n|-----------|--------|\n|id | String |\n|name | String |\n|description | String |\n|creationDate | DateTime |\n|online | Boolean |\n|position | Double|" + operationId: searchCategories + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/levels' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CategorySearchRequest' + examples: + CategorySearchBody: + $ref: '#/components/examples/CategorySearchBody' + required: true + responses: + '200': + description: Categories searched successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategorySearchResult' + examples: + CategorySearchResultExample: + $ref: '#/components/examples/CategorySearchResultExample' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCategoryFromCatalog400: + $ref: '#/components/examples/getCategoryFromCatalog400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog401: + $ref: '#/components/examples/getCatalog401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCatalog404: + $ref: '#/components/examples/getCatalog404' + security: + - AmOAuth2: + - sfcc.catalogs + - sfcc.catalogs.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.catalogs: catalogs scope READONLY + sfcc.catalogs.rw: catalogs scope + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.catalogs: catalogs scope READONLY + sfcc.catalogs.rw: catalogs scope + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + Site: + required: + - displayName + - id + type: object + properties: + cartridges: + type: string + description: The cartridge path of the site. + example: sitegenesis_storefront_controllers:sitegenesis_storefront_core + customerListLink: + required: + - customerListId + type: object + properties: + customerListId: + type: string + description: The customerList ID. + allOf: + - $ref: '#/components/schemas/String256' + example: SiteGenesis + title: + type: object + additionalProperties: + type: string + description: The link title. + description: Document representing a link to a customer list. + description: + type: object + additionalProperties: false + description: The description of this site. + example: + default: Prototypical site used for starting point + displayName: + type: object + additionalProperties: false + description: The display name entered by the user. + example: + default: Site Genesis + id: + $ref: '#/components/schemas/SiteId' + inDeletion: + type: boolean + description: The deletion status of this site, true if in deletion. + example: false + storefrontStatus: + type: string + description: The storefront status of the site, it can be optionally be set to online, maintenance, to_be_deleted, and protected. + example: online + enum: + - online + - maintenance + - to_be_deleted + - protected + description: Document representing a site. + CatalogId: + maxLength: 256 + minLength: 1 + type: string + description: The ID of the catalog. + example: apparel-catalog + Catalog: + type: object + properties: + assignedProductCount: + type: integer + description: The count of products assigned to the catalog. It is read only. + format: int32 + example: 20 + assignedSites: + items: + $ref: '#/components/schemas/Site' + type: array + description: The sites assigned to the catalog. It is read only. + categoryCount: + type: integer + description: The category count of catalog. It is read only. + format: int32 + example: 10 + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. It is read only. + format: date-time + maxLength: 30 + example: 253402214400 + description: + type: object + additionalProperties: + type: string + description: The description of catalog. + id: + $ref: '#/components/schemas/CatalogId' + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. It is read only. + format: date-time + maxLength: 30 + example: 253402214400 + name: + type: object + additionalProperties: + type: string + description: The catalog name. + online: + type: boolean + description: The online status of catalog. + example: false + ownedProductCount: + type: integer + description: The count of products owned by the catalog. It is read only. + format: int32 + example: 100 + recommendationCount: + type: integer + description: The recommendation count of the catalog. It is read only. + format: int32 + example: 50 + rootCategory: + type: string + description: The root category of the catalog. It is read only. + allOf: + - $ref: '#/components/schemas/String256' + example: apparel-master-catalog + description: Document representing a catalog. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - id + Catalogs: + required: + - data + - limit + - offset + - total + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/Catalog' + type: array + description: The collection of catalogs. + description: Catalogs allow categories to be organized into hierarchical structures. + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + Category: + type: object + properties: + catalogId: + allOf: + - $ref: '#/components/schemas/CatalogId' + description: The ID of the catalog that contains it. + example: apparel-catalog + categories: + items: + $ref: '#/components/schemas/Category' + type: array + description: The array of subcategories for the category. + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. It is read only. + format: date-time + maxLength: 30 + example: 253402214400 + description: + type: object + additionalProperties: false + description: The localized description of the category. + example: + en_US: Mens Clothing Outerwear + id: + allOf: + - $ref: '#/components/schemas/CategoryId' + description: The ID of the category. + example: mens-clothing-outerwear + image: + maxLength: 256 + minLength: 1 + type: string + description: The name of the category image. The URL to the image is computed. + example: Summer Bomber Jacket + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. It is read only. + format: date-time + maxLength: 30 + example: 253402214400 + name: + type: object + additionalProperties: false + description: The localized name of the category. + example: + en_US: Mens Clothing Outerwear + online: + type: boolean + description: The online status of the category determines if it is visible in the storefront. Defaults to false if not specified on creation. + example: true + pageDescription: + type: object + additionalProperties: false + description: The localized page description of the category. + example: + en_US: Mens Outerwear Category + pageKeywords: + type: object + additionalProperties: false + description: The localized page keywords for the category. + example: + en_US: Outerwear + pageTitle: + type: object + additionalProperties: false + description: The localized page title of the category. + example: + en_US: Mens Clothing Outerwear + parentCategoryId: + maxLength: 256 + minLength: 1 + type: string + description: The ID of the parent category. Defaults to root if not specified on creation. + example: mens-clothing + paths: + items: + $ref: '#/components/schemas/PathRecord' + type: array + description: The path record. + position: + type: number + description: The position of the category determines the display order in the storefront. + format: double + example: 3 + sortingRules: + items: + $ref: '#/components/schemas/SortingRule' + type: array + description: The category sorting rules. + thumbnail: + maxLength: 256 + minLength: 1 + type: string + description: The name of the category thumbnail. The URL to the thumbnail is computed. + example: Summer Bomber Jacket Large + description: Document representing a category. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - id + CategoryId: + maxLength: 256 + minLength: 1 + type: string + description: The ID of the category. + example: mens + PathRecord: + type: object + properties: + id: + allOf: + - $ref: '#/components/schemas/CategoryId' + description: The ID of the category path. + example: mens-clothing + name: + type: object + additionalProperties: + type: string + description: The name of the category path. + description: Document representing most basic info (ID and name) of a category or catalog. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + String4000: + type: string + maxLength: 4000 + description: "The String4000 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 4000 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 4000 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 2000 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 1333 characters." + example: This is a detailed description of an Excellent Product. It includes all the features, specifications, and benefits of the product. The Excellent Product is designed to provide exceptional performance and reliability. It is made from high-quality materials and has been rigorously tested to ensure it meets the highest standards. Whether you are using it for personal or professional purposes, the Excellent Product is the perfect choice. With its advanced technology and user-friendly design, it offers unparalleled convenience and efficiency. Order your Excellent Product today and experience the difference it can make. + SortingRuleStep: + type: object + properties: + attributeId: + allOf: + - $ref: '#/components/schemas/String256' + description: The ID for sorting attribute. + example: price + direction: + type: string + description: The direction of the sorting attribute. + example: desc + enum: + - asc + - desc + isSystem: + type: boolean + description: Whether or not the attribute is a system attribute. + example: false + position: + type: integer + description: The position of product sorting rule step. + format: int32 + example: 1 + textRelevanceIncluded: + type: boolean + description: The text relevance included. + example: true + typeId: + allOf: + - $ref: '#/components/schemas/String256' + description: The sorting type for sorting attribute. + example: price + description: Document representing a product sorting rule step. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + SortingRule: + type: object + properties: + creationDate: + type: string + description: The creation date, read only. + format: date-time + maxLength: 30 + example: 253402214400 + description: + allOf: + - $ref: '#/components/schemas/String4000' + description: The description of the product sorting rule. + example: Sorts by price descending + id: + description: The ID of the product sorting rule. + allOf: + - $ref: '#/components/schemas/String256' + example: price-high-to-low + productSortingRuleSteps: + items: + $ref: '#/components/schemas/SortingRuleStep' + type: array + description: The steps involved in sorting by this rule. + ruleContext: + type: string + description: The context of the rule, either site or global. + enum: + - site + - global + example: site + site: + $ref: '#/components/schemas/SiteId' + description: Document representing a product sorting rule. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + Categories: + required: + - data + - limit + - offset + - total + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/Category' + type: array + description: Category data + description: "Categories allow products to be organized into hierarchical structures. \nCategories can have relationships to other parent categories. Each category also can provide a context inherited by subcategories. \nFor example, a category may have an attribute value assigned to it, and any product assigned to the category or a subcategory would inherit the attribute value as long as the product is assigned. \nOnce the product is removed from the category those attribute values would no longer be in the context of the product. Linking of categories is also used for Site hierarchical navigation. \nFor example, inside 'Clothing' you may have 'Mens', and inside 'Mens' you may have 'Pants'. Categories are not *Tags*.\"" + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + CategoryProductAssignmentSearchRequest: + required: + - query + type: object + allOf: + - $ref: '#/components/schemas/SearchRequest' + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + example: + limit: 4 + query: + textQuery: + fields: + - id + - description + searchPhrase: campaign + offset: 2 + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + CatalogCategoryId: + required: + - catalogId + - categoryId + type: object + properties: + catalogId: + $ref: '#/components/schemas/CatalogId' + categoryId: + $ref: '#/components/schemas/CategoryId' + description: Document representing a catalog category ID. + Product: + required: + - id + type: object + properties: + assignedCategories: + items: + $ref: '#/components/schemas/CatalogCategoryId' + type: array + description: The catalog categories that the product is assigned to. It is read only. + ats: + type: number + description: The Available To Sell (ATS) inventory value of the product. This is a calculated value. + format: double + example: 15 + brand: + type: string + description: The brand of the product. + example: Apple + bundledProducts: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of bundled products which the product includes. It is read only. + classificationCategory: + $ref: '#/components/schemas/CatalogCategoryId' + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. It is read only. + format: date-time + example: 253402214400 + defaultVariantId: + type: string + description: The ID of the product's default variant. It is read only. + example: apple-ipod-classic-8gb-black + ean: + type: string + description: The European Article Number of the product. + example: ksdf69w4 + id: + $ref: '#/components/schemas/ProductId' + image: + $ref: '#/components/schemas/MediaFile' + imageGroups: + items: + $ref: '#/components/schemas/ImageGroup' + type: array + description: The array of product image groups. It is read only. + inStock: + type: boolean + description: The flag that indicates if the product is in stock, or not. This is a calculated value. + example: true + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. It is read only. + format: date-time + example: 253402214400 + localizedTaxClassId: + type: object + additionalProperties: false + description: The localized tax class identifier of the product. + example: + en_US: exempt + longDescription: + type: object + additionalProperties: + $ref: '#/components/schemas/MarkupText' + description: The localized long description of the product. + manufacturerName: + type: string + description: The name of the product's manufacturer. + example: Apple + manufacturerSku: + type: string + description: The SKU of the product's manufacturer. + example: HSD68J + master: + $ref: '#/components/schemas/Master' + name: + type: object + additionalProperties: false + description: The localized name of the product. + example: + en_US: Apple Ipod Classic + online: + type: boolean + description: The flag that indicates if the product is online, or not. This is a calculated value. + example: true + onlineFlag: + type: object + additionalProperties: false + description: The site-specific online status of the product. + example: + Site1: true + owningCatalogId: + type: string + description: The ID of the catalog that owns the product. + example: apple-master-catalog + owningCatalogName: + type: object + additionalProperties: false + description: The localized name of the catalog that owns the product. It is read only. + example: + en_US: Apple Master Catalog + pageDescription: + type: object + additionalProperties: false + description: The localized page description of the product. + example: + en_US: Page Description + pageKeywords: + type: object + additionalProperties: false + description: The localized page keywords of the product. + example: + en_US: Keywords + pageTitle: + type: object + additionalProperties: false + description: The localized page title of the product. + example: + en_US: Page Title + price: + type: number + description: The price of the product. + format: double + example: 219.99 + priceCurrency: + type: string + description: The currency code for a product's price. + example: USD + pricePerUnit: + type: number + description: The price per unit of the product. This is a read only field. + format: double + example: 1 + primaryCategories: + items: + $ref: '#/components/schemas/CatalogCategoryId' + type: array + description: The primary catalog categories that the product is assigned to. It is read only. + primaryCategoryId: + type: string + description: The ID of the products primary category. This is a read only field. It is read only. + example: electronics-media-players + productBundles: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of product bundles which the product belongs to. It is read only. + productOptions: + items: + $ref: '#/components/schemas/ProductOption' + type: array + description: The array of product options. This is applicable for products of type "option". It is read only. + productSets: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of product sets which the product belongs to. It is read only. + searchable: + type: object + additionalProperties: false + description: The site-specific searchable status of the product. + example: + Site1: true + setProducts: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of set products which the product includes. It is read only. + shortDescription: + type: object + additionalProperties: + $ref: '#/components/schemas/MarkupText' + description: The localized short description of the product. + taxClassId: + type: string + description: The tax class identifier of the product. + example: standard + type: + $ref: '#/components/schemas/ProductType' + unit: + type: string + description: The sales unit of the product. + example: single + unitMeasure: + type: string + description: The unitMeasure of the product. + example: each + unitQuantity: + type: number + description: The unitQuantity of the product. + format: double + example: 15 + upc: + type: string + description: The Universal Product Code (UPC) of the product. + example: 66JSD88JASD + validFrom: + type: object + additionalProperties: false + description: The valid/online from date of the product. + example: + default@SiteGenesis: '2000-05-11T00:00:00.000Z' + validTo: + type: object + additionalProperties: false + description: The valid/online to date of the product. + example: + default@SiteGenesis: '2050-05-11T00:00:00.000Z' + variants: + items: + $ref: '#/components/schemas/Variant' + type: array + description: The array of variants of the product. This is applicable for product types "master" and "variationGroup" only. It is read only. + variationAttributes: + items: + $ref: '#/components/schemas/VariationAttribute' + type: array + description: |- + The sorted array of variation attributes assigned to the product. This is applicable for product types "master", + "variationGroup" and "variant" only. It is read only. + variationGroups: + items: + $ref: '#/components/schemas/VariationGroup' + type: array + description: The array of variation groups in the product. This is applicable for product type "master" only. It is read only. + variationValues: + type: object + additionalProperties: false + description: |- + The variation values selected for the product in variation attribute id and value pairs. This is applicable for product types "Variant" and + "VariationGroup" only. It is read only. + example: + color: red + size: 8gb + description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. Product that has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + MediaFile: + required: + - path + type: object + properties: + absUrl: + type: string + description: The absolute URL with request protocol. + example: https://www.example-image.com/images/apple-ipod-classic.jpg + alt: + type: object + additionalProperties: false + description: The alternative image text. + example: + en_US: iPod + disBaseUrl: + type: string + description: The Dynamic Image Service (DIS) base URL for product images only. + example: https://www.dis-base-url/images/apple-ipod-clasic.jpg + path: + type: string + description: The raw media file path. + example: /images/apple-ipod-classic.jpg + title: + type: object + additionalProperties: false + description: The image title. + example: + en_US: iPod + description: Document representing media file. + VariationAttributeValue: + required: + - value + type: object + properties: + description: + type: object + additionalProperties: false + description: The localized description of the variation value. + example: + en_US: Red + image: + $ref: '#/components/schemas/MediaFile' + imageSwatch: + $ref: '#/components/schemas/MediaFile' + name: + type: object + additionalProperties: false + description: The localized display name of the variation value. + example: + color: Red + orderable: + type: boolean + description: A flag indicating whether at least one variant with this variation attribute value is available to sell. + example: true + position: + type: number + description: The position of the value among all values of a variation attribute. + format: double + example: 2 + value: + minLength: 1 + type: string + description: The actual variation value. + example: red + description: Document representing a variation attribute value. + VariationAttribute: + required: + - attributeDefinitionId + type: object + properties: + attributeDefinitionId: + type: string + description: The id of the requested attribute definition. + example: color + attributeDefinitionName: + type: object + additionalProperties: false + description: The localized display name of the variation attribute definition. + example: + en_US: Color + defaultValue: + type: string + description: Default variation attribute value. + example: black + id: + minLength: 1 + type: string + description: The ID of the variation attribute. + example: color + name: + type: object + additionalProperties: false + description: The localized display name of the variation attribute. + example: + en_US: Color + shared: + type: boolean + description: Returns the value of attribute 'shared' if attribute is local or shared. + example: false + slicing: + type: boolean + description: Returns the value of attribute 'slicing'. + example: true + values: + items: + $ref: '#/components/schemas/VariationAttributeValue' + type: array + description: The sorted array of variation values. This array can be empty. + variationAttributeType: + type: string + description: Variation attribute type. + example: string + enum: + - string + - int + - unknown + description: Document representing a variation attribute. + ImageGroup: + required: + - images + - viewType + type: object + properties: + images: + items: + $ref: '#/components/schemas/MediaFile' + type: array + description: The images of the image group. + variationAttributes: + items: + $ref: '#/components/schemas/VariationAttribute' + type: array + description: Returns a list of variation attributes applying to this image group. + viewType: + type: string + description: The image view type. + example: hi-res + description: Document representing an image group containing a list of images for a particular view type and an optional variation value. + MarkupText: + required: + - markup + - source + type: object + properties: + markup: + type: string + description: The rendered HTML. + example: '' + source: + type: string + description: The raw markup text. + example: '' + description: Document representing markup text. + Master: + required: + - masterId + type: object + properties: + masterId: + $ref: '#/components/schemas/ProductId' + orderable: + type: boolean + description: A flag indicating whether at least one of the variants is orderable. + example: true + price: + type: number + description: The minimum sales price of the related variants. + format: double + example: 199.99 + priceMax: + type: number + description: The maximum sales of related variants. + format: double + example: 219.99 + prices: + type: object + additionalProperties: + type: number + format: double + description: prices + description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Does'nt have a SKU.* + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + Money: + description: A combination of a Currency and an amount of that Currency. + type: object + properties: + currencyMnemonic: + $ref: '#/components/schemas/CurrencyCode' + value: + format: double + description: The amount of money for the given currency. + example: 1234.56 + type: number + ProductOptionValue: + required: + - id + - value + type: object + properties: + defaultProductOptionValue: + type: boolean + description: Flag indicating if the product option value is the default value for the product option. + example: true + id: + minLength: 1 + type: string + description: The ID of the product option value. + example: 5-year + optionPrices: + items: + $ref: '#/components/schemas/Money' + type: array + description: The list of prices in the product option value. + skuExtension: + type: string + description: The SKU extension of the product option value. + example: extension + value: + type: object + additionalProperties: false + description: The localized value of the product option. + example: + en_US: 5 Year Warranty + description: Document representing a product option Value + ProductOption: + required: + - id + type: object + properties: + customName: + type: object + additionalProperties: false + description: The localized custom name of the product option. + example: + en_US: Warranty + defaultProductOptionValue: + type: string + description: The default product option value. + example: 5-years + description: + type: object + additionalProperties: false + description: The localized description of the product option. + example: + en_US: Option Description + id: + minLength: 1 + type: string + description: The object attribute definition ID which is also the identifier for the product option. + example: warranty + image: + $ref: '#/components/schemas/MediaFile' + name: + type: string + description: The name of the object attribute definition. + example: Warranty + selectedOptionValue: + type: string + description: The selected option value of the product option. + example: 2-years + shared: + type: boolean + description: The flag that indicates if the product option is shared or local. + example: false + sortingMode: + type: string + description: The sorting mode for the product option values. + example: byoptionprice + enum: + - byexplicitorder + - byoptionprice + values: + items: + $ref: '#/components/schemas/ProductOptionValue' + type: array + description: The sorted array of values of the product option. + description: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can't be purchased separately. + ProductType: + required: + - master + type: object + properties: + bundle: + type: boolean + description: A flag indicating whether the product is a bundle. + example: false + bundled: + type: boolean + description: A flag indicating whether the product is bundled. + example: false + item: + type: boolean + description: A flag indicating whether the product is a standard item. + example: false + master: + type: boolean + description: A flag indicating whether the product is a master. + example: true + option: + type: boolean + description: A flag indicating whether the product is an option. + example: false + partOfProductSet: + type: boolean + description: A flag indicating whether the product is part of product set. + example: false + partOfRetailSet: + type: boolean + description: A flag indicating whether the product is part of retail set. + example: false + retailSet: + type: boolean + description: A flag indicating whether the product is a retail set. + example: false + set: + type: boolean + description: A flag indicating whether the product is a set. + example: false + variant: + type: boolean + description: A flag indicating whether the product is a variant. + example: false + variationGroup: + type: boolean + description: A flag indicating whether the product is a variation group. + example: false + description: Document representing a product type. + Variant: + required: + - productId + type: object + properties: + ats: + type: number + description: The Available To Sell (ATS) inventory value of the product. This is a calculated value. + format: double + example: 10 + defaultProductVariation: + type: boolean + description: A flag indicating whether the variant is a default variant. + example: true + image: + $ref: '#/components/schemas/MediaFile' + inStock: + type: boolean + description: True if the product is in stock, false if not. + example: true + online: + type: boolean + description: |- + If the product is currently online. + True if online, false if not. + example: true + orderable: + type: boolean + description: A flag indicating whether the variant is orderable. + example: true + price: + type: number + description: The sales price of the variant. + format: double + example: 29.99 + priceCurrency: + type: string + description: Currency code for the price of the product. + example: USD + productId: + $ref: '#/components/schemas/ProductId' + searchable: + type: object + additionalProperties: false + description: A flag indicating whether the variant is searchable. + example: + Site1: true + variationAttributes: + items: + $ref: '#/components/schemas/VariationAttribute' + type: array + description: Variation attributes. + variationValues: + type: object + additionalProperties: false + description: The actual variation attribute ID - value pairs. + example: + color: black + description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU* + VariationGroup: + required: + - productId + type: object + properties: + orderable: + type: boolean + description: A flag indicating whether the variation group is orderable. + example: true + price: + type: number + description: The sales price of the variation group. + format: double + example: 229.99 + productId: + maxLength: 100 + minLength: 1 + type: string + description: The ID (SKU) of the variation group. + example: apple-ipod-classic-black + variationValues: + type: object + additionalProperties: false + description: The actual variation attribute ID - value pairs. + example: + color: red + description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Doesn't have a SKU.* + CategoryProductAssignment: + required: + - catalogId + - categoryId + - productId + type: object + properties: + catalogId: + allOf: + - $ref: '#/components/schemas/CatalogId' + description: The ID of the catalog. + example: apparel-catalog + categoryId: + allOf: + - $ref: '#/components/schemas/CategoryId' + description: The ID of the category. + example: mens + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. It is read only. + format: date-time + maxLength: 30 + example: 253402214400 + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. It is read only. + format: date-time + maxLength: 30 + example: 253402214400 + owningCatalogName: + type: object + additionalProperties: + type: string + description: The name of the catalog that owns the product. + position: + type: number + description: The position of product category assignment. + format: double + example: 2 + product: + $ref: '#/components/schemas/Product' + productId: + $ref: '#/components/schemas/ProductId' + productName: + type: object + description: The name of the product. + example: + default: Summer Bomber Jacket + description: Document representing a category product assignment. + CategoryProductAssignmentSearchResult: + required: + - limit + - offset + - total + - hits + type: object + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + items: + $ref: '#/components/schemas/CategoryProductAssignment' + type: array + description: The sorted array of search hits. This array can be empty. + description: Document representing a product search result. + example: + value: + - limit: 1 + hits: + - couponId: MyCoupon + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + ExecutionJobStatusResult: + required: + - jobStatus + type: object + properties: + type: + type: string + description: The type of execution job. + example: evaluation + enum: + - evaluation + - execution + assignedCount: + type: integer + description: Indicates total number of products assigned by the execution job. + example: 100 + unassignedCount: + type: integer + description: Indicates total number of products unassigned by the execution job. + example: 100 + matchedCount: + type: integer + description: Indicates total number of products evaluated and matched by the evaluation job. + example: 100 + jobStatus: + type: string + description: Indicates the status of the rules execution job (that is, indicates whether the job completed successfully or an error occurred). + example: success + enum: + - inProgress + - success + - error + - unavailable + message: + type: string + description: A description of any errors, failures, and exceptions that caused the job to fail. + example: Job execution failed to start. + lastRunDate: + type: string + description: The date that the rules categorization job was last run for given catalog and category. + format: date-time + maxLength: 30 + example: 253402214400 + productIds: + items: + $ref: '#/components/schemas/String256' + type: array + description: The list of matched product IDs returned by the execution job. + example: + - 25772717 + - 25772792 + limit: + $ref: '#/components/schemas/Limit' + offset: + $ref: '#/components/schemas/Offset' + description: The status of the execution job. + ExecutionRequest: + required: + - evaluation + type: object + properties: + evaluation: + type: boolean + description: A flag indicating whether only an evaluation job needs to be performed. + default: true + example: true + description: The document representing the execution Request for categorization. + ExcludedProduct: + required: + - productId + type: object + properties: + productId: + $ref: '#/components/schemas/ProductId' + description: The excluded product record. + ExcludedProductsResult: + required: + - limit + - total + type: object + properties: + limit: + $ref: '#/components/schemas/Limit' + data: + items: + $ref: '#/components/schemas/ExcludedProduct' + type: array + description: The list of the excluded products. This can be empty. + total: + $ref: '#/components/schemas/Total' + description: The list of excluded products. + ExcludedProductRequest: + required: + - data + type: object + properties: + data: + items: + $ref: '#/components/schemas/ExcludedProduct' + type: array + description: The list of the excluded products. + description: The excluded product record + Condition: + required: + - attributeKey + - attributeValue + - id + - operator + type: object + properties: + id: + description: The ID of the condition. + example: NameCondition + allOf: + - $ref: '#/components/schemas/String256' + attributeKey: + allOf: + - $ref: '#/components/schemas/String256' + description: The key of the attribute(system or custom). This represents the ID of the attribute. + example: name + attributeName: + allOf: + - $ref: '#/components/schemas/String4000' + description: The human-readable name of the attribute(system or custom). This is a read-only field. + example: name + attributeValue: + items: + allOf: + - $ref: '#/components/schemas/String4000' + type: array + description: The value of the attribute. + example: + - Shirt + operator: + type: string + description: The operator for the condition. + example: starts_with + enum: + - starts_with + - contains + - equals + - not_equals + - greater_than + - less_than + - is_one_of + - not_one_of + - is_defined + - is_not_defined + description: Document representing a condition. + Rule: + required: + - enabled + - exclusion + - id + type: object + properties: + id: + allOf: + - $ref: '#/components/schemas/String256' + description: The ID of the rule. + example: VHRule + enabled: + type: boolean + description: A flag indicating whether this rule is enabled. + default: false + example: false + exclusion: + type: boolean + description: A flag indicating whether this rule is an exclusion. + default: false + example: false + categorizationLocaleId: + type: string + maxLength: 10 + description: | + This field indicates the locale to be used for evaluating rules/conditions for the entire category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. + example: en-US + categorizationClassificationFlag: + type: boolean + description: | + This field indicates if the matching products assigned as a result of the rules run will be given the tag for classification category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. + default: false + example: true + categorizationPrimaryFlag: + type: boolean + description: | + This field indicates if the matching products assigned as a result of the rules run will be given the tag for primary category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. + default: false + example: true + conditions: + items: + $ref: '#/components/schemas/Condition' + type: array + description: The list of conditions for the rule. + description: Document representing a categorization rule. + RulesResult: + required: + - limit + - total + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + data: + items: + $ref: '#/components/schemas/Rule' + type: array + description: The list of rules. This can be empty. *Note* - If the exclusion attribute is set to true, the rule is designated as an Exclusion rule. Any item matching an Exclusion rule is omitted from the final result set. + description: Result document containing an array of rules. + RulesRequest: + type: object + properties: + data: + items: + $ref: '#/components/schemas/Rule' + type: array + description: The list of rules. This can be empty. + description: Request document containing an array of rules for saving multiple rules. + RuleRequest: + required: + - enabled + - exclusion + - id + type: object + properties: + id: + allOf: + - $ref: '#/components/schemas/String256' + description: The ID of the rule. + example: VHRule + enabled: + type: boolean + description: A flag indicating whether this rule is enabled. + default: false + example: false + exclusion: + type: boolean + description: A flag indicating whether this rule is an exclusion. + default: false + example: false + categorizationLocaleId: + type: string + maxLength: 10 + description: | + This field indicates the locale to be used for evaluating rules/conditions for the entire category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. + example: en-US + categorizationClassificationFlag: + type: boolean + description: | + This field indicates if the matching products assigned as a result of the rules run will be given the tag for classification category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. + default: false + example: true + categorizationPrimaryFlag: + type: boolean + description: | + This field indicates if the matching products assigned as a result of the rules run will be given the tag for primary category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. + default: false + example: true + description: This document represents the request body while creating a rule. + ConditionsResult: + required: + - limit + - total + type: object + properties: + limit: + $ref: '#/components/schemas/Limit' + conditions: + items: + $ref: '#/components/schemas/Condition' + type: array + description: The list of conditions for a rule. This can be empty. + total: + $ref: '#/components/schemas/Total' + description: Result document containing an array of conditions. + CatalogCategorySearchRequest: + required: + - query + type: object + allOf: + - $ref: '#/components/schemas/SearchRequest' + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + example: + limit: 4 + query: + textQuery: + fields: + - id + - description + searchPhrase: campaign + offset: 2 + CategorySearchResult: + required: + - limit + - offset + - total + - hits + type: object + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + items: + $ref: '#/components/schemas/Category' + type: array + description: The sorted array of search hits. Can be empty. + description: Document representing a catalog search result. + example: + value: + - limit: 1 + hits: + - couponId: MyCoupon + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + CatalogSearchRequest: + required: + - query + type: object + allOf: + - $ref: '#/components/schemas/SearchRequest' + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + example: + limit: 4 + query: + textQuery: + fields: + - id + - description + searchPhrase: campaign + offset: 2 + CatalogSearchResult: + required: + - limit + - offset + - total + - hits + type: object + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + items: + $ref: '#/components/schemas/Catalog' + type: array + description: The sorted array of catalog search hits. Can be empty. + description: Document representing a catalog search result. + example: + value: + - limit: 1 + hits: + - couponId: MyCoupon + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + CategorySearchRequest: + required: + - query + type: object + allOf: + - $ref: '#/components/schemas/SearchRequest' + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + example: + limit: 4 + query: + textQuery: + fields: + - id + - description + searchPhrase: campaign + offset: 2 + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + catalogId: + name: catalogId + in: path + description: The ID of the requested catalog. + required: true + schema: + $ref: '#/components/schemas/CatalogId' + categoryId: + name: categoryId + in: path + description: The ID of the category to be created. + required: true + schema: + $ref: '#/components/schemas/CategoryId' + levels: + name: levels + in: query + description: The level number. + required: false + schema: + minimum: 0 + type: integer + format: int32 + example: 1 + siteId: + description: The site context. + name: siteId + in: query + required: false + schema: + $ref: '#/components/schemas/SiteId' + productId: + name: productId + in: path + description: The ID (SKU) of the requested product to assign. + required: true + schema: + $ref: '#/components/schemas/ProductId' + limit: + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + name: limit + in: query + examples: + limit: + value: 25 + schema: + $ref: '#/components/schemas/Limit' + offset: + description: The zero-based index of the first hit/data to include in the result. + name: offset + in: query + examples: + offset: + value: 25 + schema: + $ref: '#/components/schemas/Offset' + ruleId: + name: ruleId + in: path + description: The Id of the rule + required: true + schema: + allOf: + - $ref: '#/components/schemas/String256' + example: VHRule + conditionId: + name: conditionId + in: path + description: The Id of the condition. + required: true + schema: + example: NameCondition + allOf: + - $ref: '#/components/schemas/String256' + examples: + Catalogs: + value: + limit: 2 + data: + - id: apparel-catalog + - id: electronics-catalog + offset: 0 + total: 2 + getCategoryFromCatalog400: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-query-parameter + detail: offset-BAD-REQUEST parameters are not defined in RAML. + getCatalog401: + value: + title: Invalid Access Token + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token + detail: The request is unauthorized, the access token is invalid. + accessToken: iI6IjEiLCJhbGciOiJIUzI1NiIsInR5cCI6Ik + Catalog: + value: + categoryCount: 30 + creationDate: '2019-02-21T22:09:39.000Z' + id: apparel-catalog + lastModified: '2019-02-21T22:09:39.000Z' + name: + default: Apparel Master Catalog + online: true + recommendationCount: 0 + rootCategory: root + getCatalog404: + value: + title: Catalog Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/catalog-not-found + detail: No catalog with ID '095c2082-5f2a-47d5-bc73-27d06c5c9db8' could be found. + catalogId: 095c2082-5f2a-47d5-bc73-27d06c5c9db8 + CatalogBody: + value: + id: apparel-catalog + online: true + Categories: + value: + limit: 3 + data: + - id: kids-wear + - id: mens + - id: mens-accessories-luggage + offset: 0 + total: 3 + CategoryExample: + value: + catalogId: apparel-catalog + categories: + - catalogId: apparel-catalog + creationDate: '2019-02-21T22:09:40.000Z' + id: mens-accessories + lastModified: '2019-02-21T22:10:14.000Z' + name: + default: Accessories + online: true + parentCategoryId: mens + - catalogId: apparel-catalog + creationDate: '2019-02-21T22:09:40.000Z' + id: mens-clothing + lastModified: '2019-02-21T22:10:15.000Z' + name: + default: Clothing + online: true + parentCategoryId: mens + creationDate: '2019-02-21T22:09:40.000Z' + id: mens + lastModified: '2019-09-04T15:07:14.000Z' + online: true + parentCategoryId: root + position: 2 + CategoryBody: + value: + catalogId: apparel-catalog + id: mens + online: true + SingleCategory: + value: + catalogId: apparel-catalog + creationDate: '2019-02-21T22:09:40.000Z' + id: mens + lastModified: '2019-09-04T15:07:14.000Z' + online: true + parentCategoryId: root + position: 2 + ProductAssignmentBody: + value: + query: + termQuery: + fields: + - product_id + operator: is + values: + - NTOSimpleBundle + expand: + - product_categories + - product_images + CategoryProductAssignment: + value: + hits: + - catalogId: NTOCatalog + categoryId: NTOFirstClassCategory + creationDate: '2024-05-27T10:11:48.000Z' + lastModified: '2024-05-27T10:11:48.000Z' + owningCatalogName: + default: NTO Product Image Catalog + product: + assignedCategories: + - catalogId: NTOCatalog + categoryId: NTOFirstClassCategory + brand: Wapi brand + creationDate: '2024-05-27T10:11:45.000Z' + id: NTOSimpleBundle + image: + absUrl: https://www.yoursecureimageserver.com/foo/bar/bundle_image_detail.jpg + alt: + default: ALT bundle image detail + path: bundle_image_detail.jpg + title: + default: TITLE bundle image detail + onlineFlag: + default: true + searchable: + default: true + productId: NTOSimpleBundle + productName: + default: Simple Web API Bundle + query: + termQuery: + fields: + - product_id + operator: is + values: + - NTOSimpleBundle + limit: 1 + offset: 0 + total: 1 + CatalogCategoryPrdAssignmentExample: + value: + catalogId: apparel-catalog + categoryId: kids-wear + owningCatalogName: + default: Electronics Master Catalog + position: 1 + productId: apple-ipod-shuffle + productName: + default: Apple iPod Shuffle + CatalogCategoryProdAssignmentBody: + value: + catalogId: apparel-catalog + categoryId: kids-wear + productId: apple-ipod-shuffle + position: 1 + ExecutionJobStatusResponse: + value: + type: evaluation + assignedCount: 1 + unassignedCount: 0 + matchedCount: 1 + jobStatus: success + message: Job execution success. + lastRunDate: '2019-02-21T22:09:40.000Z' + productIds: + - '25772719' + limit: 10 + offset: 0 + getCategorizationStatus404: + value: + title: JobExecution Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/job-execition-not-found + detail: No JobExecution could be found for given catalog, category + catalogId: apparel-catalog + category: Mens + ExecutionRequestBody: + value: + evaluation: true + GetExcludedProducts: + value: + limit: 2 + data: + - productId: red-shirt + - productId: blue-shirt + total: 2 + ExcludedProductsRequestBody: + value: + data: + - productId: red-shirt + - productId: blue-shirt + getRuleById404: + value: + title: Rule Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/rule-not-found + detail: No Rule with ID 'VHRULE' could be found. + ruleId: VHRULE + GetRules: + value: + limit: 2 + data: + - id: VHRule + enabled: true + exclusion: false + categorizationLocaleId: en-US + categorizationClassificationFlag: true + categorizationPrimaryFlag: true + conditions: + - id: NameCondition + attributeKey: name + attributeValue: + - Shirt + attributeName: name + operator: starts_with + - id: BrandCondition + attributeKey: brand + attributeValue: + - Van Heusen + attributeName: brand + operator: equals + - id: DXRule + enabled: true + exclusion: false + categorizationLocaleId: en-US + categorizationClassificationFlag: true + categorizationPrimaryFlag: true + conditions: + - id: NameCondition + attributeKey: name + attributeValue: + - Shirt + attributeName: name + operator: starts_with + - id: BrandCondition + attributeKey: brand + attributeValue: + - DX + attributeName: brand + operator: equals + total: 2 + PostRuleRequestBody: + value: + data: + - id: VHRule + enabled: true + exclusion: false + categorizationLocaleId: en-US + categorizationClassificationFlag: true + categorizationPrimaryFlag: true + conditions: + - id: NameCondition + attributeKey: name + attributeValue: + - Shirt + operator: starts_with + - id: BrandCondition + attributeKey: brand + attributeValue: + - Van Heusen + operator: equals + - id: DXRule + enabled: true + exclusion: false + categorizationLocaleId: en-US + categorizationClassificationFlag: true + categorizationPrimaryFlag: true + conditions: + - id: NameCondition + attributeKey: name + attributeValue: + - Shirt + operator: starts_with + - id: BrandCondition + attributeKey: brand + attributeValue: + - DX + operator: equals + GetRulesByID: + value: + id: VHRule + enabled: true + exclusion: false + categorizationLocaleId: en-US + categorizationClassificationFlag: true + categorizationPrimaryFlag: true + conditions: + - id: NameCondition + attributeKey: name + attributeValue: + - Shirt + attributeName: name + operator: starts_with + - id: BrandCondition + attributeKey: brand + attributeName: brand + attributeValue: + - Van Heusen + operator: equals + PutRuleRequestBody: + value: + id: VHRule + enabled: true + exclusion: false + PutRuleUpdateResult: + value: + id: VHRule + enabled: true + exclusion: false + GetConditions: + value: + limit: 2 + conditions: + - id: NameCondition + attributeKey: name + attributeValue: + - Shirt + attributeName: name + operator: starts_with + - id: BrandCondition + attributeKey: brand + attributeValue: + - Van Heusen + attributeName: brand + operator: equals + total: 2 + GetConditionByID: + value: + id: NameCondition + attributeKey: name + attributeValue: + - Shirt + attributeName: name + operator: starts_with + PutConditionRequestBody: + value: + id: NameCondition + attributeKey: brand + attributeValue: + - Van Heusen + operator: equals + CatalogSearchBody: + value: + start: 0 + count: 50 + query: + boolQuery: + should: + - textQuery: + searchPhrase: Luggage + fields: + - name + CategorySearchResultExample: + value: + limit: 1 + hits: + - catalogId: storefront-catalog-en + creationDate: '2019-02-21T22:10:04.000Z' + id: electronics-accessories + lastModified: '2019-02-21T22:10:49.000Z' + name: + default: Accessories + online: false + pageTitle: + default: Electronics Accessories + parentCategoryId: electronics + position: 14 + query: + termQuery: + fields: + - online + operator: is + values: + - 'false' + offset: 0 + total: 1 + CatalogSearchBodyQuery: + value: + query: + termQuery: + fields: + - is_storefront_catalog + operator: is + values: + - 'true' + CatalogSearchResultQuery: + value: + limit: 3 + hits: + - assignedSites: + - cartridges: sitegenesis_storefront_pipelines:sitegenesis_storefront_core:plugin_apple_pay:plugin_facebook:plugin_pinterest_commerce:plugin_web_payments:bc_content:core + customerListLink: + customerListId: Site_1 + displayName: + default: Site Site_1 + id: Site_1 + inDeletion: false + storefrontStatus: online + categoryCount: 53 + creationDate: '2019-02-22T00:11:14.000Z' + id: NavigationCatalog_9430935 + lastModified: '2019-02-22T00:11:14.000Z' + name: + default: Root Category + online: true + recommendationCount: 0 + rootCategory: root + - assignedSites: + - cartridges: sitegenesis_storefront_controllers:sitegenesis_storefront_core:plugin_apple_pay:plugin_facebook:plugin_pinterest_commerce:plugin_web_payments:bc_content:core + customerListLink: + customerListId: SiteGenesis + displayName: + default: SiteGenesis + id: SiteGenesis + inDeletion: false + storefrontStatus: online + categoryCount: 66 + creationDate: '2019-02-21T22:10:04.000Z' + id: storefront-catalog-en + lastModified: '2019-02-21T22:10:04.000Z' + name: + it-IT: Catalogo dello storefront - IT + default: Storefront Catalog - EN + fr-FR: Catalogue de boutique en ligne - FR + zh-CN: 网店目录 - EN + ja-JP: ストアフロントカタログ - EN + online: true + recommendationCount: 1865 + rootCategory: root + - assignedSites: + - cartridges: sitegenesis_storefront_controllers:sitegenesis_storefront_core:plugin_apple_pay:plugin_facebook:plugin_pinterest_commerce:plugin_web_payments:bc_content:core + customerListLink: + customerListId: SiteGenesis + displayName: + default: SiteGenesisGlobal + id: SiteGenesisGlobal + inDeletion: false + storefrontStatus: online + categoryCount: 42 + creationDate: '2019-02-21T22:10:09.000Z' + id: storefront-catalog-non-en + lastModified: '2019-02-21T22:10:09.000Z' + name: + it-IT: Storefront Catalog - Non-EN + default: Storefront Catalog - Non-EN + fr-FR: Catalogue de boutique en ligne - Non - EN + zh-CN: Storefront Catalog - Non-EN + ja-JP: ストアフロントカタログ - Non-EN + online: true + recommendationCount: 1865 + rootCategory: root + query: + termQuery: + fields: + - is_storefront_catalog + operator: is + values: + - 'true' + offset: 0 + total: 3 + CategorySearchBody: + value: + query: + termQuery: + fields: + - online + operator: is + values: + - 'false' diff --git a/apis/catalogs-oas/catalogs-oas-1.0.39/exchange.json b/apis/catalogs-oas/catalogs-oas-1.0.39/exchange.json new file mode 100644 index 00000000..60a31074 --- /dev/null +++ b/apis/catalogs-oas/catalogs-oas-1.0.39/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "catalogs-oas-v1-public.yaml", + "name": "Catalogs OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "catalogs-oas", + "version": "1.0.39", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/cdn-api-process-apis-oas/cdn-api-process-apis-oas-1.0.38/.metadata.json b/apis/cdn-api-process-apis-oas/cdn-api-process-apis-oas-1.0.38/.metadata.json new file mode 100644 index 00000000..1dd816fd --- /dev/null +++ b/apis/cdn-api-process-apis-oas/cdn-api-process-apis-oas-1.0.38/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/cdn-api-process-apis-oas/1.0.38", + "name": "CDN API - Process APIs OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "cdn-api-process-apis-oas", + "version": "1.0.38", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/cdn-api-process-apis-oas/cdn-api-process-apis-oas-1.0.38/cdn-api-process-apis-oas-v1-internal.yaml b/apis/cdn-api-process-apis-oas/cdn-api-process-apis-oas-1.0.38/cdn-api-process-apis-oas-v1-internal.yaml new file mode 100644 index 00000000..7634966e --- /dev/null +++ b/apis/cdn-api-process-apis-oas/cdn-api-process-apis-oas-1.0.38/cdn-api-process-apis-oas-v1-internal.yaml @@ -0,0 +1,7860 @@ +openapi: 3.0.3 +info: + title: CDN Zones + version: v1 + description: |- + # API Overview + + The Content Delivery Network (CDN) API is for managing the embedded CDN (eCDN) that is included with Commerce Cloud and configured with Business Manager. + + Use the API to: + + - Ensure that traffic doesn’t circumvent proxies layered in front of your eCDN. + - Accelerate the delivery of resources to users with caching, compression, and prioritization. + - Customize how users interact with resources and how requests are processed, including custom pages and routing rules. + - Provide proactive and complete application protection against new and existing exploits from bad actors. + + ## Authentication & Authorization + + For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the `Authorization` header of your API request. + + The API client must also have at least one of the following OAuth scopes: `sfcc.cdn-zones` or `sfcc.cdn-zones.rw`. + + For detailed setup instructions, see the [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html) guide. + + You must include the relevant scope(s) in the client ID used to generate the token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + For detailed usage information, refer to the [CDN Zones Guides.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/cdn/zones/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/storefront-zones: + post: + summary: Create a new storefront zone. + operationId: createStorefrontZone + parameters: + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StorefrontZoneCreateRequest' + examples: + StorefrontZoneCreateRequestBodyExample: + $ref: '#/components/examples/StorefrontZoneCreateRequestBodyExample' + required: true + responses: + '201': + description: Successfully created new storefront zone. + content: + application/json: + schema: + $ref: '#/components/schemas/StorefrontZoneCreateEnvelope' + examples: + StorefrontZoneCreateResponse: + $ref: '#/components/examples/StorefrontZoneCreateResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/mtls/code-upload-certificates: + get: + summary: Return all the mTLS certificates for the account. + operationId: getCodeUploadCertificates + parameters: + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved details of the mTLS certificates requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/MtlsCertificatesResponseEnvelope' + examples: + MtlsCodeUploadGetCertificatesResponse: + $ref: '#/components/examples/MtlsCodeUploadGetCertificatesResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Set up two-factor mTLS certificates for the account and associate the staging zone code upload hostname. + operationId: createCodeUploadCertificate + parameters: + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MtlsCertificateRequest' + examples: + MtlsCodeUploadPostCertificateRequestBodyExample: + $ref: '#/components/examples/MtlsCodeUploadPostCertificateRequestBodyExample' + required: true + responses: + '201': + description: Returns information about the uploaded mTLS certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/MtlsCertificateResponseEnvelope' + examples: + MtlsCodeUploadGetCertificateResponse: + $ref: '#/components/examples/MtlsCodeUploadGetCertificateResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/mtls/code-upload-certificates/{mtlsCertificateId}: + get: + summary: Return the mTLS certificate for the given account's mTLS certificate ID. + operationId: getCodeUploadCertificate + parameters: + - $ref: '#/components/parameters/mtlsCertificateId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved mTLS certificate information from the mTLS certificate ID requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/MtlsCertificateResponseEnvelope' + examples: + MtlsCodeUploadGetCertificateResponse: + $ref: '#/components/examples/MtlsCodeUploadGetCertificateResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + delete: + summary: Remove an mTLS certificate and associated hostname. + operationId: deleteCodeUploadCertificate + parameters: + - $ref: '#/components/parameters/mtlsCertificateId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Successfully deleted the mTLS certificate from the account. + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/page-shield/notifications: + get: + summary: Get page shield notification webhooks. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: getPageShieldNotification + parameters: + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved notification webhooks. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldNotificationWebhookListEnvelope' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Setup page shield notification webhook. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: postPageShieldNotification + parameters: + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldNotificationWebhookRequest' + required: true + responses: + '200': + description: Successfully added notification webhook. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldNotificationWebhookEnvelope' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/page-shield/notifications/{webhookId}: + delete: + summary: Delete page shield notification webhook. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: deletePageShieldNotification + parameters: + - $ref: '#/components/parameters/webhookId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Successfully deleted notification webhook. + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/page-shield/policies: + get: + summary: List page shield policies. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: getPageShieldPolicies + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: List current page shield policies. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldPoliciesListEnvelope' + examples: + PageShieldPoliciesGetResponse: + $ref: '#/components/examples/PageShieldPoliciesGetResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Create page shield policy. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: createPageShieldPolicy + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldPolicyRequest' + examples: + PageShieldPolicyRequestBodyExample: + $ref: '#/components/examples/PageShieldPolicyRequestBodyExample' + required: true + responses: + '200': + description: Successfully created page shield policy. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldPoliciesEnvelope' + examples: + PageShieldPolicyGetResponse: + $ref: '#/components/examples/PageShieldPolicyGetResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/page-shield/policies/{policyId}: + get: + summary: Get page shield policy by policy ID. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: getPageShieldPolicy + parameters: + - $ref: '#/components/parameters/policyId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved the details of the page shield policy. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldPoliciesEnvelope' + examples: + PageShieldPolicyGetResponse: + $ref: '#/components/examples/PageShieldPolicyGetResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + put: + summary: Update page shield policy by policy ID. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: updatePageShieldPolicy + parameters: + - $ref: '#/components/parameters/policyId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldPolicyRequest' + examples: + PageShieldPolicyPutRequestBodyExample: + $ref: '#/components/examples/PageShieldPolicyPutRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the page shield policy. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldPoliciesEnvelope' + examples: + PageShieldPoliciesEnvelope: + $ref: '#/components/examples/PageShieldPolicyPutResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + delete: + summary: Delete page shield policy. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: deletePageShieldPolicy + parameters: + - $ref: '#/components/parameters/policyId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Successfully deleted the page shield policy. + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/page-shield/scripts: + get: + summary: Retrieve a list of scripts detected by Page Shield for a specific zone. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: getPageShieldScripts + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/excludeCdnCgi' + - $ref: '#/components/parameters/excludeDuplicates' + - $ref: '#/components/parameters/excludeUrls' + - $ref: '#/components/parameters/hosts' + - $ref: '#/components/parameters/orderBy' + - $ref: '#/components/parameters/pageUrl' + - $ref: '#/components/parameters/prioritizeMalicious' + - $ref: '#/components/parameters/status' + - $ref: '#/components/parameters/urls' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 200 + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. Defaults to 200. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: List current page shield scripts. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldScriptListEnvelope' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/page-shield/scripts/{scriptId}: + get: + summary: Fetch a script detected by Page Shield by script ID. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: getPageShieldScript + parameters: + - $ref: '#/components/parameters/scriptId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: A script detected by Page Shield by script ID. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldScriptEnvelope' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/info: + get: + summary: Retrieve zone information. + operationId: getZonesInfo + parameters: + - $ref: '#/components/parameters/organizationId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Successfully retrieved zone information requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesEnvelope' + examples: + ZonesGetResponse: + $ref: '#/components/examples/ZonesGetResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/waf/groups: + get: + summary: Retrieve all WAF groups accessible to the caller. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets. + operationId: getWafGroups + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved details of WAF groups to which the caller has access. + content: + application/json: + schema: + $ref: '#/components/schemas/WafGroupsEnvelope' + examples: + WafGroupsGetResponse: + $ref: '#/components/examples/WafGroupsGetResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/waf/groups/{groupId}: + put: + summary: Update the action or mode of a specific WAF group. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets. + operationId: updateWafGroup + parameters: + - $ref: '#/components/parameters/groupIdPath' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WafGroup' + examples: + WafGroupPutRequestBodyExample: + $ref: '#/components/examples/WafGroupPutRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the WAF group specified by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/WafGroupEnvelope' + examples: + WafGroupPutResponse: + $ref: '#/components/examples/WafGroupPutResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/waf/rules: + get: + summary: Retrieve WAF rules for the WAF group specified by the caller. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets. + operationId: getWafRules + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/groupIdQuery' + responses: + '200': + description: Successfully retrieved the WAF rules requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/WafRulesEnvelope' + examples: + WafGroupPutResponse: + $ref: '#/components/examples/WafRulesGetResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/waf/rules/{ruleId}: + get: + summary: Retrieve details of a specific WAF rule. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets. + operationId: getWafRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved details of the WAF rule requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/WafRuleEnvelope' + examples: + WafRuleGetResponse: + $ref: '#/components/examples/WafRuleGetResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + put: + summary: Update the action of a specific WAF rule. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets. + operationId: updateWafRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WafRule' + examples: + WafRulePutRequestBodyExample: + $ref: '#/components/examples/WafRulePutRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the WAF rule specified by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/WafRuleEnvelope' + examples: + WafRulePutResponse: + $ref: '#/components/examples/WafRulePutResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/speed-settings: + get: + summary: Retrieve the speed settings for a zone. + operationId: getSpeedSettings + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned the speed settings requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/SpeedSettingsEnvelope' + examples: + SpeedSettingsResponse: + $ref: '#/components/examples/SpeedSettingsResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + patch: + summary: Update the speed settings for a zone. + operationId: updateSpeedSettings + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SpeedSetting' + examples: + SpeedSettingsPatchRequestBodyExample: + $ref: '#/components/examples/SpeedSettingsPatchRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the speed settings requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/SpeedSettingsEnvelope' + examples: + SpeedSettingsResponse: + $ref: '#/components/examples/SpeedSettingsResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/security-settings: + get: + summary: Retrieve the security settings for a zone. + operationId: getSecuritySettings + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned security settings for zone. + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritySettingsEnvelope' + examples: + SecuritySettingsResponse: + $ref: '#/components/examples/SecuritySettingsResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + patch: + summary: Update the security settings for a zone. + operationId: updateSecuritySettings + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritySetting' + examples: + SecuritySettingsUpdateRequestBodyExample: + $ref: '#/components/examples/SecuritySettingsUpdateRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the security settings. + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritySettingsEnvelope' + examples: + SecuritySettingsResponse: + $ref: '#/components/examples/SecuritySettingsResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/cachepurge: + post: + summary: Purge the cache for the host specified in the request body. + operationId: cachePurge + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CachePurgeRequest' + required: true + responses: + '200': + description: Successfully returned the complete operationId statuses for the rule list operations that the server processed. + content: + application/json: + schema: + $ref: '#/components/schemas/CachePurgeResponseEnvelope' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/ocapicachingpagerule: + patch: + summary: Enable or disable the OCAPI Caching page rule. + operationId: toggleOcapiCachingPageRule + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OCAPICachingToggleRequest' + required: true + responses: + '200': + description: Successfully returned the current state of the OCAPI Caching page rule. + content: + application/json: + schema: + $ref: '#/components/schemas/OCAPICachingToggleRequest' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/certificates: + get: + summary: List certificates for a zone. For information on automatic certificates, see [eCDN Automatic Certificates](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-automatic-certs.html). + operationId: getCertificates + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Successfully retrieved the list of certificates for the specified zone. + content: + application/json: + schema: + $ref: '#/components/schemas/CertificatesEnvelope' + examples: + CertificatesGetResponse1: + $ref: '#/components/examples/CertificatesGetResponse1' + CertificatesGetResponse2: + $ref: '#/components/examples/CertificatesGetResponse2' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Add certificate for a zone. For information on automatic certificates, see [eCDN Automatic Certificates](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-automatic-certs.html). + operationId: addCertificateForZone + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateRequest' + examples: + CertificatePostRequestBodyExample: + $ref: '#/components/examples/CertificatePostRequestBodyExample' + required: true + responses: + '201': + description: Returned information about the added certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateEnvelope' + examples: + CertificatePostResponse1: + $ref: '#/components/examples/CertificatePostResponse1' + CertificatePostResponse2: + $ref: '#/components/examples/CertificatePostResponse2' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '409': + description: | + The request sent by the caller has conflicts. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Conflict: + $ref: '#/components/examples/Conflict' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/certificates/{certificateId}: + delete: + summary: Delete a custom hostname and the certificate associated with it. Note that a valid certificate is necessary for a site to remain operational. DELETING A CERTIFICATE THAT IS IN USE CAN RESULT IN DOWNTIME. + operationId: deleteCertificate + parameters: + - $ref: '#/components/parameters/certificateId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Successfully deleted the custom hostname and the certificate associated with it. + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + patch: + summary: Update the certificate for a given certificateId for a particular zone. For information on automatic certificates, see [eCDN Automatic Certificates](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-automatic-certs.html). + operationId: updateCertificate + parameters: + - $ref: '#/components/parameters/certificateId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateRequest' + examples: + CertificateUpdateRequestBodyExample: + $ref: '#/components/examples/CertificateUpdateRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the certificate requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateEnvelope' + examples: + CertificateUpdateResponse1: + $ref: '#/components/examples/CertificateUpdateResponse1' + CertificateUpdateResponse2: + $ref: '#/components/examples/CertificateUpdateResponse2' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/certificates/custom-hostnames/{customHostnameId}: + patch: + summary: Trigger the validation of a custom hostname. + operationId: validateCustomHostname + parameters: + - $ref: '#/components/parameters/customHostnameId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully triggered the custom hostname validation process. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomHostnameValidationEnvelope' + examples: + CustomHostnamesPatchResponse: + $ref: '#/components/examples/CustomHostnamesPatchResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/mrtrules: + get: + summary: Get all MRT rules. See [eCDN Rules for Hybrid Implementations](https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/ecdn-rules-for-phased-headless-rollout.html). + operationId: getMrtRules + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved all MRT rules. + content: + application/json: + schema: + $ref: '#/components/schemas/MRTRulesResponseEnvelope' + examples: + MrtRulesGetResponse: + $ref: '#/components/examples/MrtRulesGetResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Create MRT rules to route to a new MRT environment. See [eCDN Rules for Hybrid Implementations](https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/ecdn-rules-for-phased-headless-rollout.html). + operationId: createMrtRules + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MRTRulesPostRequest' + examples: + MrtRulesPostRequestSingleHostnameBodyExample: + $ref: '#/components/examples/MrtRulesPostRequestSingleHostnameBodyExample' + MrtRulesPostRequestMultipleHostnamesBodyExample: + $ref: '#/components/examples/MrtRulesPostRequestMultipleHostnamesBodyExample' + required: true + responses: + '201': + description: Created MRT rules to route to a new MRT environment. + content: + application/json: + schema: + $ref: '#/components/schemas/MRTRulesResponseEnvelope' + examples: + MrtRulesPostResponseSingleHostname: + $ref: '#/components/examples/MrtRulesPostResponseSingleHostname' + MrtRulesPostResponseMultipleHostnames: + $ref: '#/components/examples/MrtRulesPostResponseMultipleHostnames' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + patch: + summary: Update the MRT environment hostname or add MRT rules to route to an existing MRT environment. See [eCDN Rules for Hybrid Implementations](https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/ecdn-rules-for-phased-headless-rollout.html). + operationId: updateMrtRuleset + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MRTRulesetPatchRequest' + examples: + MrtRulesetPatchRequestUpdateHostnameBodyExample: + $ref: '#/components/examples/MrtRulesetPatchRequestUpdateHostnameBodyExample' + MrtRulesetPatchRequestAddRulesBodyExample: + $ref: '#/components/examples/MrtRulesetPatchRequestAddRulesBodyExample' + required: true + responses: + '200': + description: Updated the MRT environment hostname or added MRT rules to route to an existing MRT environment. + content: + application/json: + schema: + $ref: '#/components/schemas/MRTRulesResponseEnvelope' + examples: + MrtRulesetPatchResponseUpdateHostname: + $ref: '#/components/examples/MrtRulesetPatchResponseUpdateHostname' + MrtRulesetPatchResponseAddRules: + $ref: '#/components/examples/MrtRulesetPatchResponseAddRules' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/mrtrules/{rulesetId}: + delete: + summary: Delete the MRT ruleset and all rules within the ruleset. See [eCDN Rules for Hybrid Implementations](https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/ecdn-rules-for-phased-headless-rollout.html). + operationId: deleteMrtRuleset + parameters: + - $ref: '#/components/parameters/rulesetId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted the MRT ruleset and all rules within the ruleset. + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/mrtrules/{rulesetId}/rules/{ruleId}: + delete: + summary: Delete an MRT rule. See [eCDN Rules for Hybrid Implementations](https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/ecdn-rules-for-phased-headless-rollout.html). + operationId: deleteMrtRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/rulesetId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted an MRT rule. + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + patch: + summary: Update an MRT rule. See [eCDN Rules for Hybrid Implementations](https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/ecdn-rules-for-phased-headless-rollout.html). + operationId: updateMrtRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/rulesetId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MRTRulePatchRequest' + examples: + MrtRulePatchRequestBodyExample: + $ref: '#/components/examples/MrtRulePatchRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the MRT rule. + content: + application/json: + schema: + $ref: '#/components/schemas/MRTRulesResponseEnvelope' + examples: + MrtRulePatchResponse: + $ref: '#/components/examples/MrtRulePatchResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/logpush/ownership: + post: + summary: Create Logpush ownership token file. See [eCDN Logpush](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-logpush.html). + operationId: createLogpushOwnership + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushOwnershipPostRequest' + examples: + LogpushOwnershipPostRequestBodyExample: + $ref: '#/components/examples/LogpushOwnershipPostRequestBodyExample' + required: true + responses: + '201': + description: Created a new Logpush Ownership token. + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushOwnershipPostResponse' + examples: + LogpushOwnershipPostResponse: + $ref: '#/components/examples/LogpushOwnershipPostResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/logpush/jobs: + get: + summary: List Logpush job. See [eCDN Logpush](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-logpush.html). + operationId: listLogpushJob + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Returned all jobs with details for the zone. + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushJobsEnvelope' + examples: + LogpushGetListJob: + $ref: '#/components/examples/LogpushGetListJob' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Create Logpush job. See [eCDN Logpush](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-logpush.html). + operationId: createLogpushJob + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushCreateRequest' + examples: + LogpushCreateRequestBodyExample1: + $ref: '#/components/examples/LogpushCreateRequestBodyExample1' + LogpushCreateRequestBodyExample2: + $ref: '#/components/examples/LogpushCreateRequestBodyExample2' + LogpushCreateRequestBodyExample3: + $ref: '#/components/examples/LogpushCreateRequestBodyExample3' + required: true + responses: + '201': + description: Successfully created the Logpush job and returned the job details. + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushEnvelope' + examples: + LogpushCreateResponse1: + $ref: '#/components/examples/LogpushCreateResponse1' + LogpushCreateResponse2: + $ref: '#/components/examples/LogpushCreateResponse2' + LogpushCreateResponse3: + $ref: '#/components/examples/LogpushCreateResponse3' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to therequested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/logpush/jobs/{jobId}: + get: + summary: Get Logpush job details. See [eCDN Logpush](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-logpush.html). + operationId: getLogpushJob + parameters: + - $ref: '#/components/parameters/jobId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Returned job details for the specified Logpush job ID. + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushEnvelope' + examples: + LogpushGetJobById1: + $ref: '#/components/examples/LogpushGetJobById1' + LogpushGetJobById2: + $ref: '#/components/examples/LogpushGetJobById2' + LogpushGetJobById3: + $ref: '#/components/examples/LogpushGetJobById3' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + put: + summary: Update Logpush job. See [eCDN Logpush](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-logpush.html). + operationId: updateLogpushJob + parameters: + - $ref: '#/components/parameters/jobId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushUpdateRequest' + examples: + LogpushUpdateRequestBodyExample: + $ref: '#/components/examples/LogpushUpdateRequestBodyExample' + required: true + responses: + '200': + description: Successfully enabled or disabled the Logpush job and returned job details. + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushEnvelope' + examples: + LogpushUpdateResponse: + $ref: '#/components/examples/LogpushUpdateResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + delete: + summary: Delete Logpush job by job ID. See [eCDN Logpush](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-logpush.html). + operationId: deleteLogpushJob + parameters: + - $ref: '#/components/parameters/jobId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted the Logpush job for the specified job ID. + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall/waf/packages/owasp: + get: + summary: Get a OWASP ModSecurity Core Rule Set. + operationId: getOwaspWafPackage + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved the OWASP ModSecurity Core Rule Set. + content: + application/json: + schema: + $ref: '#/components/schemas/WAFRulePackageEnvelope' + examples: + WafPackagesGetExample: + $ref: '#/components/examples/WafPackagesGetExample' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + patch: + summary: Patch a OWASP ModSecurity Core Rule Set. + operationId: patchOwaspWafPackage + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WafPackagePatchRequest' + examples: + WafPackagesPatchRequestBodyExample: + $ref: '#/components/examples/WafPackagesPatchRequestBodyExample' + required: true + responses: + '200': + description: Successfully patched the OWASP ModSecurity Core Rule Set. + content: + application/json: + schema: + $ref: '#/components/schemas/WAFRulePackageEnvelope' + examples: + WafPackagesGetExample: + $ref: '#/components/examples/WafPackagesGetExample' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall-custom/rules: + get: + summary: Retrieve existing custom rules. See [eCDN Custom Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-custom-rules.html). + operationId: getCustomRules + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Successfully returned the list of custom rules requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRulesEnvelope' + examples: + CustomRulesResponse: + $ref: '#/components/examples/CustomRulesResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Create a custom rule. See [eCDN Custom Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-custom-rules.html). + operationId: createCustomRule + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRulesPostRequest' + examples: + CustomRulesPostRequestBodyExample: + $ref: '#/components/examples/CustomRulesPostRequestBodyExample' + required: true + responses: + '201': + description: Successfully created the custom rule requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRuleEnvelope' + examples: + CustomRuleResponse: + $ref: '#/components/examples/CustomRuleResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + patch: + summary: Update the order of all existing custom rules. See [eCDN Custom Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-custom-rules.html). + operationId: updateOrderOfCustomRules + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRulesPatchOrderRequest' + required: true + responses: + '200': + description: Successfully updated the order of existing custom rules as requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRulesEnvelope' + examples: + CustomRulesResponse: + $ref: '#/components/examples/CustomRulesResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall-custom/rules/{ruleId}: + get: + summary: Retrieve a specific custom rule. See [eCDN Custom Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-custom-rules.html). + operationId: getCustomRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned the custom rule requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRuleEnvelope' + examples: + CustomRuleResponse: + $ref: '#/components/examples/CustomRuleResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + delete: + summary: Delete a specific custom rule. See [eCDN Custom Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-custom-rules.html). + operationId: deleteCustomRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Successfully deleted the custom rule requested by the caller. + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + patch: + summary: Update a specific custom rule. See [eCDN Custom Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-custom-rules.html). + operationId: updateCustomRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRulesPatchRequest' + required: true + responses: + '200': + description: Successfully updated the custom rule requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRuleEnvelope' + examples: + CustomRuleResponse: + $ref: '#/components/examples/CustomRuleResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/rate-limiting/rules: + get: + summary: Retrieve existing rate limiting rules. See [eCDN Rate Limiting Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-rate-limiting-rules.html). + operationId: getRateLimitingRules + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned the list of rate limiting rules requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/RateLimitingRulesEnvelope' + examples: + RateLimitingRulesResponse: + $ref: '#/components/examples/RateLimitingRulesResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Create a rate limiting rule. See [eCDN Rate Limiting Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-rate-limiting-rules.html). + operationId: createRateLimitingRule + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RateLimitingRulesPostRequest' + examples: + RateLimitingRulesPostRequestBodyExample: + $ref: '#/components/examples/RateLimitingRulesPostRequestBodyExample' + required: true + responses: + '201': + description: Successfully created the rate limiting rule requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/RateLimitingRuleEnvelope' + examples: + RateLimitingRuleResponse: + $ref: '#/components/examples/RateLimitingRuleResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/rate-limiting/rules/{ruleId}: + get: + summary: Retrieve a specific rate limiting rule. See [eCDN Rate Limiting Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-rate-limiting-rules.html). + operationId: getRateLimitingRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned the rate limiting rule requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/RateLimitingRuleEnvelope' + examples: + RateLimitingRuleResponse: + $ref: '#/components/examples/RateLimitingRuleResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + delete: + summary: Delete a specific rate limiting rule. See [eCDN Rate Limiting Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-rate-limiting-rules.html). + operationId: deleteRateLimitingRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Successfully deleted the rate limiting rule requested by the caller. + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + patch: + summary: Update a specific rate limiting rule. See [eCDN Rate Limiting Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-rate-limiting-rules.html). + operationId: updateRateLimitingRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RateLimitingRulesPatchRequest' + required: true + responses: + '200': + description: Successfully updated the rate limiting rule requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/RateLimitingRuleEnvelope' + examples: + RateLimitingRuleResponse: + $ref: '#/components/examples/RateLimitingRuleResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall-managed/rulesets: + get: + summary: Retrieve WAFv2 managed rulesets. See [eCDN WAFv2](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-wafv2.html). + operationId: getWafManagedRulesets + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned the list of WAFv2 managed rulesets. + content: + application/json: + schema: + $ref: '#/components/schemas/WAFManagedRulesetsEnvelope' + examples: + WAFManagedRulesetsResponse: + $ref: '#/components/examples/WAFManagedRulesetsResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall-managed/rulesets/{rulesetId}: + patch: + summary: Update WAFv2 managed ruleset. See [eCDN WAFv2](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-wafv2.html). + operationId: updateWafManagedRuleset + parameters: + - $ref: '#/components/parameters/rulesetId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WAFManagedRulesetRequest' + examples: + WAFManagedRulesetsUpdateRequestBodyExample: + $ref: '#/components/examples/WAFManagedRulesetsUpdateRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the WAFv2 managed rulesets. + content: + application/json: + schema: + $ref: '#/components/schemas/WAFManagedRulesetEnvelope' + examples: + WAFManagedRulesetsUpdateResponse: + $ref: '#/components/examples/WAFManagedRulesetsUpdateResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall-managed/rulesets/{rulesetId}/rules: + get: + summary: Retrieve all rules in the specified WAFv2 managed ruleset. See [eCDN WAFv2](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-wafv2.html). + operationId: getWafManagedRulesInRuleset + parameters: + - $ref: '#/components/parameters/rulesetId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned the rules in the WAFv2 managed ruleset. + content: + application/json: + schema: + $ref: '#/components/schemas/WAFManagedRulesEnvelope' + examples: + WAFManagedRulesResponse: + $ref: '#/components/examples/WAFManagedRulesResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall-managed/rulesets/{rulesetId}/rules/{ruleId}: + patch: + summary: Update a WAF managed rule in the specified WAFv2 managed ruleset. See [eCDN WAFv2](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-wafv2.html). + operationId: updateWafManagedRuleInRuleset + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/rulesetId' + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WAFManagedRuleRequest' + examples: + WAFManagedRulesUpdateRequestBodyExample: + $ref: '#/components/examples/WAFManagedRulesUpdateRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the WAF managed rule in the specified WAFv2 managed ruleset. + content: + application/json: + schema: + $ref: '#/components/schemas/WAFManagedRuleEnvelope' + examples: + WAFManagedRulesUpdateResponse: + $ref: '#/components/examples/WAFManagedRulesUpdateResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall-managed/migration: + put: + summary: Migrate a zone to WAFv2. Only applicable for existing zones using WAFv1. See [eCDN WAFv2](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-wafv2.html). + operationId: migrateZoneToWafV2 + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully migrated the zone to WAFv2 and returned the WAF managed rulesets. + content: + application/json: + schema: + $ref: '#/components/schemas/WAFManagedRulesetsEnvelope' + examples: + WAFManagedRulesetsResponse: + $ref: '#/components/examples/WAFManagedRulesetsResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/origin-header-modification/{type}: + get: + summary: Get the origin header modification associated with a zone. Only the `mrt` type is supported. + operationId: getOriginHeaderModification + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/type' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned the origin header modification associated with a zone. + content: + application/json: + schema: + $ref: '#/components/schemas/OriginHeaderModificationEnvelope' + examples: + MrtPutRequest: + $ref: '#/components/examples/MrtGetResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + put: + summary: Upsert an origin header modification. Only the `mrt` type is supported. + operationId: upsertOriginHeaderModification + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/type' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OriginHeaderModificationPutRequest' + examples: + MrtPutRequestBodyExample: + $ref: '#/components/examples/MrtPutRequestBodyExample' + required: true + responses: + '200': + description: Successfully upserted the origin header modification. + content: + application/json: + schema: + $ref: '#/components/schemas/OriginHeaderModificationEnvelope' + examples: + MrtPutUpdateResponse: + $ref: '#/components/examples/MrtPutUpdateResponse' + '201': + description: Successfully created the origin header modification. + content: + application/json: + schema: + $ref: '#/components/schemas/OriginHeaderModificationEnvelope' + examples: + MrtPutCreateResponse: + $ref: '#/components/examples/MrtPutCreateResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + delete: + summary: Delete the origin header modification associated with a zone. Only the `mrt` type is supported. + operationId: deleteOriginHeaderModification + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/type' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Successfully deleted the origin header modification associated with a zone. + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/settings/ciphers: + get: + summary: Get cipher suites settings by zoneId. See [eCDN Supported Cipher Suites](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-cipher-suite-types.html). + operationId: getCipherSuites + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Retrieves current zone level cipher settings. + content: + application/json: + schema: + $ref: '#/components/schemas/CipherSuitesEnvelope' + examples: + CipherSettingsGetResponse: + $ref: '#/components/examples/CipherSettingsGetResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + patch: + summary: Update cipher suite settings for the zone. See [eCDN Supported Cipher Suites](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-cipher-suite-types.html). + operationId: updateCipherSuites + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CipherSuitesRequest' + examples: + CipherSettingsPatchRequestBodyExample: + $ref: '#/components/examples/CipherSettingsPatchRequestBodyExample' + required: true + responses: + '200': + description: Updates current zone level cipher settings. + content: + application/json: + schema: + $ref: '#/components/schemas/CipherSuitesEnvelope' + examples: + CipherSettingsPatchResponse: + $ref: '#/components/examples/CipherSettingsPatchResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw +components: + schemas: + ApiStandardsErrorResponse: + type: object + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + StorefrontZoneCreateRequest: + required: + - domainName + type: object + properties: + domainName: + type: string + description: Domain name for the site. + example: cc-merchant.com + description: The storefront zone information to be created. + StorefrontZoneCreateResponse: + required: + - createdOn + - status + - zoneId + - zoneName + type: object + properties: + zoneId: + type: string + description: The zone id tag. + example: 023e105f4ecef8ad9ca31a8372d0c353 + zoneName: + type: string + description: The domain name for the zone. + example: stg-zzzz-cc-merchant-com.cc-ecdn.net + status: + type: string + description: current status of the zone + example: active + enum: + - active + - pending + - initializing + - moved + - deleted + - deactivated + createdOn: + type: string + description: Date and time of zone creation. + format: date-time + example: '2014-01-01T05:20:00.12345Z' + description: The response of create zone, includes zone and zone properties. + StorefrontZoneCreateEnvelope: + type: object + properties: + data: + $ref: '#/components/schemas/StorefrontZoneCreateResponse' + required: + - data + MtlsCertificateResponse: + type: object + properties: + mtlsCertificateId: + type: string + description: ID generated by the CDN provider for the certificate. + expiresOn: + type: string + description: Expiration date for the mTLS certificate. + format: date-time + issuer: + type: string + description: The certificate authority that issued the mTLS certificate. + signature: + type: string + description: The type of hash used for the mTLS certificate. + uploadedOn: + type: string + description: Date the mTLS certificate was uploaded. + format: date-time + ca: + type: boolean + description: Indicates whether the mTLS certificate is a CA or leaf certificate. + serialNumber: + type: string + description: The mTLS certificate serial number. + mtlsCertificateName: + type: string + description: Optional name for the mTLS certificate used for ease of understanding. + mtlsAssociatedCodeUploadHostname: + type: string + description: Hostname associated with this mTLS certificate. + description: mTLS certificate information. + MtlsCertificatesResponseEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/MtlsCertificateResponse' + type: array + MtlsCertificateRequest: + required: + - certificate + - name + - privateKey + type: object + properties: + certificate: + type: string + description: Public key for the CA certificate in mTLS. + privateKey: + type: string + description: Private key of the CA certificate in mTLS. + name: + type: string + description: Certificate name used for ease of understanding. + description: mTLS certificate request information. + MtlsCertificateResponseEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/MtlsCertificateResponse' + PageShieldNotificationWebhookResponse: + required: + - createdAt + - id + - name + - type + - webhookUrl + type: object + properties: + id: + type: string + description: Webhook ID. + name: + type: string + description: Webhook name. + webhookUrl: + type: string + description: Webhook URL. + type: + type: string + description: Webhook type. + createdAt: + type: string + description: Timestamp of webhook creation. + format: date-time + lastSuccess: + type: string + description: Timestamp of the last successful notification. + format: date-time + lastFailure: + type: string + description: Timestamp of the last failed notification. + format: date-time + zones: + items: + type: string + type: array + description: Zone IDs on which to filter notifications alerts. + description: Page shield notification for the webhook response. + PageShieldNotificationWebhookListEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/PageShieldNotificationWebhookResponse' + type: array + PageShieldNotificationWebhookRequest: + required: + - webhookUrl + type: object + properties: + webhookUrl: + type: string + description: Webhook URL. + secret: + type: string + description: Webhook optional secret. + zones: + items: + type: string + type: array + description: Zone names on which to filter notifications alerts. + description: Page shield notification for the webhook request. + PageShieldNotificationWebhookEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/PageShieldNotificationWebhookResponse' + PageShieldPolicyResponse: + type: object + properties: + action: + type: string + description: Action taken when expression matches allow or log. + example: allow + enum: + - allow + - log + description: + type: string + description: Description for the policy. + enabled: + type: boolean + description: Enable/disable the policy. + expression: + type: string + description: Expression of the policy. + value: + type: string + description: Policy to be applied. + example: script-src + id: + type: string + description: Policy ID + description: Page shield policy response. + PageShieldPoliciesListEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/PageShieldPolicyResponse' + type: array + PageShieldPolicyRequest: + type: object + properties: + action: + type: string + description: Action taken when expression matches allow or log. + example: allow + enum: + - allow + - log + description: + type: string + description: Description for the policy. + enabled: + type: boolean + description: Enable/disable the policy. + expression: + type: string + description: Expression of the policy. + value: + type: string + description: Policy to be applied. + example: script-src + description: Page shield policy request object. + PageShieldPoliciesEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/PageShieldPolicyResponse' + PageShieldScriptVersion: + required: + - isMaliciousCode + type: object + properties: + hash: + type: string + description: The computed hash of the analyzed script. + example: 1243453456abc + jsIntegrityScore: + type: integer + description: The integrity score of the JavaScript content. + example: 1 + obfuscationScore: + type: integer + description: The obfuscation score of the JavaScript content. + example: 2 + dataflowScore: + type: integer + description: The dataflow score of the JavaScript content. + example: 1 + malwareScore: + type: integer + description: The malware score of the JavaScript content. + example: 1 + cryptoMiningScore: + type: integer + description: The crypto mining score of the JavaScript content. + example: 1 + mageCartScore: + type: integer + description: The Magecart score of the JavaScript content. + example: 2 + fetchedAt: + type: string + description: The timestamp of when the script was last fetched. + format: date-time + isMaliciousCode: + type: boolean + description: Indicates whether the script has been reported as malicious. + description: Version details for the JavaScript script. + PageShieldScriptResponse: + type: object + properties: + id: + type: string + description: Page Shield script ID. + example: 12345678901234asdfasfasdf + url: + type: string + description: Page Shield script URL. + example: https://sfdc-test.net/on/demandware.static/Sites-SiteNemesis-Site/-/en_US//lib/jquery/ui/jquery-ui.min.js + host: + type: string + description: Hostname where the script was detected by Page Shield. + example: sfdc-test.net + addedAt: + type: string + description: Date the script was added to Page Shield. + format: date-time + example: '2022-01-01T05:20:00Z' + firstSeenAt: + type: string + description: Date the script was detected by Page Shield. + format: date-time + example: '2022-01-01T05:20:00Z' + lastSeenAt: + type: string + description: Date the script was recently detected by Page Shield. + format: date-time + example: '2022-01-01T05:20:00Z' + fetchedAt: + type: string + description: The timestamp when the script was last fetched. + format: date-time + domainReportedMalicious: + type: boolean + description: Reported domain is malicious. + example: false + hash: + type: string + description: The computed hash of the analyzed script. + example: 1243453456abc + cryptoMiningScore: + type: integer + description: The crypto mining score of the JavaScript content. + example: 1 + dataflowScore: + type: integer + description: The dataflow score of the JavaScript content. + example: 1 + jsIntegrityScore: + type: integer + description: The integrity score of the JavaScript content. + example: 1 + mageCartScore: + type: integer + description: The Magecart score of the JavaScript content. + example: 2 + malwareScore: + type: integer + description: The malware score of the JavaScript content. + example: 1 + obfuscationScore: + type: integer + description: The obfuscation score of the JavaScript content. + example: 2 + maliciousDomainCategories: + items: + type: string + type: array + description: Malicious domain category. + example: + - Malware + maliciousUrlCategories: + items: + type: string + type: array + description: Malicious URL category. + example: + - Malware + urlContainsCdnCgiPath: + type: boolean + description: URL contains CDN CGI path. + example: false + urlReportedMalicious: + type: boolean + description: Reported URL is malicious. + example: false + pageUrls: + items: + type: string + type: array + description: Page URLs + example: + - blog.test.salesforce.com/page1 + - blog.test.salesforce.com/page2 + firstPageUrl: + type: string + description: First page URL for the JavaScript. + example: blog.test.salesforce.com + status: + type: string + description: The current status of the script. Possible values are active, inactive, or infrequent. + example: active + versions: + items: + $ref: '#/components/schemas/PageShieldScriptVersion' + type: array + description: List of script versions. + description: Response of Page Shield script object. + PageShieldScriptListEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/PageShieldScriptResponse' + type: array + PageShieldScriptEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/PageShieldScriptResponse' + Zone: + title: Zone + required: + - name + - status + - zoneId + type: object + properties: + zoneId: + maxLength: 100 + type: string + description: Identity of the zone. + name: + maxLength: 100 + type: string + description: Name given to the zone. This needs to be a DNS domain name for eg example.com + status: + type: string + description: Status of the zone for eg "Pending" , "Active" + enum: + - active + - pending + - initializing + - moved + - deleted + - deactivated + description: Zone is the container for hostnames and various CDN settings/properties. Each zone is tied to a single origin. + example: + zoneId: example1-zone-Id + name: example1.com + status: pending + ZonesEnvelope: + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/Zone' + type: array + WafGroup: + required: + - mode + type: object + properties: + groupId: + maxLength: 100 + type: string + example: 372e67954025e0ba6aaa6d586b9e0b60 + action: + type: string + description: The action to apply to WAF group + example: block + enum: + - block + - challenge + - monitor + - default + mode: + type: string + description: Mode of the waf rule - on vs off + example: 'on' + enum: + - 'on' + - 'off' + description: + type: string + description: Description of the WAF Group. + example: Test WAF Group to protect against SQL injection + example: + groupId: 372abe67954025e0ba6aaa6d586b9e0b + zoneId: example1-zone-Id + action: monitor + mode: true + description: SQL injection protection + WafGroupsEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/WafGroup' + type: array + WafGroupEnvelope: + type: object + properties: + data: + $ref: '#/components/schemas/WafGroup' + WafRule: + required: + - action + type: object + properties: + ruleId: + type: string + example: 892e67954025e0ba6atefd586b9e58b3 + groupId: + maxLength: 100 + type: string + example: 372e67954025e0ba6aaa6d586b9e0b60 + action: + type: string + description: The action to apply to WAF rule + example: block + enum: + - block + - challenge + - monitor + - disable + - default + defaultAction: + type: string + description: The action to apply to WAF rule + example: block + enum: + - block + - challenge + - monitor + - disable + description: + type: string + description: Description of the WAF Group. + example: Test WAF Rule to protect against SQL injection + example: + ruleId: 892e67954025e0ba6atefd586b9e58b3 + groupId: 372abe67954025e0ba6aaa6d586b9e0b + action: monitor + defaultAction: challenge + description: SQL injection protection + WafRulesEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/WafRule' + type: array + WafRuleEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/WafRule' + SpeedSetting: + type: object + properties: + brotliCompression: + type: string + description: Brotli compression setting of a zone. + default: 'off' + example: 'off' + enum: + - 'on' + - 'off' + http2Prioritization: + type: string + description: Http2 prioritization setting for a zone. + default: 'off' + example: 'off' + enum: + - 'on' + - 'off' + webp: + type: string + description: Support for the WebP image format when using image modification for a zone. The WebP image format can be used with supported clients for added performance benefits. Setting this property to `on` will return an error when the `polish` property is set to `off`. + default: 'off' + example: 'off' + enum: + - 'on' + - 'off' + polish: + type: string + description: The level of polish (image quality) used for image modification. The value `lossless` corresponds to **Polish Level Basic** in the UI, and the value `lossy` corresponds to **Polish Level Basic+JPEG.** To disable image modification, set this property to `off`. Setting this property to `off` will prevent you from setting the `webp` property to `on`. + default: 'off' + example: 'off' + enum: + - 'off' + - lossless + - lossy + earlyHints: + type: string + description: Early Hints for a zone. + default: 'off' + example: 'off' + enum: + - 'on' + - 'off' + http3: + type: string + description: Http3 for a zone. + default: 'off' + example: 'off' + enum: + - 'on' + - 'off' + http2ToOrigin: + type: string + description: Http2 to Origin for a zone. + default: 'off' + example: 'off' + enum: + - 'on' + - 'off' + example: + brotliCompression: 'off' + SpeedSettingsEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/SpeedSetting' + SecuritySetting: + required: + - alwaysUseHttps + type: object + properties: + hsts: + type: object + properties: + enabled: + type: boolean + description: Enable strict transport security. + includeSubdomains: + type: boolean + description: Include all subdomains for strict transport security. + maxAge: + type: number + description: Max age in seconds of the strict transport security. + preload: + type: boolean + description: Preload any URLs that are included in the response headers. + description: The security header for a zone. + securityLevel: + type: string + description: Security profile for your zone, which will automatically adjust each of the security settings. + enum: + - 'off' + - essentially_off + - low + - medium + - high + - under_attack + tls13Enabled: + type: boolean + description: Enable Crypto TLS 1.3 feature for this zone. + wafEnabled: + type: boolean + description: Enable WAF (OWASP) protection for this zone. Not applicable for zones using WAFv2. + alwaysUseHttps: + type: boolean + description: Redirect all http requests to https. + example: true + SecuritySettingsEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/SecuritySetting' + CachePurgeRequest: + type: object + properties: + path: + type: string + description: Path for clearing the cache. Allowed paths follow the format "/dw/shop/*/products", "/worker.js", "/mobify*" or "/callback*". Regular expressions and wildcards are not supported in the path. + example: www.sfcc-ecdn-test5.net/dw/shop/v21_9/products + tags: + type: array + description: List of cache tags to purge. When specified, all cached content associated with these tags will be purged. + items: + type: string + example: + - product-123 + - category-456 + description: Request for doing a cache purge + CachePurgeResponse: + required: + - cachePurged + - details + type: object + properties: + cachePurged: + type: boolean + description: The name of the list. + example: false + details: + type: string + description: Details of errors if any. + example: '1084 : Unable to purge ''''.' + description: Response from a cache purge request + CachePurgeResponseEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/CachePurgeResponse' + OCAPICachingToggleRequest: + required: + - enableOCAPICachingPageRule + type: object + properties: + enableOCAPICachingPageRule: + type: boolean + description: true to enable OCAPI Caching Page rule, false to disable. + example: true + description: Request to enable or disable OCAPI Caching Page rule + DCVDelegationRecord: + description: eCDN automatic renewal certificate DCV delegation records. + type: object + properties: + dcvCname: + description: DNS CNAME for Domain Control Validation. + type: string + dcvCnameValue: + description: DNS CNAME value for Domain Control Validation. + type: string + Certificate: + required: + - certificateId + - certificateType + - status + type: object + properties: + certificateId: + type: string + description: Id generated by CDN provider for the certificate. + hosts: + items: + type: string + type: array + description: List of hosts the certificate applies to. + expiresOn: + type: string + description: Date of expiration for the certificate. + format: date-time + uploadedOn: + type: string + description: Date the certificate was uploaded. + format: date-time + issuer: + type: string + description: The certificate authority that issued the certificate. + signature: + type: string + description: The type of hash used for the certificate. + status: + type: string + description: Current status of the certificate. + enum: + - ACTIVE + - EXPIRED + - DELETED + - PENDING + - INITIALIZING + - PENDING_VALIDATION + - PENDING_ISSUANCE + - PENDING_DEPLOYMENT + - PENDING_DELETION + minTlsVersion: + type: string + description: Minimum TLS Version only allows HTTPS connections from visitors that support the selected TLS protocol version or newer. + certificateType: + type: string + description: Indicates certificate is custom cert uploaded by customer or automatic renewal certificate by eCDN. + enum: + - custom + - automatic + - custom_legacy + certificateAuthority: + type: string + description: Indicates certificate issuer for automatic renewal certificate by eCDN. + enum: + - google + - lets_encrypt + - digicert + certificateValidation: + type: string + description: Indicates certificate validation type for automatic renewal certificate by eCDN. + enum: + - http + - txt + certificateVerificationTXTName: + type: string + description: eCDN automatic renewal certificate verification txt name. + certificateVerificationTXTValue: + type: string + description: eCDN automatic renewal certificate verification txt value. + certificateVerificationStatus: + type: string + description: Current status of certificate verification. + enum: + - ACTIVE + - EXPIRED + - PENDING + - INITIALIZING + - PENDING_VALIDATION + - PENDING_ISSUANCE + - PENDING_DEPLOYMENT + wildcardCertificateVerificationTXTName: + type: string + description: eCDN automatic renewal certificate verification txt name. + wildcardCertificateVerificationTXTValue: + type: string + description: eCDN automatic renewal certificate verification txt value. + wildcardCertificateVerificationStatus: + type: string + description: Current status of certificate verification. + enum: + - ACTIVE + - EXPIRED + - PENDING + - INITIALIZING + - PENDING_VALIDATION + - PENDING_ISSUANCE + - PENDING_DEPLOYMENT + customHostnameVerificationTXTName: + type: string + description: Custom Hostname verification txt name. + customHostnameVerificationTXTValue: + type: string + description: Custom Hostname verification txt value. + customHostnameId: + type: string + description: Custom hostname associated with the zone + customHostname: + type: string + description: Custom hostname associated with the zone + customHostnameStatus: + type: string + description: Current status of custom hostname validation. + enum: + - ACTIVE + - EXPIRED + - DELETED + - PENDING + - INITIALIZING + - PENDING_VALIDATION + - PENDING_ISSUANCE + - PENDING_DEPLOYMENT + - PENDING_DELETION + - MOVED + dcvDelegationRecords: + description: eCDN automatic renewal certificate DCV delegation records + items: + $ref: '#/components/schemas/DCVDelegationRecord' + type: array + description: The certificate information + CertificatesEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/Certificate' + type: array + CertificateRequest: + required: + - hostname + type: object + properties: + hostname: + type: string + description: Hostname that certificate needs to be applied to. + bundleMethod: + type: string + description: Bundle method of the custom certificate chain for verification. + certificateType: + type: string + description: Indicates certificate is custom or automatic certificate renewal by eCDN. Optional field, if nothing specified the default value is custom. Valid values are custom or automatic. + certificate: + type: string + description: Public key of the custom certificate. Required if the certificateType value is custom. + privateKey: + type: string + description: Private key associated with the custom certificate. Required if the `certificateType` value is custom. + certificateAuthority: + type: string + description: Certificate authority only for automatic certificate renewal by eCDN. Required if the `certificateType` value is automatic. Valid values are `google` or `lets_encrypt`. + certificateValidation: + type: string + description: Certificate validation type is optional only for `certificateType` automatic, default value is `http`. Valid values are `http` or `txt`. + wildcardHostname: + type: boolean + description: Set to true for a wildcard custom hostname. + description: Certificate request information + CertificateEnvelope: + required: + - data + type: object + properties: + data: + $ref: '#/components/schemas/Certificate' + CustomHostnameValidationResponse: + required: + - customHostname + - customHostnameId + - customHostnameStatus + - customHostnameVerificationTXTName + - customHostnameVerificationTXTValue + type: object + properties: + customHostnameId: + type: string + description: Identifier generated by the CDN provider for the custom hostname. + example: a439eb1f-5e71-4544-bb29-54d18ax62277 + customHostname: + type: string + description: Name of the custom hostname + example: hello.world.example.net + customHostnameVerificationTXTName: + type: string + description: Custom hostname verification txt name. + customHostnameVerificationTXTValue: + type: string + description: Custom hostname verification txt value. + customHostnameStatus: + type: string + description: Current status of the custom hostname. + example: ACTIVE + enum: + - PENDING + - ACTIVE + - MOVED + - DELETED + description: Custom hostname validation information. + CustomHostnameValidationEnvelope: + type: object + properties: + data: + $ref: '#/components/schemas/CustomHostnameValidationResponse' + required: + - data + MRTRules: + required: + - enabled + - expression + - id + - lastUpdated + - mrtHostname + - ref + type: object + properties: + id: + type: string + description: The ID of the rule. + example: 12345678901234asdfasfasdf + expression: + type: string + description: The expression that determines the rule's routing behavior. + example: (http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\")) + description: + type: string + description: The description of the rule. + example: Phased rollout rule for dev-customer.salesforce.com + lastUpdated: + type: string + description: Date when the rule was last updated. + format: date-time + example: '2022-01-01T05:20:00Z' + ref: + type: string + description: The ref of the rule. + example: 12345678901234asdfasfasdf1234567 + enabled: + type: boolean + description: Whether or not the rule is enabled. + example: true + mrtHostname: + type: string + description: Managed runtime hostname this rule targets. + example: customer-pwa-hybrid.mobify-storefront.com + description: A rule in an MRT ruleset. + MRTRuleset: + required: + - id + - lastUpdated + - name + - rules + type: object + properties: + id: + type: string + description: The ID of the ruleset. + example: 12345678901234asdfasfasdf + name: + type: string + description: The name of the ruleset. + example: MRT Rules + lastUpdated: + type: string + description: Date when the ruleset was last updated. + format: date-time + example: '2022-01-01T05:20:00Z' + rules: + items: + $ref: '#/components/schemas/MRTRules' + type: array + description: The rules defined by the ruleset. + description: An MRT ruleset. Defines a list of MRT rules that will route certain storefront requests to the managed runtime instance. + MRTRulesResponse: + required: + - ruleset + type: object + properties: + ruleset: + $ref: '#/components/schemas/MRTRuleset' + description: Response for MRT rules. MRT rules are a way to route certain storefront requests to the managed runtime instance. + MRTRulesResponseEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/MRTRulesResponse' + MRTRulesPostRequest: + required: + - expressions + - mrtHostname + type: object + properties: + mrtHostname: + type: string + description: The customer's MRT instance hostname. + example: customer-react-project-production.mobify-storefront.com + expressions: + items: + type: string + type: array + description: An array containing the expressions for each MRT rule. + example: + - (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "^/path1/.*" or http.request.uri.path matches "^.*/path2/.*/products/.*")) + descriptions: + items: + type: string + type: array + description: An array containing the descriptions for each MRT rule. The number of descriptions provided must match the number of expressions provided. Optional. + example: + - Phased rollout rule for dev-customer.salesforce.com + description: POST request for creating MRT rules. MRT rules are a way to route certain storefront requests to the managed runtime instance. + MRTRulesetPatchRequest: + required: + - mrtHostname + type: object + properties: + oldMrtHostname: + type: string + description: The customer's current MRT instance hostname. + example: customer-react-projec-production.mobify-storefront.com + mrtHostname: + type: string + description: The customer's MRT instance hostname. + example: customer-react-projec-production.mobify-storefront.com + expressions: + items: + type: string + type: array + description: An array containing the expressions for each MRT rule. + example: + - (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "^/path1/.*" or http.request.uri.path matches "^.*/path2/.*/products/.*")) + descriptions: + items: + type: string + type: array + description: An array containing the descriptions for each MRT rule. The number of descriptions provided must match the number of expressions provided. Optional. + example: + - Phased rollout rule for dev-customer.salesforce.com + description: PATCH request for updating the MRT environment hostname or adding MRT rules to route to an existing MRT environment. + MRTRulePatchRequest: + type: object + properties: + enabled: + type: boolean + description: Whether or not the rule is enabled. + example: true + expression: + type: string + description: The expression that determines the MRT rule's routing behavior. + example: (http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\")) + description: + type: string + description: The description of the rule. Optional. + example: Phased rollout rule for dev-customer.salesforce.com + description: PATCH request for updating an MRT rule. You may use the PATCH request to update the rule's expression and description as well as disable/enable the rule. + LogpushOwnershipPostRequest: + required: + - destinationPath + type: object + properties: + destinationPath: + type: string + description: Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included. You can use the special string {DATE} in the URL path to separate logs into daily subdirectories; for example s3://customer-bucket/logs/{DATE}?region=us-east-1&sse=AES256. The name of the directory will be replaced with the date in YYYYMMDD format (e.g. 20220215) when the logs are stored. + example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + description: POST request for creating new Logpush Ownership. + LogpushOwnershipPostResponse: + required: + - data + type: object + properties: + data: + required: + - destinationPath + - fileName + type: object + properties: + destinationPath: + type: string + description: Destination where logs will be sent (S3 bucket only). + example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + fileName: + type: string + description: File path where the ownership challenge file is written. + example: site-name/20230101/ownership-challenge-d12345678.txt + description: The customer's new Logpush Ownership. + description: POST response for created new Logpush Ownership. + LogpushResponse: + type: object + properties: + jobId: + type: integer + description: Unique ID of the job. + example: 123456 + name: + type: string + description: Logpush job name; the name cannot be changed after the job is created. + example: my-logpush-job + logType: + type: string + description: Type of logs; available log types are `http_requests`, `firewall_events`, and `page_shield_events`. + example: http_requests + enum: + - http_requests + - firewall_events + - page_shield_events + filter: + type: string + description: Filter provides a way to customize which logs you want to receive. Filters are added as escaped JSON strings formatted. If the filter is not displayed, it indicates that all logs should be included. + logFields: + items: + type: string + type: array + description: List of log fields. Depending on the type of log, the list of fields that you would like to see in the logs may vary. + example: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + destinationPath: + type: string + description: Uniquely identifies s3 bucket for logs. + example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + enabled: + type: boolean + description: Flag that indicates if the job is enabled or disabled. + example: false + lastComplete: + type: string + description: The last time that the log has been successfully transmitted to the destination. + format: date-time + example: '2023-01-02T00:00:00Z' + lastError: + type: string + description: The last time the job failed. If empty, the job has either never failed or has run successfully at least once since the last failure. + format: date-time + example: '2023-01-01T10:00:00Z' + errorMessage: + type: string + description: Provide details for the last failure message. If this field is empty, it indicates that the job successfully transmitted logs to the destination. + example: no permissions to write to destination bucket + createdOn: + type: string + description: Job creation time. + format: date-time + example: '2023-01-01T00:00:27Z' + description: Logpush job response + LogpushJobsEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/LogpushResponse' + type: array + LogpushCreateRequest: + required: + - destinationPath + - logFields + - logType + - name + - ownershipChallengeToken + type: object + properties: + destinationPath: + type: string + description: Uniquely identifies s3 bucket for logs. Additional configuration parameters like region can be included. The string {DATE} in the URL path to separate logs into daily subdirectories; for example `s3://customer-bucket/logs/{DATE}?region=us-east-1&sse=AES256` The name of the directory will be replaced with the date in YYYYMMDD format (e.g. 20220215) when the logs are stored. + example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + name: + type: string + description: Logpush job name; the name cannot be changed after the job is created. + example: my-logpush-job + filter: + type: string + description: Filter provides a way to customize which logs you want to receive. Filters are added as escaped JSON strings formatted. Default will include all logs. + logFields: + items: + type: string + type: array + description: List of log fields. Depending on the type of log, the list of fields that you would like to see in the logs may vary. + example: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + ownershipChallengeToken: + type: string + description: Ownership token to proves the ownership of the destinationPath. + example: abc00000000000000000000 + logType: + type: string + description: Type of logs. Available log types are `http_requests`, `firewall_events`, and `page_shield_events`. + example: http_requests + enum: + - http_requests + - firewall_events + - page_shield_events + description: Request for create Logpush job. + LogpushEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/LogpushResponse' + LogpushUpdateRequest: + type: object + properties: + enabled: + type: boolean + description: Flag that indicates if the job is enabled or disabled. + example: true + filter: + type: string + description: Provides customized selection for logs you want to receive. Filters are added as escaped, formatted JSON strings. By default, all logs are included. + example: '{"where":{"key":"ClientRequestPath","operator":"contains","value":"/example-path"}}' + logFields: + items: + type: string + type: array + description: List of log fields. Depending on the log type, the list of fields that you can specify to be displayed in the log might vary. + example: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + description: Request for update Logpush job + WAFRulePackage: + required: + - action_mode + - description + - detection_mode + - id + - name + - sensitivity + - zone_id + type: object + properties: + id: + maxLength: 32 + type: string + example: a25a9a7e9c00afc1fb2e0245519d725b + name: + type: string + description: Name of the firewall package + description: + type: string + description: Summary of purpose/function of firewall package + detection_mode: + type: string + description: How the rules within the package are evaluated during the course of a request. When a package uses anomaly detection, each rule is given a score when triggered. If the total score of all triggered rules exceeds the sensitivity defined on the package, the action defined on the package is taken. Traditional detection decides which action to take when it is triggered by the request. If multiple rules are triggered, the action with highest protection is used. For example, a block action beats a challenge. + zone_id: + type: string + description: Zone identifier with which this rule package is associated. + sensitivity: + type: string + description: Sensitivity for traditional (owasp) rule package. + enum: + - low + - medium + - high + - 'off' + action_mode: + type: string + description: The default action that is taken for rules under traditional(owasp) firewall package. + enum: + - simulate + - challenge + - block + WAFRulePackageEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/WAFRulePackage' + WafPackagePatchRequest: + required: + - action_mode + - sensitivity + type: object + properties: + sensitivity: + type: string + description: Sensitivity for traditional (owasp) rule package. + enum: + - low + - medium + - high + - 'off' + action_mode: + type: string + description: The default action that is taken for rules under traditional(owasp) firewall package. + enum: + - simulate + - challenge + - block + CustomRule: + required: + - actions + - description + - enabled + - expression + - lastUpdated + - ruleId + type: object + properties: + ruleId: + type: string + description: The ID of the custom rule. + example: 2c0fc9fa937b11eaa1b71c4d701ab86e + description: + type: string + description: The description of the custom rule. + example: Block traffic for malformed URL requests. + expression: + type: string + description: The expression that determines the custom rule's behavior. + example: (http.request.uri.path matches \"^/path1/.*\") + actions: + items: + type: string + type: array + description: The action(s) applied by the custom rule. + example: + - block + lastUpdated: + type: string + description: Date when the custom rule was last updated. + format: date-time + example: '2022-01-01T05:20:00Z' + enabled: + type: boolean + description: Whether or not the custom rule is enabled. + example: true + description: A custom rule. + CustomRulesEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/CustomRule' + type: array + RulePosition: + type: object + properties: + before: + type: string + description: Insert the current rule before this ruleId. + example: 2c0fc9fa937b11eaa1b71c4d701ab86e + after: + type: string + description: Insert the current rule after this ruleId. + example: 2c0fc9fa937b11eaa1b71c4d701ab86e + description: Used to specify the position of a rule. + CustomRulesPostRequest: + required: + - actions + - description + - expression + type: object + properties: + description: + type: string + description: A description of the custom rule. + example: Block traffic for malformed URL requests + expression: + type: string + description: The expression that determines the custom rule's behavior. + example: (http.request.uri.path matches \"^/path1/.*\") + actions: + items: + type: string + type: array + description: The action(s) applied by the custom rule. + example: + - block + enabled: + type: boolean + description: Whether or not the custom rule is enabled. + example: true + position: + $ref: '#/components/schemas/RulePosition' + description: Create a custom rule. + CustomRuleEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/CustomRule' + CustomRulesPatchOrderRequest: + required: + - ruleIds + type: object + properties: + ruleIds: + items: + type: string + type: array + description: An array of ruleIds representing the new order of custom rules. + example: + - ffffe61cf25e4ec49c34b029ff3060f7 + - 2c0fc9fa937b11eaa1b71c4d701ab86e + description: Update the order of all existing custom rules. + CustomRulesPatchRequest: + type: object + properties: + description: + type: string + description: A description of the custom rule. + example: Block traffic for malformed URL requests + expression: + type: string + description: The expression that determines the custom rule's behavior. + example: (http.request.uri.path matches \"^/path1/.*\") + actions: + items: + type: string + type: array + description: The action(s) applied by the custom rule. + example: + - block + enabled: + type: boolean + description: Whether or not the custom rule is enabled. + example: true + position: + $ref: '#/components/schemas/RulePosition' + description: Update a custom rule. + RateLimitingRule: + required: + - action + - characteristics + - description + - enabled + - expression + - lastUpdated + - period + - requestsPerPeriod + - ruleId + - mitigationTimeout + type: object + properties: + ruleId: + type: string + description: The ID of the rate limiting rule. + example: 2c0fc9fa937b11eaa1b71c4d701ab86e + description: + type: string + description: The description of the rate limiting rule. + example: Rate limit /path1. + expression: + type: string + description: The expression that defines when to evaluate the rate limiting rule. + example: (http.request.uri.path matches \"^/path1/.*\") + characteristics: + items: + type: string + type: array + description: Set of parameters defining how to group requests when tracking the request rate. + example: + - cf.unique_visitor_id + action: + type: string + description: The action applied by the rate limiting rule. Valid actions are "block", "managed_challenge", "js_challenge", "legacy_captcha", and "log". + example: block + period: + type: integer + description: The period of time to consider when evaluating the request rate (in seconds). Valid values are 10, 60, 120, 300, and 600. + example: 60 + requestsPerPeriod: + type: integer + description: The limit for the number of requests in the specified period of time. + example: 50 + mitigationTimeout: + type: integer + description: After the rate is reached, the rate limiting rule applies the rule action to further requests for the period of time defined in this field (in seconds). When set to 0, the rule throttles requests over the maximum configured rate. When greater than 0, the action is presented for the selected duration after the configured rate is exceeded. Valid values are 0, 60, 120, 300, 600, 3600, and 86400. + example: 600 + countingExpression: + type: string + description: The expression that defines what kind of requests we want to rate limit. + example: (http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400) + lastUpdated: + type: string + description: Date when the rate limiting rule was last updated. + format: date-time + example: '2022-01-01T05:20:00Z' + enabled: + type: boolean + description: Whether or not the rate limiting rule is enabled. + example: true + description: A rate limiting rule. + RateLimitingRulesEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/RateLimitingRule' + type: array + RateLimitingRulesPostRequest: + required: + - action + - characteristics + - description + - expression + - period + - requestsPerPeriod + - mitigationTimeout + type: object + properties: + description: + type: string + description: The description of the rate limiting rule. + example: Rate limit /path1. + expression: + type: string + description: The expression that defines when to evaluate the rate limiting rule. + example: (http.request.uri.path matches \"^/path1/.*\") + characteristics: + items: + type: string + type: array + description: Set of parameters defining how to group requests when tracking the request rate. + example: + - cf.unique_visitor_id + action: + type: string + description: The action applied by the rate limiting rule. Valid actions are "block", "managed_challenge", "js_challenge", "legacy_captcha", and "log". + example: block + period: + type: integer + description: The period of time to consider when evaluating the request rate (in seconds). Valid values are 10, 60, 120, 300, and 600. + example: 60 + requestsPerPeriod: + type: integer + description: The limit for the number of requests in the specified period of time. + example: 50 + mitigationTimeout: + type: integer + description: After the rate is reached, the rate limiting rule applies the rule action to further requests for the period of time defined in this field (in seconds). When set to 0, the rule throttles requests over the maximum configured rate. When greater than 0, the action is presented for the selected duration after the configured rate is exceeded. Valid values are 0, 60, 120, 300, 600, 3600, and 86400. + example: 600 + countingExpression: + type: string + description: The expression that defines what kind of requests we want to rate limit. + example: (http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400) + enabled: + type: boolean + description: Whether or not the rate limiting rule is enabled. + example: true + position: + $ref: '#/components/schemas/RulePosition' + description: Create a rate limiting rule. + RateLimitingRuleEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/RateLimitingRule' + RateLimitingRulesPatchRequest: + type: object + properties: + description: + type: string + description: The description of the rate limiting rule. + example: Rate limit /path1. + expression: + type: string + description: The expression that defines when to evaluate the rate limiting rule. + example: (http.request.uri.path matches \"^/path1/.*\") + characteristics: + items: + type: string + type: array + description: Set of parameters defining how to group requests when tracking the request rate. + example: + - cf.unique_visitor_id + action: + type: string + description: The action applied by the rate limiting rule. Valid actions are "block", "managed_challenge", "js_challenge", "legacy_captcha", and "log". + example: block + period: + type: integer + description: The period of time to consider when evaluating the request rate (in seconds). Valid values are 10, 60, 120, 300, and 600. + example: 60 + requestsPerPeriod: + type: integer + description: The limit for the number of requests in the specified period of time. + example: 50 + mitigationTimeout: + type: integer + description: After the rate is reached, the rate limiting rule applies the rule action to further requests for the period of time defined in this field (in seconds). When set to 0, the rule throttles requests over the maximum configured rate. When greater than 0, the action is presented for the selected duration after the configured rate is exceeded. Valid values are 0, 60, 120, 300, 600, 3600, and 86400. + example: 600 + countingExpression: + type: string + description: The expression that defines what kind of requests we want to rate limit. + example: (http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400) + enabled: + type: boolean + description: Whether or not the rate limiting rule is enabled. + example: true + position: + $ref: '#/components/schemas/RulePosition' + description: Update a rate limiting rule. + WAFManagedRuleset: + required: + - action + - enabled + - name + - rulesetId + type: object + properties: + name: + type: string + description: The name of the WAF managed ruleset. + example: OWASP Core Ruleset + rulesetId: + type: string + description: The ID of the WAF managed ruleset. + example: 4814384a9e5d4991b9815dcfc25d2f1f + action: + type: string + description: The action applied by the WAF managed ruleset. + example: default + anomalyScore: + type: string + description: The anomaly score threshold of the WAF managed ruleset. Only applicable for the OWASP Core Ruleset. + example: low + anomalyScoreThreshold: + type: integer + description: The numerical value of the anomaly score threshold of the WAF managed ruleset. Only applicable for the OWASP Core Ruleset. + example: 60 + paranoiaLevel: + type: integer + description: The paranoia level of the WAF managed ruleset. Higher paranoia levels activate more aggressive rules. Only applicable for the OWASP Core Ruleset. + example: 1 + enabled: + type: boolean + description: Whether or not the WAF managed ruleset is enabled. + example: true + description: A WAF managed ruleset. + WAFManagedRulesetsEnvelope: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/WAFManagedRuleset' + WAFManagedRulesetRequest: + type: object + properties: + action: + type: string + description: The action applied by the WAF managed ruleset. + example: default + anomalyScore: + type: string + description: The anomaly score threshold of the WAF managed ruleset. Only applicable for the OWASP Core Ruleset. + example: low + paranoiaLevel: + type: integer + description: The paranoia level of the WAF managed ruleset. Higher paranoia levels activate more aggressive rules. Only applicable for the OWASP Core Ruleset. + example: 1 + enabled: + type: boolean + description: Whether or not the WAF managed ruleset is enabled. + example: true + description: A WAF managed ruleset request body. + WAFManagedRulesetEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/WAFManagedRuleset' + WAFManagedRule: + required: + - action + - categories + - description + - enabled + - lastUpdated + - ruleId + type: object + properties: + ruleId: + type: string + description: The ID of the WAF managed rule. + example: 5de7edfa648c4d6891dc3e7f84534ffa + action: + type: string + description: The action applied by the WAF managed rule. + example: block + score: + type: integer + description: The score of the WAF managed rule. Only applicable for the OWASP Managed Ruleset. + example: 5 + categories: + items: + type: string + type: array + description: A list of categories describing the function of the WAF managed rule. + example: + - broken-access-control + - wordpress + description: + type: string + description: The description of the WAF managed rule. + example: Wordpress - Broken Access Control + lastUpdated: + type: string + description: Date when the WAF managed rule was last updated. + format: date-time + example: '2024-01-01T05:20:00Z' + enabled: + type: boolean + description: Whether or not the WAF managed rule is enabled. + example: true + description: A WAF managed rule. + WAFManagedRulesEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/WAFManagedRule' + type: array + WAFManagedRuleRequest: + type: object + properties: + action: + type: string + description: The action applied by the WAF managed rule. + example: block + enabled: + type: boolean + description: Whether or not the WAF managed rule is enabled. + example: true + description: A PATCH request for updating a WAF managed rule. + WAFManagedRuleEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/WAFManagedRule' + OriginHeaderModification: + required: + - headerName + - headerValue + - lastUpdated + type: object + properties: + headerName: + type: string + description: The name of the header forwarded to the origin. + example: x-sfdc-access-control + headerValue: + type: string + description: The masked value of the header forwarded to the origin. + example: '****************789' + lastUpdated: + type: string + description: Date when the rule was last updated. + format: date-time + example: '2022-01-01T05:20:00Z' + description: An origin header modification rule. + OriginHeaderModificationEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/OriginHeaderModification' + OriginHeaderModificationPutRequest: + required: + - headerValue + type: object + properties: + headerValue: + type: string + description: The value of the header forwarded to the origin. + example: 123456789 + headerName: + type: string + description: The name of the header forwarded to the origin. Cannot be modified for the MRT origin. + description: Put request for creating/updating the origin header modification. + CipherSuitesResponse: + required: + - cipherSuiteType + - ciphers + type: object + properties: + ciphers: + items: + type: string + type: array + description: List of zone level ciphers in the suite. + example: + - ECDHE-ECDSA-AES128-GCM-SHA256 + - ECDHE-RSA-AES128-GCM-SHA256 + cipherSuiteType: + type: string + description: Classification of the ciphers in the suite. + example: Modern + enum: + - Compatible + - Modern + - Custom + - Legacy + description: Cipher suites information. + CipherSuitesEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/CipherSuitesResponse' + CipherSuitesRequest: + required: + - cipherSuiteType + type: object + properties: + ciphers: + items: + type: string + type: array + description: List of zone level ciphers in the suite. + example: + - ECDHE-ECDSA-AES128-GCM-SHA256 + - ECDHE-RSA-AES128-GCM-SHA256 + cipherSuiteType: + type: string + description: Classification of all ciphers in the suite. + example: Modern + enum: + - Compatible + - Modern + - Custom + - Legacy + description: Cipher suites information. + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.cdn-zones: CDN API Scope READONLY + sfcc.cdn-zones.rw: CDN API Scope + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.cdn-zones: CDN API Scope READONLY + sfcc.cdn-zones.rw: CDN API Scope + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + mtlsCertificateId: + name: mtlsCertificateId + in: path + required: true + schema: + type: string + webhookId: + name: webhookId + in: path + required: true + schema: + type: string + zoneId: + name: zoneId + in: path + required: true + schema: + type: string + policyId: + name: policyId + in: path + required: true + schema: + type: string + direction: + name: direction + in: query + description: The direction used to sort returned scripts. + required: false + schema: + type: string + enum: + - asc + - desc + excludeCdnCgi: + name: excludeCdnCgi + in: query + description: When true, excludes scripts existing in a /cdn-cgi path from the returned scripts. Default is true. + required: false + schema: + type: boolean + excludeDuplicates: + name: excludeDuplicates + in: query + description: When true, excludes duplicate scripts. Default is false. + required: false + schema: + type: boolean + excludeUrls: + name: excludeUrls + in: query + description: Excludes scripts with a URL that contains one of the URL-encoded URLs separated by commas. + required: false + schema: + type: string + hosts: + name: hosts + in: query + description: Includes scripts that match one or more URL-encoded hostnames separated by commas. Wildcards are supported at the beginning and end of each hostname. + required: false + schema: + type: string + orderBy: + name: orderBy + in: query + description: The field used to sort returned scripts. + required: false + schema: + type: string + enum: + - first_seen_at + - last_seen_at + pageUrl: + name: pageUrl + in: query + description: Includes scripts that match one or more page URLs (separated by commas) where they were last detected. Wildcards are supported at the beginning and end of each page URL. + required: false + schema: + type: string + prioritizeMalicious: + name: prioritizeMalicious + in: query + description: When true, lists malicious scripts first in the returned scripts. + required: false + schema: + type: boolean + status: + name: status + in: query + description: Filters the returned scripts using a comma-separated list of script statuses. Accepted values are 'active', 'infrequent', and 'inactive'. Default is 'active'. + required: false + schema: + type: string + urls: + name: urls + in: query + description: Includes scripts with a URL that contains one or more URL-encoded URLs separated by commas. + required: false + schema: + type: string + scriptId: + name: scriptId + in: path + required: true + schema: + type: string + groupIdPath: + name: groupId + in: path + description: WAF Group that contains the WAF rules. + example: f90712123fb02287348dd34c0a282bb9 + required: true + schema: + type: string + groupIdQuery: + name: groupId + in: query + description: WAF Group that contains the WAF rules. + example: f90712123fb02287348dd34c0a282bb9 + required: false + schema: + type: string + ruleId: + name: ruleId + in: path + required: true + schema: + type: string + certificateId: + name: certificateId + in: path + required: true + schema: + type: string + customHostnameId: + name: customHostnameId + in: path + required: true + schema: + type: string + rulesetId: + name: rulesetId + in: path + required: true + schema: + type: string + jobId: + name: jobId + in: path + required: true + schema: + type: string + type: + name: type + in: path + description: The type of origin header modification. Only the `mrt` type is supported. + required: true + schema: + type: string + examples: + StorefrontZoneCreateRequestBodyExample: + value: + domainName: cc-merchant.com + StorefrontZoneCreateResponse: + value: + data: + zoneId: 023e105f4ecef8ad9ca31a8372d0c353 + zoneName: stg-zzzz-cc-merchant-com.cc-ecdn.net + createdOn: '2022-01-01T05:20:00.12345Z' + status: active + BadRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + title: Bad Request + detail: Request body contains 1 or more attributes that contains errors. + Unauthorized: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized + title: UnAuthorized Access + detail: The authorization token passed is no longer valid + Forbidden: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden-access + title: Forbidden + detail: Access to requested resource is forbidden. + NotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/resource-not-found + title: Not Found + detail: Requested resource was not found + InternalServerError: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/internal-server + title: Internal Server Error + detail: An internal server error occured. Please contact support. + MtlsCodeUploadGetCertificatesResponse: + value: + data: + - mtlsCertificateId: 465a48f6-3d98-4c15-9312-211984ee8629 + expiresOn: '2022-01-12T04:15:57Z' + issuer: DigiCert + signature: SHA256WithRSA + uploadedOn: '2020-01-12T04:15:57Z' + ca: true + serialNumber: '432217133297895665180570788458463042229861757760' + mtlsCertificateName: mtls_cert_name + mtlsAssociatedCodeUploadHostname: mtls.cert.salesforce.com + - mtlsCertificateId: 465a48f6-3d98-4c15-9312-211984ee8630 + expiresOn: '2022-01-12T04:15:57Z' + issuer: DigiCert + signature: SHA256WithRSA + uploadedOn: '2020-01-12T04:15:57Z' + ca: true + serialNumber: '432217133297895665180570788458463042229861757761' + mtlsCertificateName: mtls_cert_name + mtlsAssociatedCodeUploadHostname: mtls.cert.salesforce.com + MtlsCodeUploadPostCertificateRequestBodyExample: + value: + name: mtls_cert_name + certificate: |- + -----BEGIN CERTIFICATE----- + MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV + BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX + aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF + MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50 + ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB + CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1 + CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB + KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5 + 0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI + dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2 + izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4 + 9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI + GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV + BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF + MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2 + 2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP + Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG + SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq + 2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw + YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY= + -----END CERTIFICATE----- + privateKey: |- + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG + dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn + abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid + tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py + FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE + ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb + HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/ + axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb + +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g + +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv + KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7 + 9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo + /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu + iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9 + N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe + VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB + vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U + lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR + 9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7 + mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX + dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe + PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS + fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W + qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T + lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi + -----END RSA PRIVATE KEY----- + MtlsCodeUploadGetCertificateResponse: + value: + data: + mtlsCertificateId: 465a48f6-3d98-4c15-9312-211984ee8629 + expiresOn: '2022-01-12T04:15:57Z' + issuer: DigiCert + signature: SHA256WithRSA + uploadedOn: '2020-01-12T04:15:57Z' + ca: true + serialNumber: '432217133297895665180570788458463042229861757760' + mtlsCertificateName: mtls_cert_name + mtlsAssociatedCodeUploadHostname: mtls.cert.salesforce.com + PageShieldPoliciesGetResponse: + value: + data: + - action: log + description: example page shield policy 1 + enabled: true + expression: (http.request.full_uri contains "/Checkout-Begin" and http.host eq "www.example.com") + value: script-src salesforce.com *.salesforce.com https://www.example.com/on/demandware.static/Sites-RefArch-Site/-/en_US/v1738096133818/js/checkout.js 'unsafe-inline' + id: 4805ab87bb867579757a4564ba46ebca + - action: log + description: example page shield policy 2 + enabled: true + expression: ends_with(http.request.uri.path, "/test1") + value: script-src 'none' + id: 7650c87c9c2846c296ea4564ba46ebca + PageShieldPolicyRequestBodyExample: + value: + action: log + description: example page shield policy + enabled: true + expression: ends_with(http.request.uri.path, "/test1") + value: script-src 'none' + PageShieldPolicyGetResponse: + value: + data: + action: log + description: example page shield policy + enabled: true + expression: ends_with(http.request.uri.path, "/test1") + value: script-src 'none' + id: 7650c87c9c2846c296ea4564ba46ebca + PageShieldPolicyPutRequestBodyExample: + value: + action: allow + enabled: true + PageShieldPolicyPutResponse: + value: + data: + action: allow + description: example page shield policy + enabled: true + expression: ends_with(http.request.uri.path, "/test1") + value: script-src 'none' + id: 7650c87c9c2846c296ea4564ba46ebca + ZonesGetResponse: + value: + data: + - zoneId: e4288c0a1f80fa5490b598d74c69bde4 + name: sfcc-cdn.net + status: pending + WafGroupsGetResponse: + value: + data: + - groupId: f90712123fb02287348dd34c0a282bb9 + mode: 'on' + description: 'This WAF Group contains a number of rules that have been created to deal with specific attack types. ' + - groupId: da9d75b083345c63f48e6fde5f617a8b + mode: 'on' + description: This WAF Group contains rules to deal with known malicious traffic or patch flaws in specific web applications. + WafGroupPutRequestBodyExample: + value: + action: monitor + mode: 'on' + WafGroupPutResponse: + value: + data: + groupId: f90712123fb02287348dd34c0a282bb9 + mode: 'on' + description: 'This WAF Group contains a number of rules that have been created to deal with specific attack types. ' + WafRulesGetResponse: + value: + data: + - ruleId: '100001' + groupId: f90712123fb02287348dd34c0a282bb9 + action: monitor + defaultAction: challenge + description: Anomaly:Header:User-Agent - Missing + - ruleId: '100002' + groupId: f90712123fb02287348dd34c0a282bb9 + action: monitor + defaultAction: challenge + description: DoS - IE6 Binary POST + - ruleId: 100002A + groupId: f90712123fb02287348dd34c0a282bb9 + action: monitor + defaultAction: challenge + description: DoS - CtrlFunc Botnet + WafRuleGetResponse: + value: + data: + ruleId: '100001' + groupId: f90712123fb02287348dd34c0a282bb9 + action: monitor + defaultAction: challenge + description: Anomaly:Header:User-Agent - Missing + WafRulePutRequestBodyExample: + value: + action: monitor + WafRulePutResponse: + value: + data: + ruleId: '100001' + groupId: f90712123fb02287348dd34c0a282bb9 + action: monitor + defaultAction: challenge + description: 'Anomaly:Header:User-Agent - Missing ' + SpeedSettingsResponse: + value: + data: + brotliCompression: 'off' + http2Prioritization: 'off' + webp: 'off' + polish: 'off' + earlyHints: 'off' + http3: 'off' + http2ToOrigin: 'off' + SpeedSettingsPatchRequestBodyExample: + value: + brotliCompression: 'off' + http2Prioritization: 'off' + SecuritySettingsResponse: + value: + data: + hsts: + enabled: false + includeSubdomains: false + maxAge: 200 + preload: false + securityLevel: medium + tls13Enabled: false + alwaysUseHttps: true + SecuritySettingsUpdateRequestBodyExample: + value: + hsts: + enabled: false + preload: true + securityLevel: high + tls13Enabled: true + alwaysUseHttps: true + CertificatesGetResponse1: + value: + data: + - certificateId: 14b72e2c-db8e-40ec-9f89-d80ca431a36e + status: PENDING_VALIDATION + minTlsVersion: '1.2' + certificateType: automatic + certificateAuthority: google + certificateValidation: txt + certificateVerificationTXTName: _acme-challenge.test.example.com + certificateVerificationTXTValue: DBCtxdyQSyo9eXxys-uGVCwPFHLsc8_lu11QetQz4IA + certificateVerificationStatus: PENDING + customHostnameId: 6c8beb36-a679-4eca-a09a-e3d6aca12787 + customHostname: test.example.com + customHostnameStatus: ACTIVE + - certificateId: 16b3f671-de15-4ba8-8c02-84ba011b7751 + hosts: + - shop.example.com + expiresOn: '2024-05-27T22:58:10Z' + uploadedOn: '2024-02-27T22:58:11Z' + issuer: LetsEncrypt + signature: SHA256WithRSA + status: ACTIVE + minTlsVersion: '1.2' + certificateType: automatic + certificateAuthority: lets_encrypt + certificateValidation: http + customHostnameId: dd625c6d-8553-4d14-abc2-6d747866c8d9 + customHostname: shop.example.com + customHostnameStatus: ACTIVE + - certificateId: f135013c-2bf7-4225-b043-84cf35a93e12 + hosts: + - '*.example.com' + expiresOn: '2024-04-09T20:36:39Z' + uploadedOn: '2024-03-19T22:32:41Z' + issuer: LetsEncrypt + signature: SHA256WithRSA + status: ACTIVE + minTlsVersion: '1.2' + certificateType: custom + customHostnameId: 6567aee6-bdbe-4cb1-9f4b-73209c5e867a + customHostname: www.example.com + customHostnameStatus: ACTIVE + CertificatesGetResponse2: + value: + data: + - certificateId: dc95610a-9a20-4e24-b6d6-232df5fc32d1 + hosts: + - shop.example.com + expiresOn: '2024-05-14T23:00:45Z' + uploadedOn: '2024-03-19T21:28:36Z' + issuer: LetsEncrypt + signature: SHA256WithRSA + status: ACTIVE + certificateType: custom_legacy + - certificateId: 3a2a71c6-c00f-41c4-86dd-d6dc434851d5 + hosts: + - www.example.com + expiresOn: '2024-04-15T17:07:59Z' + uploadedOn: '2024-03-19T21:28:36Z' + issuer: LetsEncrypt + signature: SHA256WithRSA + status: ACTIVE + certificateType: custom_legacy + CertificatePostRequestBodyExample: + value: + hostname: www.salesforce.com + certificate: |- + -----BEGIN CERTIFICATE----- + MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV + BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX + aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF + MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50 + ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB + CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1 + CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB + KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5 + 0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI + dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2 + izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4 + 9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI + GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV + BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF + MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2 + 2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP + Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG + SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq + 2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw + YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY= + -----END CERTIFICATE----- + privateKey: |- + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG + dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn + abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid + tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py + FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE + ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb + HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/ + axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb + +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g + +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv + KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7 + 9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo + /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu + iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9 + N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe + VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB + vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U + lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR + 9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7 + mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX + dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe + PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS + fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W + qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T + lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi + -----END RSA PRIVATE KEY----- + CertificatePostResponse1: + value: + data: + certificateId: 730a1be4-22d7-11eb-aff1-0242ac120002 + status: ACTIVE + hosts: + - salesforce.com + expiresOn: '2022-01-12T04:15:57Z' + uploadedOn: '2020-01-12T04:15:57Z' + issuer: DigiCert + signature: SHA256WithRSA + certificateType: custom + customHostnameVerificationTXTName: _salesforce.com + customHostnameVerificationTXTValue: 4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e + customHostnameId: 465a48f6-3d98-4c15-9312-211984ee8629 + customHostname: test.salesforce.com + customHostnameStatus: ACTIVE + CertificatePostResponse2: + value: + data: + certificateId: 730a1be4-22d7-11eb-aff1-0242ac120002 + hosts: + - salesforce.com + expiresOn: '2022-01-12T04:15:57Z' + uploadedOn: '2020-01-12T04:15:57Z' + status: PENDING + certificateType: automatic + certificateAuthority: google + certificateValidation: txt + certificateVerificationTXTName: _acme-challenge.test.example.com + certificateVerificationTXTValue: SH5Yet8S5dBwPXcRcCjXdf9FXMBVnQjihQ8oN8LoMv0 + certificateVerificationStatus: PENDING + customHostnameVerificationTXTName: _salesforce.com + customHostnameVerificationTXTValue: 4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e + customHostnameId: 465a48f6-3d98-4c15-9312-211984ee8629 + customHostname: test.salesforce.com + customHostnameStatus: ACTIVE + Conflict: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/conflicted + title: Resource Conflict + detail: The request made for the resource is not valid. + CertificateUpdateRequestBodyExample: + value: + hostname: www.salesforce.com + certificate: |- + -----BEGIN CERTIFICATE----- + MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV + BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX + aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF + MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50 + ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB + CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1 + CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB + KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5 + 0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI + dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2 + izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4 + 9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBTLbE49rWf288N6sJA5BRb6FJI + GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV + BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF + MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2 + 2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP + Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG + SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq + 2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw + YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY= + -----END CERTIFICATE----- + privateKey: |- + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG + dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn + abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid + tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py + FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE + ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb + HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/ + axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb + +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g + +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv + KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7 + 9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo + /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu + iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9 + N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe + VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB + vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U + lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR + 9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7 + mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX + dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe + PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS + fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W + qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T + lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi + -----END RSA PRIVATE KEY----- + CertificateUpdateResponse1: + value: + data: + certificateId: 730a1be4-22d7-11eb-aff1-0242ac120002 + status: ACTIVE + hosts: + - salesforce.com + expiresOn: '2022-01-12T04:15:57Z' + uploadedOn: '2020-01-12T04:15:57Z' + customHostnameVerificationTXTName: _salesforce.com + customHostnameVerificationTXTValue: 4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e + customHostnameId: 465a48f6-3d98-4c15-9312-211984ee8629 + customHostname: test.salesforce.com + customHostnameStatus: ACTIVE + certificateType: custom + CertificateUpdateResponse2: + value: + data: + certificateId: 730a1be4-22d7-11eb-aff1-0242ac120002 + hosts: + - salesforce.com + expiresOn: '2022-01-12T04:15:57Z' + uploadedOn: '2020-01-12T04:15:57Z' + status: PENDING + certificateType: automatic + certificateAuthority: google + certificateValidation: txt + certificateVerificationTXTName: _acme-challenge.test.example.com + certificateVerificationTXTValue: SH5Yet8S5dBwPXcRcCjXdf9FXMBVnQjihQ8oN8LoMv0 + certificateVerificationStatus: PENDING + customHostnameVerificationTXTName: _salesforce.com + customHostnameVerificationTXTValue: 4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e + customHostnameId: 465a48f6-3d98-4c15-9312-211984ee8629 + customHostname: test.salesforce.com + customHostnameStatus: ACTIVE + CustomHostnamesPatchResponse: + value: + data: + customHostnameId: 465a48f6-3d98-4c15-9312-211984ee8629 + customHostname: test.salesforce.com + customHostnameVerificationTXTName: _salesforce.com + customHostnameVerificationTXTValue: 4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e + customHostnameStatus: ACTIVE + MrtRulesGetResponse: + value: + data: + ruleset: + id: 12345678901234asdfasfasdf1234567 + name: MRT Rules + lastUpdated: '2022-09-27T18:32:34.675182Z' + rules: + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "/on/path1/.*" or http.request.uri.path matches "/on/path2/.*" or http.request.uri.path matches ".*routeDetails=true" or http.request.uri.path eq "/path3.txt" )) + description: Phased rollout rule for dev-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1234567 + enabled: true + mrtHostname: customer.mobify-storefront.com + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host in {"test-customer.salesforce.com" "test2-customer.salesforce.com"} and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + description: Phased rollout rule for test-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1233333 + enabled: true + mrtHostname: customer.mobify-storefront.com + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host eq "prd-customer.salesforce.com" and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + description: Phased rollout rule for prd-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 98745678901234asdfasfasdf1234567 + enabled: true + mrtHostname: customer.mobify-storefront.com + MrtRulesPostRequestSingleHostnameBodyExample: + value: + mrtHostname: customer.mobify-storefront.com + expressions: + - (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "/on/path1/.*" or http.request.uri.path matches "/on/path2/.*" or http.request.uri.path matches ".*routeDetails=true" or http.request.uri.path eq "/path3.txt" )) + descriptions: + - Phased rollout rule for dev-customer.salesforce.com + MrtRulesPostRequestMultipleHostnamesBodyExample: + value: + mrtHostname: customer.mobify-storefront.com + expressions: + - (http.host in {"test-customer.salesforce.com" "test2-customer.salesforce.com"} and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + descriptions: + - Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com + MrtRulesPostResponseSingleHostname: + value: + data: + ruleset: + id: 12345678901234asdfasfasdf1234567 + name: MRT Rules + lastUpdated: '2022-09-27T18:32:34.675182Z' + rules: + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "/on/path1/.*" or http.request.uri.path matches "/on/path2/.*" or http.request.uri.path matches ".*routeDetails=true" or http.request.uri.path eq "/path3.txt" )) + description: Phased rollout rule for dev-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1234567 + enabled: true + mrtHostname: customer.mobify-storefront.com + MrtRulesPostResponseMultipleHostnames: + value: + data: + ruleset: + id: 12345678901234asdfasfasdf1234567 + name: MRT Rules + lastUpdated: '2022-09-27T18:32:34.675182Z' + rules: + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host in {"test-customer.salesforce.com" "test2-customer.salesforce.com"} and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + description: Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1234567 + enabled: true + mrtHostname: customer.mobify-storefront.com + MrtRulesetPatchRequestUpdateHostnameBodyExample: + value: + oldMrtHostname: old-hostname.mobify-storefront.com + mrtHostname: new-hostname.mobify-storefront.com + MrtRulesetPatchRequestAddRulesBodyExample: + value: + mrtHostname: customer.mobify-storefront.com + expressions: + - (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "/on/path1/.*" or http.request.uri.path matches "/on/path2/.*" or http.request.uri.path matches ".*routeDetails=true" or http.request.uri.path eq "/path3.txt" )) + - (http.host in {"test-customer.salesforce.com" "test2-customer.salesforce.com"} and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + descriptions: + - Phased rollout rule for dev-customer.salesforce.com + MrtRulesetPatchResponseUpdateHostname: + value: + data: + ruleset: + id: 12345678901234asdfasfasdf1234567 + name: MRT Rules + lastUpdated: '2022-09-27T18:32:34.675182Z' + rules: + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "/on/path1/.*" or http.request.uri.path matches "/on/path2/.*" or http.request.uri.path matches ".*routeDetails=true" or http.request.uri.path eq "/path3.txt" )) + description: Phased rollout rule for dev-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1234567 + enabled: true + mrtHostname: new-hostname.mobify-storefront.com + - id: 12345678901234asdfasfasdf1234568 + expression: (http.host in {"test-customer.salesforce.com" "test2-customer.salesforce.com"} and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + description: Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1234568 + enabled: true + mrtHostname: new-hostname.mobify-storefront.com + MrtRulesetPatchResponseAddRules: + value: + data: + ruleset: + id: 12345678901234asdfasfasdf1234567 + name: MRT Rules + lastUpdated: '2022-09-27T18:32:34.675182Z' + rules: + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "/on/path1/.*" or http.request.uri.path matches "/on/path2/.*" or http.request.uri.path matches ".*routeDetails=true" or http.request.uri.path eq "/path3.txt" )) + description: Phased rollout rule for dev-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1234567 + enabled: true + mrtHostname: customer.mobify-storefront.com + - id: 12345678901234asdfasfasdf1234568 + expression: (http.host in {"test-customer.salesforce.com" "test2-customer.salesforce.com"} and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + description: Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1234568 + enabled: true + mrtHostname: customer.mobify-storefront.com + MrtRulePatchRequestBodyExample: + value: + enabled: true + expression: (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + description: Phased rollout rule for dev-customer.salesforce.com + MrtRulePatchResponse: + value: + data: + ruleset: + id: 12345678901234asdfasfasdf1234567 + name: MRT Rules + lastUpdated: '2022-09-15T21:14:42.372459Z' + rules: + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + description: Phased rollout rule for dev-customer.salesforce.com + lastUpdated: '2022-09-27T18:32:34.675182Z' + ref: 12345678901234asdfasfasdf1234567 + enabled: true + mrtHostname: customer.mobify-storefront.com + LogpushOwnershipPostRequestBodyExample: + value: + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + LogpushOwnershipPostResponse: + value: + data: + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + fileName: site-name/20230101/ownership-challenge-f1234567.txt + LogpushGetListJob: + value: + data: + - jobId: 123456 + name: example1-job-name + logType: http_requests + logFields: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + lastComplete: '2023-03-14T02:09:32Z' + createdOn: '2023-01-01T00:00:27Z' + - jobId: 123457 + name: example2-job-name + logType: firewall_events + logFields: + - RuleID + - ClientRequestUserAgent + - ClientRequestPath + filter: '{"where":{"and":[{"key":"ClientRequestPath","operator":"contains","value":"/example-path"}, {"key":"EdgeResponseStatus","operator":"in","value":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}' + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + lastComplete: '2023-03-22T02:09:32Z' + createdOn: '2023-01-03T00:00:27Z' + - jobId: 123458 + name: example3-job-name + logType: page_shield_events + logFields: + - Action + - CSPDirective + - Host + - PageURL + - PolicyID + - ResourceType + - Timestamp + - URL + - URLHost + destinationPath: s3://customer-bucket/site-name/page-shield-events/{DATE}?region=us-east-1&sse=AES256 + lastComplete: '2025-01-02T02:09:32Z' + createdOn: '2025-01-01T00:00:27Z' + LogpushCreateRequestBodyExample1: + value: + name: example-job-name + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + ownershipChallengeToken: abc00000000000000000000 + logFields: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + logType: http_requests + LogpushCreateRequestBodyExample2: + value: + name: example-job-name-with-filter + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + ownershipChallengeToken: abc00000000000000000000 + logFields: + - ClientRequestBytes + - ClientRequestPath + - ClientRequestHost + - ClientRequestMethod + - EdgeResponseStatus + filter: '{"where":{"and":[{"key":"ClientRequestPath","operator":"contains","value":"/example-path"}, {"key":"EdgeResponseStatus","operator":"in","value":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}' + logType: http_requests + LogpushCreateRequestBodyExample3: + value: + name: example-job-name + destinationPath: s3://customer-bucket/site-name/page-shield-events/{DATE}?region=us-east-1&sse=AES256 + ownershipChallengeToken: abc00000000000000000000 + logFields: + - Action + - CSPDirective + - Host + - PageURL + - PolicyID + - ResourceType + - Timestamp + - URL + - URLHost + logType: page_shield_events + LogpushCreateResponse1: + value: + data: + jobId: 123456 + name: example-job-name + logType: http_requests + logFields: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + enabled: false + createdOn: '2023-01-01T00:00:27Z' + LogpushCreateResponse2: + value: + data: + jobId: 123456 + name: example-job-name-with-filter + logType: http_requests + logFields: + - ClientRequestBytes + - ClientRequestPath + - ClientRequestHost + - ClientRequestMethod + - EdgeResponseStatus + filter: '{"where":{"and":[{"key":"ClientRequestPath","operator":"contains","value":"/example-path"}, {"key":"EdgeResponseStatus","operator":"in","value":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}' + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + enabled: false + createdOn: '2023-01-01T00:00:27Z' + LogpushCreateResponse3: + value: + data: + jobId: 123458 + name: example-job-name + logType: page_shield_events + logFields: + - Action + - CSPDirective + - Host + - PageURL + - PolicyID + - ResourceType + - Timestamp + - URL + - URLHost + destinationPath: s3://customer-bucket/site-name/page-shield-events/{DATE}?region=us-east-1&sse=AES256 + enabled: true + createdOn: '2025-01-01T00:00:27Z' + LogpushGetJobById1: + value: + data: + jobId: 123456 + name: example-job-name + logType: http_requests + logFields: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + lastComplete: '2023-03-14T02:09:32Z' + createdOn: '2023-01-01T00:00:27Z' + LogpushGetJobById2: + value: + data: + jobId: 123456 + name: example-job-name + logType: http_requests + logFields: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + lastComplete: '2023-03-14T02:09:32Z' + lastError: '2023-03-16T02:00:00Z' + errorMessage: no permissions to write to destination bucket + createdOn: '2023-01-01T00:00:27Z' + LogpushGetJobById3: + value: + data: + jobId: 123456 + name: example-job-name + logType: http_requests + logFields: + - ClientRequestBytes + - ClientRequestPath + - ClientRequestHost + - ClientRequestMethod + - EdgeResponseStatus + filter: '{"where":{"and":[{"key":"ClientRequestPath","operator":"contains","value":"/example-path"}, {"key":"EdgeResponseStatus","operator":"in","value":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}' + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + lastComplete: '2023-03-14T02:09:32Z' + createdOn: '2023-01-01T00:00:27Z' + LogpushUpdateRequestBodyExample: + value: + enabled: true + filter: '{"where":{"key":"ClientRequestPath","operator":"contains","value":"/example-path"}}' + logFields: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + LogpushUpdateResponse: + value: + data: + jobId: 123456 + name: example-job-name + enabled: true + logType: http_requests + logFields: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + lastComplete: '2023-03-14T02:09:32Z' + lastError: '2023-01-01T00:00:27Z' + errorMessage: '' + WafPackagesGetExample: + value: + data: + id: c504870194831cd12c3fc0284f294abb + name: OWASP ModSecurity Core Rule Set + description: OWASP Core Ruleset (2013) provides protection against common attack categories, including SQL Injection and Cross-Site Scripting. + zone_id: 56702a674281951f541f9f304f7431f0 + detection_mode: anomaly + sensitivity: low + action_mode: simulate + WafPackagesPatchRequestBodyExample: + value: + sensitivity: low + action_mode: simulate + CustomRulesResponse: + value: + data: + - ruleId: ffffe61cf25e4ec49c34b029ff3060f7 + description: Block traffic for malformed URL requests + expression: (http.request.uri.path matches "^/path1/.*") + actions: + - block + lastUpdated: '2022-12-14T21:25:22.329194Z' + enabled: false + - ruleId: 2c0fc9fa937b11eaa1b71c4d701ab86e + description: Skip user agent + expression: (http.user_agent contains "Client") + actions: + - skip_custom_rules, skip_waf + lastUpdated: '2022-12-14T21:30:34.263795Z' + enabled: true + CustomRulesPostRequestBodyExample: + value: + description: Block traffic for malformed URL requests + expression: (http.request.uri.path matches "^/path1/.*") + actions: + - block + enabled: false + position: + before: 2c0fc9fa937b11eaa1b71c4d701ab86e + CustomRuleResponse: + value: + data: + ruleId: ffffe61cf25e4ec49c34b029ff3060f7 + description: Block traffic for malformed URL requests + expression: (http.request.uri.path matches "^/path1/.*") + actions: + - block + lastUpdated: '2022-12-14T21:25:22.329194Z' + enabled: false + RateLimitingRulesResponse: + value: + data: + - ruleId: ffffe61cf25e4ec49c34b029ff3060f7 + description: Rate limit /path1 + expression: http.request.uri.path matches "^/path1/.*" + characteristics: + - cf.unique_visitor_id + action: block + period: 60 + requestsPerPeriod: 50 + mitigationTimeout: 600 + countingExpression: http.request.uri.path matches "^/path1/.*" and http.response.code eq 400 + enabled: false + lastUpdated: '2022-12-14T21:25:22.329194Z' + - ruleId: 2c0fc9fa937b11eaa1b71c4d701ab86e + description: Rate limit AS number 12345 + expression: ip.src.asnum eq 12345 + characteristics: + - ip.src + action: managed_challenge + period: 600 + requestsPerPeriod: 1000 + mitigationTimeout: 0 + enabled: true + lastUpdated: '2022-12-14T21:47:24.323223Z' + RateLimitingRulesPostRequestBodyExample: + value: + description: Rate limit /path1 + expression: http.request.uri.path matches "^/path1/.*" + characteristics: + - cf.unique_visitor_id + action: block + period: 60 + requestsPerPeriod: 50 + mitigationTimeout: 600 + countingExpression: http.request.uri.path matches "^/path1/.*" and http.response.code eq 400 + enabled: false + position: + before: 2c0fc9fa937b11eaa1b71c4d701ab86e + RateLimitingRuleResponse: + value: + data: + ruleId: ffffe61cf25e4ec49c34b029ff3060f7 + description: Rate limit /path1 + expression: http.request.uri.path matches "^/path1/.*" + characteristics: + - cf.unique_visitor_id + action: block + period: 60 + requestsPerPeriod: 50 + mitigationTimeout: 600 + countingExpression: http.request.uri.path matches "^/path1/.*" and http.response.code eq 400 + enabled: false + lastUpdated: '2022-12-14T21:25:22.329194Z' + WAFManagedRulesetsResponse: + value: + data: + - name: Managed Ruleset + rulesetId: efb7b8c949ac4650a09736fc376e9aee + action: default + enabled: true + - name: OWASP Core Ruleset + rulesetId: 4814384a9e5d4991b9815dcfc25d2f1f + action: log + anomalyScoreThreshold: 25 + anomalyScore: high + paranoiaLevel: 1 + enabled: true + - name: Leaked Crednetials Check Ruleset + rulesetId: c2e184081120413c86c3ab7e14069605 + action: block + enabled: true + WAFManagedRulesetsUpdateRequestBodyExample: + value: + action: js_challenge + enabled: true + WAFManagedRulesetsUpdateResponse: + value: + data: + name: Managed Ruleset + rulesetId: efb7b8c949ac4650a09736fc376e9aee + action: js_challenge + enabled: true + WAFManagedRulesResponse: + value: + data: + - ruleId: 8ac8bc2a661e475d940980f9317f28e1 + action: block + score: 5 + categories: + - application-multi + - attack-generic + - capec-1000 + - capec-210 + - capec-220 + - capec-272 + - capec-274 + - language-multi + - paranoia-level-1 + - pci-12-1 + - platform-multi + description: '911100: Method is not allowed by policy' + lastUpdated: '2024-08-19T17:26:58.593021Z' + enabled: false + - ruleId: 53065ac9bd9449f3895f1865467a0e6a + action: block + score: 5 + categories: + - application-multi + - attack-reputation-scanner + - capec-1000 + - capec-118 + - capec-224 + - capec-310 + - capec-541 + - language-multi + - paranoia-level-1 + - pci-6-5-10 + - platform-multi + description: '913100: Found User-Agent associated with security scanner' + lastUpdated: '2024-08-19T17:26:58.593021Z' + enabled: true + WAFManagedRulesUpdateRequestBodyExample: + value: + action: log + enabled: true + WAFManagedRulesUpdateResponse: + value: + data: + ruleId: 53065ac9bd9449f3895f1865467a0e6a + action: log + score: 5 + categories: + - application-multi + - attack-reputation-scanner + - capec-1000 + - capec-118 + - capec-224 + - capec-310 + - capec-541 + - language-multi + - paranoia-level-1 + - pci-6-5-10 + - platform-multi + description: '913100: Found User-Agent associated with security scanner' + lastUpdated: '2024-08-19T17:26:58.593021Z' + enabled: true + MrtGetResponse: + value: + data: + headerName: x-sfdc-access-control + headerValue: '********789' + lastUpdated: '2024-04-27T18:32:34.675182Z' + MrtPutRequestBodyExample: + value: + headerValue: '123456789' + MrtPutUpdateResponse: + value: + data: + headerName: x-sfdc-access-control + headerValue: '********789' + lastUpdated: '2024-04-27T18:32:34.675182Z' + MrtPutCreateResponse: + value: + data: + headerName: x-sfdc-access-control + headerValue: '********789' + lastUpdated: '2024-04-27T18:32:34.675182Z' + CipherSettingsGetResponse: + value: + data: + ciphers: + - ECDHE-ECDSA-AES128-GCM-SHA256 + - ECDHE-RSA-AES128-GCM-SHA256 + cipherSuiteType: Custom + CipherSettingsPatchRequestBodyExample: + value: + ciphers: + - ECDHE-ECDSA-AES128-GCM-SHA256 + cipherSuiteType: Custom + CipherSettingsPatchResponse: + value: + data: + ciphers: + - ECDHE-ECDSA-AES128-GCM-SHA256 + cipherSuiteType: Custom diff --git a/apis/cdn-api-process-apis-oas/cdn-api-process-apis-oas-1.0.38/cdn-api-process-apis-oas-v1-public.yaml b/apis/cdn-api-process-apis-oas/cdn-api-process-apis-oas-1.0.38/cdn-api-process-apis-oas-v1-public.yaml new file mode 100644 index 00000000..7634966e --- /dev/null +++ b/apis/cdn-api-process-apis-oas/cdn-api-process-apis-oas-1.0.38/cdn-api-process-apis-oas-v1-public.yaml @@ -0,0 +1,7860 @@ +openapi: 3.0.3 +info: + title: CDN Zones + version: v1 + description: |- + # API Overview + + The Content Delivery Network (CDN) API is for managing the embedded CDN (eCDN) that is included with Commerce Cloud and configured with Business Manager. + + Use the API to: + + - Ensure that traffic doesn’t circumvent proxies layered in front of your eCDN. + - Accelerate the delivery of resources to users with caching, compression, and prioritization. + - Customize how users interact with resources and how requests are processed, including custom pages and routing rules. + - Provide proactive and complete application protection against new and existing exploits from bad actors. + + ## Authentication & Authorization + + For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the `Authorization` header of your API request. + + The API client must also have at least one of the following OAuth scopes: `sfcc.cdn-zones` or `sfcc.cdn-zones.rw`. + + For detailed setup instructions, see the [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html) guide. + + You must include the relevant scope(s) in the client ID used to generate the token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + For detailed usage information, refer to the [CDN Zones Guides.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/cdn/zones/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/storefront-zones: + post: + summary: Create a new storefront zone. + operationId: createStorefrontZone + parameters: + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StorefrontZoneCreateRequest' + examples: + StorefrontZoneCreateRequestBodyExample: + $ref: '#/components/examples/StorefrontZoneCreateRequestBodyExample' + required: true + responses: + '201': + description: Successfully created new storefront zone. + content: + application/json: + schema: + $ref: '#/components/schemas/StorefrontZoneCreateEnvelope' + examples: + StorefrontZoneCreateResponse: + $ref: '#/components/examples/StorefrontZoneCreateResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/mtls/code-upload-certificates: + get: + summary: Return all the mTLS certificates for the account. + operationId: getCodeUploadCertificates + parameters: + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved details of the mTLS certificates requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/MtlsCertificatesResponseEnvelope' + examples: + MtlsCodeUploadGetCertificatesResponse: + $ref: '#/components/examples/MtlsCodeUploadGetCertificatesResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Set up two-factor mTLS certificates for the account and associate the staging zone code upload hostname. + operationId: createCodeUploadCertificate + parameters: + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MtlsCertificateRequest' + examples: + MtlsCodeUploadPostCertificateRequestBodyExample: + $ref: '#/components/examples/MtlsCodeUploadPostCertificateRequestBodyExample' + required: true + responses: + '201': + description: Returns information about the uploaded mTLS certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/MtlsCertificateResponseEnvelope' + examples: + MtlsCodeUploadGetCertificateResponse: + $ref: '#/components/examples/MtlsCodeUploadGetCertificateResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/mtls/code-upload-certificates/{mtlsCertificateId}: + get: + summary: Return the mTLS certificate for the given account's mTLS certificate ID. + operationId: getCodeUploadCertificate + parameters: + - $ref: '#/components/parameters/mtlsCertificateId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved mTLS certificate information from the mTLS certificate ID requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/MtlsCertificateResponseEnvelope' + examples: + MtlsCodeUploadGetCertificateResponse: + $ref: '#/components/examples/MtlsCodeUploadGetCertificateResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + delete: + summary: Remove an mTLS certificate and associated hostname. + operationId: deleteCodeUploadCertificate + parameters: + - $ref: '#/components/parameters/mtlsCertificateId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Successfully deleted the mTLS certificate from the account. + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/page-shield/notifications: + get: + summary: Get page shield notification webhooks. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: getPageShieldNotification + parameters: + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved notification webhooks. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldNotificationWebhookListEnvelope' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Setup page shield notification webhook. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: postPageShieldNotification + parameters: + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldNotificationWebhookRequest' + required: true + responses: + '200': + description: Successfully added notification webhook. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldNotificationWebhookEnvelope' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/page-shield/notifications/{webhookId}: + delete: + summary: Delete page shield notification webhook. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: deletePageShieldNotification + parameters: + - $ref: '#/components/parameters/webhookId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Successfully deleted notification webhook. + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/page-shield/policies: + get: + summary: List page shield policies. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: getPageShieldPolicies + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: List current page shield policies. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldPoliciesListEnvelope' + examples: + PageShieldPoliciesGetResponse: + $ref: '#/components/examples/PageShieldPoliciesGetResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Create page shield policy. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: createPageShieldPolicy + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldPolicyRequest' + examples: + PageShieldPolicyRequestBodyExample: + $ref: '#/components/examples/PageShieldPolicyRequestBodyExample' + required: true + responses: + '200': + description: Successfully created page shield policy. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldPoliciesEnvelope' + examples: + PageShieldPolicyGetResponse: + $ref: '#/components/examples/PageShieldPolicyGetResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/page-shield/policies/{policyId}: + get: + summary: Get page shield policy by policy ID. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: getPageShieldPolicy + parameters: + - $ref: '#/components/parameters/policyId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved the details of the page shield policy. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldPoliciesEnvelope' + examples: + PageShieldPolicyGetResponse: + $ref: '#/components/examples/PageShieldPolicyGetResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + put: + summary: Update page shield policy by policy ID. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: updatePageShieldPolicy + parameters: + - $ref: '#/components/parameters/policyId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldPolicyRequest' + examples: + PageShieldPolicyPutRequestBodyExample: + $ref: '#/components/examples/PageShieldPolicyPutRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the page shield policy. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldPoliciesEnvelope' + examples: + PageShieldPoliciesEnvelope: + $ref: '#/components/examples/PageShieldPolicyPutResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + delete: + summary: Delete page shield policy. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: deletePageShieldPolicy + parameters: + - $ref: '#/components/parameters/policyId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Successfully deleted the page shield policy. + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/page-shield/scripts: + get: + summary: Retrieve a list of scripts detected by Page Shield for a specific zone. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: getPageShieldScripts + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/excludeCdnCgi' + - $ref: '#/components/parameters/excludeDuplicates' + - $ref: '#/components/parameters/excludeUrls' + - $ref: '#/components/parameters/hosts' + - $ref: '#/components/parameters/orderBy' + - $ref: '#/components/parameters/pageUrl' + - $ref: '#/components/parameters/prioritizeMalicious' + - $ref: '#/components/parameters/status' + - $ref: '#/components/parameters/urls' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 200 + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. Defaults to 200. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: List current page shield scripts. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldScriptListEnvelope' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/page-shield/scripts/{scriptId}: + get: + summary: Fetch a script detected by Page Shield by script ID. See [eCDN PCI 4.0 Compliance Tools](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-pci-4-compliance.html). + operationId: getPageShieldScript + parameters: + - $ref: '#/components/parameters/scriptId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: A script detected by Page Shield by script ID. + content: + application/json: + schema: + $ref: '#/components/schemas/PageShieldScriptEnvelope' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/info: + get: + summary: Retrieve zone information. + operationId: getZonesInfo + parameters: + - $ref: '#/components/parameters/organizationId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Successfully retrieved zone information requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesEnvelope' + examples: + ZonesGetResponse: + $ref: '#/components/examples/ZonesGetResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/waf/groups: + get: + summary: Retrieve all WAF groups accessible to the caller. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets. + operationId: getWafGroups + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved details of WAF groups to which the caller has access. + content: + application/json: + schema: + $ref: '#/components/schemas/WafGroupsEnvelope' + examples: + WafGroupsGetResponse: + $ref: '#/components/examples/WafGroupsGetResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/waf/groups/{groupId}: + put: + summary: Update the action or mode of a specific WAF group. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets. + operationId: updateWafGroup + parameters: + - $ref: '#/components/parameters/groupIdPath' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WafGroup' + examples: + WafGroupPutRequestBodyExample: + $ref: '#/components/examples/WafGroupPutRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the WAF group specified by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/WafGroupEnvelope' + examples: + WafGroupPutResponse: + $ref: '#/components/examples/WafGroupPutResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/waf/rules: + get: + summary: Retrieve WAF rules for the WAF group specified by the caller. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets. + operationId: getWafRules + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/groupIdQuery' + responses: + '200': + description: Successfully retrieved the WAF rules requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/WafRulesEnvelope' + examples: + WafGroupPutResponse: + $ref: '#/components/examples/WafRulesGetResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/waf/rules/{ruleId}: + get: + summary: Retrieve details of a specific WAF rule. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets. + operationId: getWafRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved details of the WAF rule requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/WafRuleEnvelope' + examples: + WafRuleGetResponse: + $ref: '#/components/examples/WafRuleGetResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + put: + summary: Update the action of a specific WAF rule. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets. + operationId: updateWafRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WafRule' + examples: + WafRulePutRequestBodyExample: + $ref: '#/components/examples/WafRulePutRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the WAF rule specified by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/WafRuleEnvelope' + examples: + WafRulePutResponse: + $ref: '#/components/examples/WafRulePutResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/speed-settings: + get: + summary: Retrieve the speed settings for a zone. + operationId: getSpeedSettings + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned the speed settings requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/SpeedSettingsEnvelope' + examples: + SpeedSettingsResponse: + $ref: '#/components/examples/SpeedSettingsResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + patch: + summary: Update the speed settings for a zone. + operationId: updateSpeedSettings + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SpeedSetting' + examples: + SpeedSettingsPatchRequestBodyExample: + $ref: '#/components/examples/SpeedSettingsPatchRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the speed settings requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/SpeedSettingsEnvelope' + examples: + SpeedSettingsResponse: + $ref: '#/components/examples/SpeedSettingsResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/security-settings: + get: + summary: Retrieve the security settings for a zone. + operationId: getSecuritySettings + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned security settings for zone. + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritySettingsEnvelope' + examples: + SecuritySettingsResponse: + $ref: '#/components/examples/SecuritySettingsResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + patch: + summary: Update the security settings for a zone. + operationId: updateSecuritySettings + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritySetting' + examples: + SecuritySettingsUpdateRequestBodyExample: + $ref: '#/components/examples/SecuritySettingsUpdateRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the security settings. + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritySettingsEnvelope' + examples: + SecuritySettingsResponse: + $ref: '#/components/examples/SecuritySettingsResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/cachepurge: + post: + summary: Purge the cache for the host specified in the request body. + operationId: cachePurge + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CachePurgeRequest' + required: true + responses: + '200': + description: Successfully returned the complete operationId statuses for the rule list operations that the server processed. + content: + application/json: + schema: + $ref: '#/components/schemas/CachePurgeResponseEnvelope' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/ocapicachingpagerule: + patch: + summary: Enable or disable the OCAPI Caching page rule. + operationId: toggleOcapiCachingPageRule + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OCAPICachingToggleRequest' + required: true + responses: + '200': + description: Successfully returned the current state of the OCAPI Caching page rule. + content: + application/json: + schema: + $ref: '#/components/schemas/OCAPICachingToggleRequest' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/certificates: + get: + summary: List certificates for a zone. For information on automatic certificates, see [eCDN Automatic Certificates](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-automatic-certs.html). + operationId: getCertificates + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Successfully retrieved the list of certificates for the specified zone. + content: + application/json: + schema: + $ref: '#/components/schemas/CertificatesEnvelope' + examples: + CertificatesGetResponse1: + $ref: '#/components/examples/CertificatesGetResponse1' + CertificatesGetResponse2: + $ref: '#/components/examples/CertificatesGetResponse2' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Add certificate for a zone. For information on automatic certificates, see [eCDN Automatic Certificates](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-automatic-certs.html). + operationId: addCertificateForZone + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateRequest' + examples: + CertificatePostRequestBodyExample: + $ref: '#/components/examples/CertificatePostRequestBodyExample' + required: true + responses: + '201': + description: Returned information about the added certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateEnvelope' + examples: + CertificatePostResponse1: + $ref: '#/components/examples/CertificatePostResponse1' + CertificatePostResponse2: + $ref: '#/components/examples/CertificatePostResponse2' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '409': + description: | + The request sent by the caller has conflicts. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Conflict: + $ref: '#/components/examples/Conflict' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/certificates/{certificateId}: + delete: + summary: Delete a custom hostname and the certificate associated with it. Note that a valid certificate is necessary for a site to remain operational. DELETING A CERTIFICATE THAT IS IN USE CAN RESULT IN DOWNTIME. + operationId: deleteCertificate + parameters: + - $ref: '#/components/parameters/certificateId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Successfully deleted the custom hostname and the certificate associated with it. + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + patch: + summary: Update the certificate for a given certificateId for a particular zone. For information on automatic certificates, see [eCDN Automatic Certificates](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-automatic-certs.html). + operationId: updateCertificate + parameters: + - $ref: '#/components/parameters/certificateId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateRequest' + examples: + CertificateUpdateRequestBodyExample: + $ref: '#/components/examples/CertificateUpdateRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the certificate requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateEnvelope' + examples: + CertificateUpdateResponse1: + $ref: '#/components/examples/CertificateUpdateResponse1' + CertificateUpdateResponse2: + $ref: '#/components/examples/CertificateUpdateResponse2' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/certificates/custom-hostnames/{customHostnameId}: + patch: + summary: Trigger the validation of a custom hostname. + operationId: validateCustomHostname + parameters: + - $ref: '#/components/parameters/customHostnameId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully triggered the custom hostname validation process. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomHostnameValidationEnvelope' + examples: + CustomHostnamesPatchResponse: + $ref: '#/components/examples/CustomHostnamesPatchResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/mrtrules: + get: + summary: Get all MRT rules. See [eCDN Rules for Hybrid Implementations](https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/ecdn-rules-for-phased-headless-rollout.html). + operationId: getMrtRules + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved all MRT rules. + content: + application/json: + schema: + $ref: '#/components/schemas/MRTRulesResponseEnvelope' + examples: + MrtRulesGetResponse: + $ref: '#/components/examples/MrtRulesGetResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Create MRT rules to route to a new MRT environment. See [eCDN Rules for Hybrid Implementations](https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/ecdn-rules-for-phased-headless-rollout.html). + operationId: createMrtRules + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MRTRulesPostRequest' + examples: + MrtRulesPostRequestSingleHostnameBodyExample: + $ref: '#/components/examples/MrtRulesPostRequestSingleHostnameBodyExample' + MrtRulesPostRequestMultipleHostnamesBodyExample: + $ref: '#/components/examples/MrtRulesPostRequestMultipleHostnamesBodyExample' + required: true + responses: + '201': + description: Created MRT rules to route to a new MRT environment. + content: + application/json: + schema: + $ref: '#/components/schemas/MRTRulesResponseEnvelope' + examples: + MrtRulesPostResponseSingleHostname: + $ref: '#/components/examples/MrtRulesPostResponseSingleHostname' + MrtRulesPostResponseMultipleHostnames: + $ref: '#/components/examples/MrtRulesPostResponseMultipleHostnames' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + patch: + summary: Update the MRT environment hostname or add MRT rules to route to an existing MRT environment. See [eCDN Rules for Hybrid Implementations](https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/ecdn-rules-for-phased-headless-rollout.html). + operationId: updateMrtRuleset + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MRTRulesetPatchRequest' + examples: + MrtRulesetPatchRequestUpdateHostnameBodyExample: + $ref: '#/components/examples/MrtRulesetPatchRequestUpdateHostnameBodyExample' + MrtRulesetPatchRequestAddRulesBodyExample: + $ref: '#/components/examples/MrtRulesetPatchRequestAddRulesBodyExample' + required: true + responses: + '200': + description: Updated the MRT environment hostname or added MRT rules to route to an existing MRT environment. + content: + application/json: + schema: + $ref: '#/components/schemas/MRTRulesResponseEnvelope' + examples: + MrtRulesetPatchResponseUpdateHostname: + $ref: '#/components/examples/MrtRulesetPatchResponseUpdateHostname' + MrtRulesetPatchResponseAddRules: + $ref: '#/components/examples/MrtRulesetPatchResponseAddRules' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/mrtrules/{rulesetId}: + delete: + summary: Delete the MRT ruleset and all rules within the ruleset. See [eCDN Rules for Hybrid Implementations](https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/ecdn-rules-for-phased-headless-rollout.html). + operationId: deleteMrtRuleset + parameters: + - $ref: '#/components/parameters/rulesetId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted the MRT ruleset and all rules within the ruleset. + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/mrtrules/{rulesetId}/rules/{ruleId}: + delete: + summary: Delete an MRT rule. See [eCDN Rules for Hybrid Implementations](https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/ecdn-rules-for-phased-headless-rollout.html). + operationId: deleteMrtRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/rulesetId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted an MRT rule. + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + patch: + summary: Update an MRT rule. See [eCDN Rules for Hybrid Implementations](https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/ecdn-rules-for-phased-headless-rollout.html). + operationId: updateMrtRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/rulesetId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MRTRulePatchRequest' + examples: + MrtRulePatchRequestBodyExample: + $ref: '#/components/examples/MrtRulePatchRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the MRT rule. + content: + application/json: + schema: + $ref: '#/components/schemas/MRTRulesResponseEnvelope' + examples: + MrtRulePatchResponse: + $ref: '#/components/examples/MrtRulePatchResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/logpush/ownership: + post: + summary: Create Logpush ownership token file. See [eCDN Logpush](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-logpush.html). + operationId: createLogpushOwnership + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushOwnershipPostRequest' + examples: + LogpushOwnershipPostRequestBodyExample: + $ref: '#/components/examples/LogpushOwnershipPostRequestBodyExample' + required: true + responses: + '201': + description: Created a new Logpush Ownership token. + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushOwnershipPostResponse' + examples: + LogpushOwnershipPostResponse: + $ref: '#/components/examples/LogpushOwnershipPostResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/logpush/jobs: + get: + summary: List Logpush job. See [eCDN Logpush](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-logpush.html). + operationId: listLogpushJob + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Returned all jobs with details for the zone. + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushJobsEnvelope' + examples: + LogpushGetListJob: + $ref: '#/components/examples/LogpushGetListJob' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Create Logpush job. See [eCDN Logpush](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-logpush.html). + operationId: createLogpushJob + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushCreateRequest' + examples: + LogpushCreateRequestBodyExample1: + $ref: '#/components/examples/LogpushCreateRequestBodyExample1' + LogpushCreateRequestBodyExample2: + $ref: '#/components/examples/LogpushCreateRequestBodyExample2' + LogpushCreateRequestBodyExample3: + $ref: '#/components/examples/LogpushCreateRequestBodyExample3' + required: true + responses: + '201': + description: Successfully created the Logpush job and returned the job details. + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushEnvelope' + examples: + LogpushCreateResponse1: + $ref: '#/components/examples/LogpushCreateResponse1' + LogpushCreateResponse2: + $ref: '#/components/examples/LogpushCreateResponse2' + LogpushCreateResponse3: + $ref: '#/components/examples/LogpushCreateResponse3' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to therequested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/logpush/jobs/{jobId}: + get: + summary: Get Logpush job details. See [eCDN Logpush](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-logpush.html). + operationId: getLogpushJob + parameters: + - $ref: '#/components/parameters/jobId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Returned job details for the specified Logpush job ID. + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushEnvelope' + examples: + LogpushGetJobById1: + $ref: '#/components/examples/LogpushGetJobById1' + LogpushGetJobById2: + $ref: '#/components/examples/LogpushGetJobById2' + LogpushGetJobById3: + $ref: '#/components/examples/LogpushGetJobById3' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + put: + summary: Update Logpush job. See [eCDN Logpush](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-logpush.html). + operationId: updateLogpushJob + parameters: + - $ref: '#/components/parameters/jobId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushUpdateRequest' + examples: + LogpushUpdateRequestBodyExample: + $ref: '#/components/examples/LogpushUpdateRequestBodyExample' + required: true + responses: + '200': + description: Successfully enabled or disabled the Logpush job and returned job details. + content: + application/json: + schema: + $ref: '#/components/schemas/LogpushEnvelope' + examples: + LogpushUpdateResponse: + $ref: '#/components/examples/LogpushUpdateResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + delete: + summary: Delete Logpush job by job ID. See [eCDN Logpush](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-logpush.html). + operationId: deleteLogpushJob + parameters: + - $ref: '#/components/parameters/jobId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted the Logpush job for the specified job ID. + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall/waf/packages/owasp: + get: + summary: Get a OWASP ModSecurity Core Rule Set. + operationId: getOwaspWafPackage + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved the OWASP ModSecurity Core Rule Set. + content: + application/json: + schema: + $ref: '#/components/schemas/WAFRulePackageEnvelope' + examples: + WafPackagesGetExample: + $ref: '#/components/examples/WafPackagesGetExample' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + patch: + summary: Patch a OWASP ModSecurity Core Rule Set. + operationId: patchOwaspWafPackage + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WafPackagePatchRequest' + examples: + WafPackagesPatchRequestBodyExample: + $ref: '#/components/examples/WafPackagesPatchRequestBodyExample' + required: true + responses: + '200': + description: Successfully patched the OWASP ModSecurity Core Rule Set. + content: + application/json: + schema: + $ref: '#/components/schemas/WAFRulePackageEnvelope' + examples: + WafPackagesGetExample: + $ref: '#/components/examples/WafPackagesGetExample' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall-custom/rules: + get: + summary: Retrieve existing custom rules. See [eCDN Custom Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-custom-rules.html). + operationId: getCustomRules + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Successfully returned the list of custom rules requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRulesEnvelope' + examples: + CustomRulesResponse: + $ref: '#/components/examples/CustomRulesResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Create a custom rule. See [eCDN Custom Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-custom-rules.html). + operationId: createCustomRule + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRulesPostRequest' + examples: + CustomRulesPostRequestBodyExample: + $ref: '#/components/examples/CustomRulesPostRequestBodyExample' + required: true + responses: + '201': + description: Successfully created the custom rule requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRuleEnvelope' + examples: + CustomRuleResponse: + $ref: '#/components/examples/CustomRuleResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + patch: + summary: Update the order of all existing custom rules. See [eCDN Custom Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-custom-rules.html). + operationId: updateOrderOfCustomRules + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRulesPatchOrderRequest' + required: true + responses: + '200': + description: Successfully updated the order of existing custom rules as requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRulesEnvelope' + examples: + CustomRulesResponse: + $ref: '#/components/examples/CustomRulesResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall-custom/rules/{ruleId}: + get: + summary: Retrieve a specific custom rule. See [eCDN Custom Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-custom-rules.html). + operationId: getCustomRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned the custom rule requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRuleEnvelope' + examples: + CustomRuleResponse: + $ref: '#/components/examples/CustomRuleResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + delete: + summary: Delete a specific custom rule. See [eCDN Custom Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-custom-rules.html). + operationId: deleteCustomRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Successfully deleted the custom rule requested by the caller. + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + patch: + summary: Update a specific custom rule. See [eCDN Custom Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-custom-rules.html). + operationId: updateCustomRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRulesPatchRequest' + required: true + responses: + '200': + description: Successfully updated the custom rule requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomRuleEnvelope' + examples: + CustomRuleResponse: + $ref: '#/components/examples/CustomRuleResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/rate-limiting/rules: + get: + summary: Retrieve existing rate limiting rules. See [eCDN Rate Limiting Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-rate-limiting-rules.html). + operationId: getRateLimitingRules + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned the list of rate limiting rules requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/RateLimitingRulesEnvelope' + examples: + RateLimitingRulesResponse: + $ref: '#/components/examples/RateLimitingRulesResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + post: + summary: Create a rate limiting rule. See [eCDN Rate Limiting Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-rate-limiting-rules.html). + operationId: createRateLimitingRule + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RateLimitingRulesPostRequest' + examples: + RateLimitingRulesPostRequestBodyExample: + $ref: '#/components/examples/RateLimitingRulesPostRequestBodyExample' + required: true + responses: + '201': + description: Successfully created the rate limiting rule requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/RateLimitingRuleEnvelope' + examples: + RateLimitingRuleResponse: + $ref: '#/components/examples/RateLimitingRuleResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/rate-limiting/rules/{ruleId}: + get: + summary: Retrieve a specific rate limiting rule. See [eCDN Rate Limiting Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-rate-limiting-rules.html). + operationId: getRateLimitingRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned the rate limiting rule requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/RateLimitingRuleEnvelope' + examples: + RateLimitingRuleResponse: + $ref: '#/components/examples/RateLimitingRuleResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + delete: + summary: Delete a specific rate limiting rule. See [eCDN Rate Limiting Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-rate-limiting-rules.html). + operationId: deleteRateLimitingRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Successfully deleted the rate limiting rule requested by the caller. + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + patch: + summary: Update a specific rate limiting rule. See [eCDN Rate Limiting Rules](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-rate-limiting-rules.html). + operationId: updateRateLimitingRule + parameters: + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RateLimitingRulesPatchRequest' + required: true + responses: + '200': + description: Successfully updated the rate limiting rule requested by the caller. + content: + application/json: + schema: + $ref: '#/components/schemas/RateLimitingRuleEnvelope' + examples: + RateLimitingRuleResponse: + $ref: '#/components/examples/RateLimitingRuleResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall-managed/rulesets: + get: + summary: Retrieve WAFv2 managed rulesets. See [eCDN WAFv2](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-wafv2.html). + operationId: getWafManagedRulesets + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned the list of WAFv2 managed rulesets. + content: + application/json: + schema: + $ref: '#/components/schemas/WAFManagedRulesetsEnvelope' + examples: + WAFManagedRulesetsResponse: + $ref: '#/components/examples/WAFManagedRulesetsResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall-managed/rulesets/{rulesetId}: + patch: + summary: Update WAFv2 managed ruleset. See [eCDN WAFv2](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-wafv2.html). + operationId: updateWafManagedRuleset + parameters: + - $ref: '#/components/parameters/rulesetId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WAFManagedRulesetRequest' + examples: + WAFManagedRulesetsUpdateRequestBodyExample: + $ref: '#/components/examples/WAFManagedRulesetsUpdateRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the WAFv2 managed rulesets. + content: + application/json: + schema: + $ref: '#/components/schemas/WAFManagedRulesetEnvelope' + examples: + WAFManagedRulesetsUpdateResponse: + $ref: '#/components/examples/WAFManagedRulesetsUpdateResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall-managed/rulesets/{rulesetId}/rules: + get: + summary: Retrieve all rules in the specified WAFv2 managed ruleset. See [eCDN WAFv2](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-wafv2.html). + operationId: getWafManagedRulesInRuleset + parameters: + - $ref: '#/components/parameters/rulesetId' + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned the rules in the WAFv2 managed ruleset. + content: + application/json: + schema: + $ref: '#/components/schemas/WAFManagedRulesEnvelope' + examples: + WAFManagedRulesResponse: + $ref: '#/components/examples/WAFManagedRulesResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall-managed/rulesets/{rulesetId}/rules/{ruleId}: + patch: + summary: Update a WAF managed rule in the specified WAFv2 managed ruleset. See [eCDN WAFv2](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-wafv2.html). + operationId: updateWafManagedRuleInRuleset + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/rulesetId' + - $ref: '#/components/parameters/ruleId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WAFManagedRuleRequest' + examples: + WAFManagedRulesUpdateRequestBodyExample: + $ref: '#/components/examples/WAFManagedRulesUpdateRequestBodyExample' + required: true + responses: + '200': + description: Successfully updated the WAF managed rule in the specified WAFv2 managed ruleset. + content: + application/json: + schema: + $ref: '#/components/schemas/WAFManagedRuleEnvelope' + examples: + WAFManagedRulesUpdateResponse: + $ref: '#/components/examples/WAFManagedRulesUpdateResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/firewall-managed/migration: + put: + summary: Migrate a zone to WAFv2. Only applicable for existing zones using WAFv1. See [eCDN WAFv2](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-wafv2.html). + operationId: migrateZoneToWafV2 + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully migrated the zone to WAFv2 and returned the WAF managed rulesets. + content: + application/json: + schema: + $ref: '#/components/schemas/WAFManagedRulesetsEnvelope' + examples: + WAFManagedRulesetsResponse: + $ref: '#/components/examples/WAFManagedRulesetsResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/origin-header-modification/{type}: + get: + summary: Get the origin header modification associated with a zone. Only the `mrt` type is supported. + operationId: getOriginHeaderModification + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/type' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully returned the origin header modification associated with a zone. + content: + application/json: + schema: + $ref: '#/components/schemas/OriginHeaderModificationEnvelope' + examples: + MrtPutRequest: + $ref: '#/components/examples/MrtGetResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + put: + summary: Upsert an origin header modification. Only the `mrt` type is supported. + operationId: upsertOriginHeaderModification + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/type' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OriginHeaderModificationPutRequest' + examples: + MrtPutRequestBodyExample: + $ref: '#/components/examples/MrtPutRequestBodyExample' + required: true + responses: + '200': + description: Successfully upserted the origin header modification. + content: + application/json: + schema: + $ref: '#/components/schemas/OriginHeaderModificationEnvelope' + examples: + MrtPutUpdateResponse: + $ref: '#/components/examples/MrtPutUpdateResponse' + '201': + description: Successfully created the origin header modification. + content: + application/json: + schema: + $ref: '#/components/schemas/OriginHeaderModificationEnvelope' + examples: + MrtPutCreateResponse: + $ref: '#/components/examples/MrtPutCreateResponse' + '400': + description: | + The request sent by the caller is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + delete: + summary: Delete the origin header modification associated with a zone. Only the `mrt` type is supported. + operationId: deleteOriginHeaderModification + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/type' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Successfully deleted the origin header modification associated with a zone. + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw + /organizations/{organizationId}/zones/{zoneId}/settings/ciphers: + get: + summary: Get cipher suites settings by zoneId. See [eCDN Supported Cipher Suites](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-cipher-suite-types.html). + operationId: getCipherSuites + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Retrieves current zone level cipher settings. + content: + application/json: + schema: + $ref: '#/components/schemas/CipherSuitesEnvelope' + examples: + CipherSettingsGetResponse: + $ref: '#/components/examples/CipherSettingsGetResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones + - sfcc.cdn-zones.rw + patch: + summary: Update cipher suite settings for the zone. See [eCDN Supported Cipher Suites](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones-cipher-suite-types.html). + operationId: updateCipherSuites + parameters: + - $ref: '#/components/parameters/zoneId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CipherSuitesRequest' + examples: + CipherSettingsPatchRequestBodyExample: + $ref: '#/components/examples/CipherSettingsPatchRequestBodyExample' + required: true + responses: + '200': + description: Updates current zone level cipher settings. + content: + application/json: + schema: + $ref: '#/components/schemas/CipherSuitesEnvelope' + examples: + CipherSettingsPatchResponse: + $ref: '#/components/examples/CipherSettingsPatchResponse' + '401': + description: | + The caller is not authorized to access the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Unauthorized: + $ref: '#/components/examples/Unauthorized' + '403': + description: | + The caller does not have access to the requested resource. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: | + The resource requested by the caller was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + NotFound: + $ref: '#/components/examples/NotFound' + '500': + description: | + An error occurred on the server side. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ApiStandardsErrorResponse' + examples: + InternalServerError: + $ref: '#/components/examples/InternalServerError' + security: + - AmOAuth2: + - sfcc.cdn-zones.rw +components: + schemas: + ApiStandardsErrorResponse: + type: object + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + StorefrontZoneCreateRequest: + required: + - domainName + type: object + properties: + domainName: + type: string + description: Domain name for the site. + example: cc-merchant.com + description: The storefront zone information to be created. + StorefrontZoneCreateResponse: + required: + - createdOn + - status + - zoneId + - zoneName + type: object + properties: + zoneId: + type: string + description: The zone id tag. + example: 023e105f4ecef8ad9ca31a8372d0c353 + zoneName: + type: string + description: The domain name for the zone. + example: stg-zzzz-cc-merchant-com.cc-ecdn.net + status: + type: string + description: current status of the zone + example: active + enum: + - active + - pending + - initializing + - moved + - deleted + - deactivated + createdOn: + type: string + description: Date and time of zone creation. + format: date-time + example: '2014-01-01T05:20:00.12345Z' + description: The response of create zone, includes zone and zone properties. + StorefrontZoneCreateEnvelope: + type: object + properties: + data: + $ref: '#/components/schemas/StorefrontZoneCreateResponse' + required: + - data + MtlsCertificateResponse: + type: object + properties: + mtlsCertificateId: + type: string + description: ID generated by the CDN provider for the certificate. + expiresOn: + type: string + description: Expiration date for the mTLS certificate. + format: date-time + issuer: + type: string + description: The certificate authority that issued the mTLS certificate. + signature: + type: string + description: The type of hash used for the mTLS certificate. + uploadedOn: + type: string + description: Date the mTLS certificate was uploaded. + format: date-time + ca: + type: boolean + description: Indicates whether the mTLS certificate is a CA or leaf certificate. + serialNumber: + type: string + description: The mTLS certificate serial number. + mtlsCertificateName: + type: string + description: Optional name for the mTLS certificate used for ease of understanding. + mtlsAssociatedCodeUploadHostname: + type: string + description: Hostname associated with this mTLS certificate. + description: mTLS certificate information. + MtlsCertificatesResponseEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/MtlsCertificateResponse' + type: array + MtlsCertificateRequest: + required: + - certificate + - name + - privateKey + type: object + properties: + certificate: + type: string + description: Public key for the CA certificate in mTLS. + privateKey: + type: string + description: Private key of the CA certificate in mTLS. + name: + type: string + description: Certificate name used for ease of understanding. + description: mTLS certificate request information. + MtlsCertificateResponseEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/MtlsCertificateResponse' + PageShieldNotificationWebhookResponse: + required: + - createdAt + - id + - name + - type + - webhookUrl + type: object + properties: + id: + type: string + description: Webhook ID. + name: + type: string + description: Webhook name. + webhookUrl: + type: string + description: Webhook URL. + type: + type: string + description: Webhook type. + createdAt: + type: string + description: Timestamp of webhook creation. + format: date-time + lastSuccess: + type: string + description: Timestamp of the last successful notification. + format: date-time + lastFailure: + type: string + description: Timestamp of the last failed notification. + format: date-time + zones: + items: + type: string + type: array + description: Zone IDs on which to filter notifications alerts. + description: Page shield notification for the webhook response. + PageShieldNotificationWebhookListEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/PageShieldNotificationWebhookResponse' + type: array + PageShieldNotificationWebhookRequest: + required: + - webhookUrl + type: object + properties: + webhookUrl: + type: string + description: Webhook URL. + secret: + type: string + description: Webhook optional secret. + zones: + items: + type: string + type: array + description: Zone names on which to filter notifications alerts. + description: Page shield notification for the webhook request. + PageShieldNotificationWebhookEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/PageShieldNotificationWebhookResponse' + PageShieldPolicyResponse: + type: object + properties: + action: + type: string + description: Action taken when expression matches allow or log. + example: allow + enum: + - allow + - log + description: + type: string + description: Description for the policy. + enabled: + type: boolean + description: Enable/disable the policy. + expression: + type: string + description: Expression of the policy. + value: + type: string + description: Policy to be applied. + example: script-src + id: + type: string + description: Policy ID + description: Page shield policy response. + PageShieldPoliciesListEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/PageShieldPolicyResponse' + type: array + PageShieldPolicyRequest: + type: object + properties: + action: + type: string + description: Action taken when expression matches allow or log. + example: allow + enum: + - allow + - log + description: + type: string + description: Description for the policy. + enabled: + type: boolean + description: Enable/disable the policy. + expression: + type: string + description: Expression of the policy. + value: + type: string + description: Policy to be applied. + example: script-src + description: Page shield policy request object. + PageShieldPoliciesEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/PageShieldPolicyResponse' + PageShieldScriptVersion: + required: + - isMaliciousCode + type: object + properties: + hash: + type: string + description: The computed hash of the analyzed script. + example: 1243453456abc + jsIntegrityScore: + type: integer + description: The integrity score of the JavaScript content. + example: 1 + obfuscationScore: + type: integer + description: The obfuscation score of the JavaScript content. + example: 2 + dataflowScore: + type: integer + description: The dataflow score of the JavaScript content. + example: 1 + malwareScore: + type: integer + description: The malware score of the JavaScript content. + example: 1 + cryptoMiningScore: + type: integer + description: The crypto mining score of the JavaScript content. + example: 1 + mageCartScore: + type: integer + description: The Magecart score of the JavaScript content. + example: 2 + fetchedAt: + type: string + description: The timestamp of when the script was last fetched. + format: date-time + isMaliciousCode: + type: boolean + description: Indicates whether the script has been reported as malicious. + description: Version details for the JavaScript script. + PageShieldScriptResponse: + type: object + properties: + id: + type: string + description: Page Shield script ID. + example: 12345678901234asdfasfasdf + url: + type: string + description: Page Shield script URL. + example: https://sfdc-test.net/on/demandware.static/Sites-SiteNemesis-Site/-/en_US//lib/jquery/ui/jquery-ui.min.js + host: + type: string + description: Hostname where the script was detected by Page Shield. + example: sfdc-test.net + addedAt: + type: string + description: Date the script was added to Page Shield. + format: date-time + example: '2022-01-01T05:20:00Z' + firstSeenAt: + type: string + description: Date the script was detected by Page Shield. + format: date-time + example: '2022-01-01T05:20:00Z' + lastSeenAt: + type: string + description: Date the script was recently detected by Page Shield. + format: date-time + example: '2022-01-01T05:20:00Z' + fetchedAt: + type: string + description: The timestamp when the script was last fetched. + format: date-time + domainReportedMalicious: + type: boolean + description: Reported domain is malicious. + example: false + hash: + type: string + description: The computed hash of the analyzed script. + example: 1243453456abc + cryptoMiningScore: + type: integer + description: The crypto mining score of the JavaScript content. + example: 1 + dataflowScore: + type: integer + description: The dataflow score of the JavaScript content. + example: 1 + jsIntegrityScore: + type: integer + description: The integrity score of the JavaScript content. + example: 1 + mageCartScore: + type: integer + description: The Magecart score of the JavaScript content. + example: 2 + malwareScore: + type: integer + description: The malware score of the JavaScript content. + example: 1 + obfuscationScore: + type: integer + description: The obfuscation score of the JavaScript content. + example: 2 + maliciousDomainCategories: + items: + type: string + type: array + description: Malicious domain category. + example: + - Malware + maliciousUrlCategories: + items: + type: string + type: array + description: Malicious URL category. + example: + - Malware + urlContainsCdnCgiPath: + type: boolean + description: URL contains CDN CGI path. + example: false + urlReportedMalicious: + type: boolean + description: Reported URL is malicious. + example: false + pageUrls: + items: + type: string + type: array + description: Page URLs + example: + - blog.test.salesforce.com/page1 + - blog.test.salesforce.com/page2 + firstPageUrl: + type: string + description: First page URL for the JavaScript. + example: blog.test.salesforce.com + status: + type: string + description: The current status of the script. Possible values are active, inactive, or infrequent. + example: active + versions: + items: + $ref: '#/components/schemas/PageShieldScriptVersion' + type: array + description: List of script versions. + description: Response of Page Shield script object. + PageShieldScriptListEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/PageShieldScriptResponse' + type: array + PageShieldScriptEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/PageShieldScriptResponse' + Zone: + title: Zone + required: + - name + - status + - zoneId + type: object + properties: + zoneId: + maxLength: 100 + type: string + description: Identity of the zone. + name: + maxLength: 100 + type: string + description: Name given to the zone. This needs to be a DNS domain name for eg example.com + status: + type: string + description: Status of the zone for eg "Pending" , "Active" + enum: + - active + - pending + - initializing + - moved + - deleted + - deactivated + description: Zone is the container for hostnames and various CDN settings/properties. Each zone is tied to a single origin. + example: + zoneId: example1-zone-Id + name: example1.com + status: pending + ZonesEnvelope: + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/Zone' + type: array + WafGroup: + required: + - mode + type: object + properties: + groupId: + maxLength: 100 + type: string + example: 372e67954025e0ba6aaa6d586b9e0b60 + action: + type: string + description: The action to apply to WAF group + example: block + enum: + - block + - challenge + - monitor + - default + mode: + type: string + description: Mode of the waf rule - on vs off + example: 'on' + enum: + - 'on' + - 'off' + description: + type: string + description: Description of the WAF Group. + example: Test WAF Group to protect against SQL injection + example: + groupId: 372abe67954025e0ba6aaa6d586b9e0b + zoneId: example1-zone-Id + action: monitor + mode: true + description: SQL injection protection + WafGroupsEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/WafGroup' + type: array + WafGroupEnvelope: + type: object + properties: + data: + $ref: '#/components/schemas/WafGroup' + WafRule: + required: + - action + type: object + properties: + ruleId: + type: string + example: 892e67954025e0ba6atefd586b9e58b3 + groupId: + maxLength: 100 + type: string + example: 372e67954025e0ba6aaa6d586b9e0b60 + action: + type: string + description: The action to apply to WAF rule + example: block + enum: + - block + - challenge + - monitor + - disable + - default + defaultAction: + type: string + description: The action to apply to WAF rule + example: block + enum: + - block + - challenge + - monitor + - disable + description: + type: string + description: Description of the WAF Group. + example: Test WAF Rule to protect against SQL injection + example: + ruleId: 892e67954025e0ba6atefd586b9e58b3 + groupId: 372abe67954025e0ba6aaa6d586b9e0b + action: monitor + defaultAction: challenge + description: SQL injection protection + WafRulesEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/WafRule' + type: array + WafRuleEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/WafRule' + SpeedSetting: + type: object + properties: + brotliCompression: + type: string + description: Brotli compression setting of a zone. + default: 'off' + example: 'off' + enum: + - 'on' + - 'off' + http2Prioritization: + type: string + description: Http2 prioritization setting for a zone. + default: 'off' + example: 'off' + enum: + - 'on' + - 'off' + webp: + type: string + description: Support for the WebP image format when using image modification for a zone. The WebP image format can be used with supported clients for added performance benefits. Setting this property to `on` will return an error when the `polish` property is set to `off`. + default: 'off' + example: 'off' + enum: + - 'on' + - 'off' + polish: + type: string + description: The level of polish (image quality) used for image modification. The value `lossless` corresponds to **Polish Level Basic** in the UI, and the value `lossy` corresponds to **Polish Level Basic+JPEG.** To disable image modification, set this property to `off`. Setting this property to `off` will prevent you from setting the `webp` property to `on`. + default: 'off' + example: 'off' + enum: + - 'off' + - lossless + - lossy + earlyHints: + type: string + description: Early Hints for a zone. + default: 'off' + example: 'off' + enum: + - 'on' + - 'off' + http3: + type: string + description: Http3 for a zone. + default: 'off' + example: 'off' + enum: + - 'on' + - 'off' + http2ToOrigin: + type: string + description: Http2 to Origin for a zone. + default: 'off' + example: 'off' + enum: + - 'on' + - 'off' + example: + brotliCompression: 'off' + SpeedSettingsEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/SpeedSetting' + SecuritySetting: + required: + - alwaysUseHttps + type: object + properties: + hsts: + type: object + properties: + enabled: + type: boolean + description: Enable strict transport security. + includeSubdomains: + type: boolean + description: Include all subdomains for strict transport security. + maxAge: + type: number + description: Max age in seconds of the strict transport security. + preload: + type: boolean + description: Preload any URLs that are included in the response headers. + description: The security header for a zone. + securityLevel: + type: string + description: Security profile for your zone, which will automatically adjust each of the security settings. + enum: + - 'off' + - essentially_off + - low + - medium + - high + - under_attack + tls13Enabled: + type: boolean + description: Enable Crypto TLS 1.3 feature for this zone. + wafEnabled: + type: boolean + description: Enable WAF (OWASP) protection for this zone. Not applicable for zones using WAFv2. + alwaysUseHttps: + type: boolean + description: Redirect all http requests to https. + example: true + SecuritySettingsEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/SecuritySetting' + CachePurgeRequest: + type: object + properties: + path: + type: string + description: Path for clearing the cache. Allowed paths follow the format "/dw/shop/*/products", "/worker.js", "/mobify*" or "/callback*". Regular expressions and wildcards are not supported in the path. + example: www.sfcc-ecdn-test5.net/dw/shop/v21_9/products + tags: + type: array + description: List of cache tags to purge. When specified, all cached content associated with these tags will be purged. + items: + type: string + example: + - product-123 + - category-456 + description: Request for doing a cache purge + CachePurgeResponse: + required: + - cachePurged + - details + type: object + properties: + cachePurged: + type: boolean + description: The name of the list. + example: false + details: + type: string + description: Details of errors if any. + example: '1084 : Unable to purge ''''.' + description: Response from a cache purge request + CachePurgeResponseEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/CachePurgeResponse' + OCAPICachingToggleRequest: + required: + - enableOCAPICachingPageRule + type: object + properties: + enableOCAPICachingPageRule: + type: boolean + description: true to enable OCAPI Caching Page rule, false to disable. + example: true + description: Request to enable or disable OCAPI Caching Page rule + DCVDelegationRecord: + description: eCDN automatic renewal certificate DCV delegation records. + type: object + properties: + dcvCname: + description: DNS CNAME for Domain Control Validation. + type: string + dcvCnameValue: + description: DNS CNAME value for Domain Control Validation. + type: string + Certificate: + required: + - certificateId + - certificateType + - status + type: object + properties: + certificateId: + type: string + description: Id generated by CDN provider for the certificate. + hosts: + items: + type: string + type: array + description: List of hosts the certificate applies to. + expiresOn: + type: string + description: Date of expiration for the certificate. + format: date-time + uploadedOn: + type: string + description: Date the certificate was uploaded. + format: date-time + issuer: + type: string + description: The certificate authority that issued the certificate. + signature: + type: string + description: The type of hash used for the certificate. + status: + type: string + description: Current status of the certificate. + enum: + - ACTIVE + - EXPIRED + - DELETED + - PENDING + - INITIALIZING + - PENDING_VALIDATION + - PENDING_ISSUANCE + - PENDING_DEPLOYMENT + - PENDING_DELETION + minTlsVersion: + type: string + description: Minimum TLS Version only allows HTTPS connections from visitors that support the selected TLS protocol version or newer. + certificateType: + type: string + description: Indicates certificate is custom cert uploaded by customer or automatic renewal certificate by eCDN. + enum: + - custom + - automatic + - custom_legacy + certificateAuthority: + type: string + description: Indicates certificate issuer for automatic renewal certificate by eCDN. + enum: + - google + - lets_encrypt + - digicert + certificateValidation: + type: string + description: Indicates certificate validation type for automatic renewal certificate by eCDN. + enum: + - http + - txt + certificateVerificationTXTName: + type: string + description: eCDN automatic renewal certificate verification txt name. + certificateVerificationTXTValue: + type: string + description: eCDN automatic renewal certificate verification txt value. + certificateVerificationStatus: + type: string + description: Current status of certificate verification. + enum: + - ACTIVE + - EXPIRED + - PENDING + - INITIALIZING + - PENDING_VALIDATION + - PENDING_ISSUANCE + - PENDING_DEPLOYMENT + wildcardCertificateVerificationTXTName: + type: string + description: eCDN automatic renewal certificate verification txt name. + wildcardCertificateVerificationTXTValue: + type: string + description: eCDN automatic renewal certificate verification txt value. + wildcardCertificateVerificationStatus: + type: string + description: Current status of certificate verification. + enum: + - ACTIVE + - EXPIRED + - PENDING + - INITIALIZING + - PENDING_VALIDATION + - PENDING_ISSUANCE + - PENDING_DEPLOYMENT + customHostnameVerificationTXTName: + type: string + description: Custom Hostname verification txt name. + customHostnameVerificationTXTValue: + type: string + description: Custom Hostname verification txt value. + customHostnameId: + type: string + description: Custom hostname associated with the zone + customHostname: + type: string + description: Custom hostname associated with the zone + customHostnameStatus: + type: string + description: Current status of custom hostname validation. + enum: + - ACTIVE + - EXPIRED + - DELETED + - PENDING + - INITIALIZING + - PENDING_VALIDATION + - PENDING_ISSUANCE + - PENDING_DEPLOYMENT + - PENDING_DELETION + - MOVED + dcvDelegationRecords: + description: eCDN automatic renewal certificate DCV delegation records + items: + $ref: '#/components/schemas/DCVDelegationRecord' + type: array + description: The certificate information + CertificatesEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/Certificate' + type: array + CertificateRequest: + required: + - hostname + type: object + properties: + hostname: + type: string + description: Hostname that certificate needs to be applied to. + bundleMethod: + type: string + description: Bundle method of the custom certificate chain for verification. + certificateType: + type: string + description: Indicates certificate is custom or automatic certificate renewal by eCDN. Optional field, if nothing specified the default value is custom. Valid values are custom or automatic. + certificate: + type: string + description: Public key of the custom certificate. Required if the certificateType value is custom. + privateKey: + type: string + description: Private key associated with the custom certificate. Required if the `certificateType` value is custom. + certificateAuthority: + type: string + description: Certificate authority only for automatic certificate renewal by eCDN. Required if the `certificateType` value is automatic. Valid values are `google` or `lets_encrypt`. + certificateValidation: + type: string + description: Certificate validation type is optional only for `certificateType` automatic, default value is `http`. Valid values are `http` or `txt`. + wildcardHostname: + type: boolean + description: Set to true for a wildcard custom hostname. + description: Certificate request information + CertificateEnvelope: + required: + - data + type: object + properties: + data: + $ref: '#/components/schemas/Certificate' + CustomHostnameValidationResponse: + required: + - customHostname + - customHostnameId + - customHostnameStatus + - customHostnameVerificationTXTName + - customHostnameVerificationTXTValue + type: object + properties: + customHostnameId: + type: string + description: Identifier generated by the CDN provider for the custom hostname. + example: a439eb1f-5e71-4544-bb29-54d18ax62277 + customHostname: + type: string + description: Name of the custom hostname + example: hello.world.example.net + customHostnameVerificationTXTName: + type: string + description: Custom hostname verification txt name. + customHostnameVerificationTXTValue: + type: string + description: Custom hostname verification txt value. + customHostnameStatus: + type: string + description: Current status of the custom hostname. + example: ACTIVE + enum: + - PENDING + - ACTIVE + - MOVED + - DELETED + description: Custom hostname validation information. + CustomHostnameValidationEnvelope: + type: object + properties: + data: + $ref: '#/components/schemas/CustomHostnameValidationResponse' + required: + - data + MRTRules: + required: + - enabled + - expression + - id + - lastUpdated + - mrtHostname + - ref + type: object + properties: + id: + type: string + description: The ID of the rule. + example: 12345678901234asdfasfasdf + expression: + type: string + description: The expression that determines the rule's routing behavior. + example: (http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\")) + description: + type: string + description: The description of the rule. + example: Phased rollout rule for dev-customer.salesforce.com + lastUpdated: + type: string + description: Date when the rule was last updated. + format: date-time + example: '2022-01-01T05:20:00Z' + ref: + type: string + description: The ref of the rule. + example: 12345678901234asdfasfasdf1234567 + enabled: + type: boolean + description: Whether or not the rule is enabled. + example: true + mrtHostname: + type: string + description: Managed runtime hostname this rule targets. + example: customer-pwa-hybrid.mobify-storefront.com + description: A rule in an MRT ruleset. + MRTRuleset: + required: + - id + - lastUpdated + - name + - rules + type: object + properties: + id: + type: string + description: The ID of the ruleset. + example: 12345678901234asdfasfasdf + name: + type: string + description: The name of the ruleset. + example: MRT Rules + lastUpdated: + type: string + description: Date when the ruleset was last updated. + format: date-time + example: '2022-01-01T05:20:00Z' + rules: + items: + $ref: '#/components/schemas/MRTRules' + type: array + description: The rules defined by the ruleset. + description: An MRT ruleset. Defines a list of MRT rules that will route certain storefront requests to the managed runtime instance. + MRTRulesResponse: + required: + - ruleset + type: object + properties: + ruleset: + $ref: '#/components/schemas/MRTRuleset' + description: Response for MRT rules. MRT rules are a way to route certain storefront requests to the managed runtime instance. + MRTRulesResponseEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/MRTRulesResponse' + MRTRulesPostRequest: + required: + - expressions + - mrtHostname + type: object + properties: + mrtHostname: + type: string + description: The customer's MRT instance hostname. + example: customer-react-project-production.mobify-storefront.com + expressions: + items: + type: string + type: array + description: An array containing the expressions for each MRT rule. + example: + - (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "^/path1/.*" or http.request.uri.path matches "^.*/path2/.*/products/.*")) + descriptions: + items: + type: string + type: array + description: An array containing the descriptions for each MRT rule. The number of descriptions provided must match the number of expressions provided. Optional. + example: + - Phased rollout rule for dev-customer.salesforce.com + description: POST request for creating MRT rules. MRT rules are a way to route certain storefront requests to the managed runtime instance. + MRTRulesetPatchRequest: + required: + - mrtHostname + type: object + properties: + oldMrtHostname: + type: string + description: The customer's current MRT instance hostname. + example: customer-react-projec-production.mobify-storefront.com + mrtHostname: + type: string + description: The customer's MRT instance hostname. + example: customer-react-projec-production.mobify-storefront.com + expressions: + items: + type: string + type: array + description: An array containing the expressions for each MRT rule. + example: + - (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "^/path1/.*" or http.request.uri.path matches "^.*/path2/.*/products/.*")) + descriptions: + items: + type: string + type: array + description: An array containing the descriptions for each MRT rule. The number of descriptions provided must match the number of expressions provided. Optional. + example: + - Phased rollout rule for dev-customer.salesforce.com + description: PATCH request for updating the MRT environment hostname or adding MRT rules to route to an existing MRT environment. + MRTRulePatchRequest: + type: object + properties: + enabled: + type: boolean + description: Whether or not the rule is enabled. + example: true + expression: + type: string + description: The expression that determines the MRT rule's routing behavior. + example: (http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\")) + description: + type: string + description: The description of the rule. Optional. + example: Phased rollout rule for dev-customer.salesforce.com + description: PATCH request for updating an MRT rule. You may use the PATCH request to update the rule's expression and description as well as disable/enable the rule. + LogpushOwnershipPostRequest: + required: + - destinationPath + type: object + properties: + destinationPath: + type: string + description: Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included. You can use the special string {DATE} in the URL path to separate logs into daily subdirectories; for example s3://customer-bucket/logs/{DATE}?region=us-east-1&sse=AES256. The name of the directory will be replaced with the date in YYYYMMDD format (e.g. 20220215) when the logs are stored. + example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + description: POST request for creating new Logpush Ownership. + LogpushOwnershipPostResponse: + required: + - data + type: object + properties: + data: + required: + - destinationPath + - fileName + type: object + properties: + destinationPath: + type: string + description: Destination where logs will be sent (S3 bucket only). + example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + fileName: + type: string + description: File path where the ownership challenge file is written. + example: site-name/20230101/ownership-challenge-d12345678.txt + description: The customer's new Logpush Ownership. + description: POST response for created new Logpush Ownership. + LogpushResponse: + type: object + properties: + jobId: + type: integer + description: Unique ID of the job. + example: 123456 + name: + type: string + description: Logpush job name; the name cannot be changed after the job is created. + example: my-logpush-job + logType: + type: string + description: Type of logs; available log types are `http_requests`, `firewall_events`, and `page_shield_events`. + example: http_requests + enum: + - http_requests + - firewall_events + - page_shield_events + filter: + type: string + description: Filter provides a way to customize which logs you want to receive. Filters are added as escaped JSON strings formatted. If the filter is not displayed, it indicates that all logs should be included. + logFields: + items: + type: string + type: array + description: List of log fields. Depending on the type of log, the list of fields that you would like to see in the logs may vary. + example: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + destinationPath: + type: string + description: Uniquely identifies s3 bucket for logs. + example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + enabled: + type: boolean + description: Flag that indicates if the job is enabled or disabled. + example: false + lastComplete: + type: string + description: The last time that the log has been successfully transmitted to the destination. + format: date-time + example: '2023-01-02T00:00:00Z' + lastError: + type: string + description: The last time the job failed. If empty, the job has either never failed or has run successfully at least once since the last failure. + format: date-time + example: '2023-01-01T10:00:00Z' + errorMessage: + type: string + description: Provide details for the last failure message. If this field is empty, it indicates that the job successfully transmitted logs to the destination. + example: no permissions to write to destination bucket + createdOn: + type: string + description: Job creation time. + format: date-time + example: '2023-01-01T00:00:27Z' + description: Logpush job response + LogpushJobsEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/LogpushResponse' + type: array + LogpushCreateRequest: + required: + - destinationPath + - logFields + - logType + - name + - ownershipChallengeToken + type: object + properties: + destinationPath: + type: string + description: Uniquely identifies s3 bucket for logs. Additional configuration parameters like region can be included. The string {DATE} in the URL path to separate logs into daily subdirectories; for example `s3://customer-bucket/logs/{DATE}?region=us-east-1&sse=AES256` The name of the directory will be replaced with the date in YYYYMMDD format (e.g. 20220215) when the logs are stored. + example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + name: + type: string + description: Logpush job name; the name cannot be changed after the job is created. + example: my-logpush-job + filter: + type: string + description: Filter provides a way to customize which logs you want to receive. Filters are added as escaped JSON strings formatted. Default will include all logs. + logFields: + items: + type: string + type: array + description: List of log fields. Depending on the type of log, the list of fields that you would like to see in the logs may vary. + example: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + ownershipChallengeToken: + type: string + description: Ownership token to proves the ownership of the destinationPath. + example: abc00000000000000000000 + logType: + type: string + description: Type of logs. Available log types are `http_requests`, `firewall_events`, and `page_shield_events`. + example: http_requests + enum: + - http_requests + - firewall_events + - page_shield_events + description: Request for create Logpush job. + LogpushEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/LogpushResponse' + LogpushUpdateRequest: + type: object + properties: + enabled: + type: boolean + description: Flag that indicates if the job is enabled or disabled. + example: true + filter: + type: string + description: Provides customized selection for logs you want to receive. Filters are added as escaped, formatted JSON strings. By default, all logs are included. + example: '{"where":{"key":"ClientRequestPath","operator":"contains","value":"/example-path"}}' + logFields: + items: + type: string + type: array + description: List of log fields. Depending on the log type, the list of fields that you can specify to be displayed in the log might vary. + example: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + description: Request for update Logpush job + WAFRulePackage: + required: + - action_mode + - description + - detection_mode + - id + - name + - sensitivity + - zone_id + type: object + properties: + id: + maxLength: 32 + type: string + example: a25a9a7e9c00afc1fb2e0245519d725b + name: + type: string + description: Name of the firewall package + description: + type: string + description: Summary of purpose/function of firewall package + detection_mode: + type: string + description: How the rules within the package are evaluated during the course of a request. When a package uses anomaly detection, each rule is given a score when triggered. If the total score of all triggered rules exceeds the sensitivity defined on the package, the action defined on the package is taken. Traditional detection decides which action to take when it is triggered by the request. If multiple rules are triggered, the action with highest protection is used. For example, a block action beats a challenge. + zone_id: + type: string + description: Zone identifier with which this rule package is associated. + sensitivity: + type: string + description: Sensitivity for traditional (owasp) rule package. + enum: + - low + - medium + - high + - 'off' + action_mode: + type: string + description: The default action that is taken for rules under traditional(owasp) firewall package. + enum: + - simulate + - challenge + - block + WAFRulePackageEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/WAFRulePackage' + WafPackagePatchRequest: + required: + - action_mode + - sensitivity + type: object + properties: + sensitivity: + type: string + description: Sensitivity for traditional (owasp) rule package. + enum: + - low + - medium + - high + - 'off' + action_mode: + type: string + description: The default action that is taken for rules under traditional(owasp) firewall package. + enum: + - simulate + - challenge + - block + CustomRule: + required: + - actions + - description + - enabled + - expression + - lastUpdated + - ruleId + type: object + properties: + ruleId: + type: string + description: The ID of the custom rule. + example: 2c0fc9fa937b11eaa1b71c4d701ab86e + description: + type: string + description: The description of the custom rule. + example: Block traffic for malformed URL requests. + expression: + type: string + description: The expression that determines the custom rule's behavior. + example: (http.request.uri.path matches \"^/path1/.*\") + actions: + items: + type: string + type: array + description: The action(s) applied by the custom rule. + example: + - block + lastUpdated: + type: string + description: Date when the custom rule was last updated. + format: date-time + example: '2022-01-01T05:20:00Z' + enabled: + type: boolean + description: Whether or not the custom rule is enabled. + example: true + description: A custom rule. + CustomRulesEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/CustomRule' + type: array + RulePosition: + type: object + properties: + before: + type: string + description: Insert the current rule before this ruleId. + example: 2c0fc9fa937b11eaa1b71c4d701ab86e + after: + type: string + description: Insert the current rule after this ruleId. + example: 2c0fc9fa937b11eaa1b71c4d701ab86e + description: Used to specify the position of a rule. + CustomRulesPostRequest: + required: + - actions + - description + - expression + type: object + properties: + description: + type: string + description: A description of the custom rule. + example: Block traffic for malformed URL requests + expression: + type: string + description: The expression that determines the custom rule's behavior. + example: (http.request.uri.path matches \"^/path1/.*\") + actions: + items: + type: string + type: array + description: The action(s) applied by the custom rule. + example: + - block + enabled: + type: boolean + description: Whether or not the custom rule is enabled. + example: true + position: + $ref: '#/components/schemas/RulePosition' + description: Create a custom rule. + CustomRuleEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/CustomRule' + CustomRulesPatchOrderRequest: + required: + - ruleIds + type: object + properties: + ruleIds: + items: + type: string + type: array + description: An array of ruleIds representing the new order of custom rules. + example: + - ffffe61cf25e4ec49c34b029ff3060f7 + - 2c0fc9fa937b11eaa1b71c4d701ab86e + description: Update the order of all existing custom rules. + CustomRulesPatchRequest: + type: object + properties: + description: + type: string + description: A description of the custom rule. + example: Block traffic for malformed URL requests + expression: + type: string + description: The expression that determines the custom rule's behavior. + example: (http.request.uri.path matches \"^/path1/.*\") + actions: + items: + type: string + type: array + description: The action(s) applied by the custom rule. + example: + - block + enabled: + type: boolean + description: Whether or not the custom rule is enabled. + example: true + position: + $ref: '#/components/schemas/RulePosition' + description: Update a custom rule. + RateLimitingRule: + required: + - action + - characteristics + - description + - enabled + - expression + - lastUpdated + - period + - requestsPerPeriod + - ruleId + - mitigationTimeout + type: object + properties: + ruleId: + type: string + description: The ID of the rate limiting rule. + example: 2c0fc9fa937b11eaa1b71c4d701ab86e + description: + type: string + description: The description of the rate limiting rule. + example: Rate limit /path1. + expression: + type: string + description: The expression that defines when to evaluate the rate limiting rule. + example: (http.request.uri.path matches \"^/path1/.*\") + characteristics: + items: + type: string + type: array + description: Set of parameters defining how to group requests when tracking the request rate. + example: + - cf.unique_visitor_id + action: + type: string + description: The action applied by the rate limiting rule. Valid actions are "block", "managed_challenge", "js_challenge", "legacy_captcha", and "log". + example: block + period: + type: integer + description: The period of time to consider when evaluating the request rate (in seconds). Valid values are 10, 60, 120, 300, and 600. + example: 60 + requestsPerPeriod: + type: integer + description: The limit for the number of requests in the specified period of time. + example: 50 + mitigationTimeout: + type: integer + description: After the rate is reached, the rate limiting rule applies the rule action to further requests for the period of time defined in this field (in seconds). When set to 0, the rule throttles requests over the maximum configured rate. When greater than 0, the action is presented for the selected duration after the configured rate is exceeded. Valid values are 0, 60, 120, 300, 600, 3600, and 86400. + example: 600 + countingExpression: + type: string + description: The expression that defines what kind of requests we want to rate limit. + example: (http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400) + lastUpdated: + type: string + description: Date when the rate limiting rule was last updated. + format: date-time + example: '2022-01-01T05:20:00Z' + enabled: + type: boolean + description: Whether or not the rate limiting rule is enabled. + example: true + description: A rate limiting rule. + RateLimitingRulesEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/RateLimitingRule' + type: array + RateLimitingRulesPostRequest: + required: + - action + - characteristics + - description + - expression + - period + - requestsPerPeriod + - mitigationTimeout + type: object + properties: + description: + type: string + description: The description of the rate limiting rule. + example: Rate limit /path1. + expression: + type: string + description: The expression that defines when to evaluate the rate limiting rule. + example: (http.request.uri.path matches \"^/path1/.*\") + characteristics: + items: + type: string + type: array + description: Set of parameters defining how to group requests when tracking the request rate. + example: + - cf.unique_visitor_id + action: + type: string + description: The action applied by the rate limiting rule. Valid actions are "block", "managed_challenge", "js_challenge", "legacy_captcha", and "log". + example: block + period: + type: integer + description: The period of time to consider when evaluating the request rate (in seconds). Valid values are 10, 60, 120, 300, and 600. + example: 60 + requestsPerPeriod: + type: integer + description: The limit for the number of requests in the specified period of time. + example: 50 + mitigationTimeout: + type: integer + description: After the rate is reached, the rate limiting rule applies the rule action to further requests for the period of time defined in this field (in seconds). When set to 0, the rule throttles requests over the maximum configured rate. When greater than 0, the action is presented for the selected duration after the configured rate is exceeded. Valid values are 0, 60, 120, 300, 600, 3600, and 86400. + example: 600 + countingExpression: + type: string + description: The expression that defines what kind of requests we want to rate limit. + example: (http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400) + enabled: + type: boolean + description: Whether or not the rate limiting rule is enabled. + example: true + position: + $ref: '#/components/schemas/RulePosition' + description: Create a rate limiting rule. + RateLimitingRuleEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/RateLimitingRule' + RateLimitingRulesPatchRequest: + type: object + properties: + description: + type: string + description: The description of the rate limiting rule. + example: Rate limit /path1. + expression: + type: string + description: The expression that defines when to evaluate the rate limiting rule. + example: (http.request.uri.path matches \"^/path1/.*\") + characteristics: + items: + type: string + type: array + description: Set of parameters defining how to group requests when tracking the request rate. + example: + - cf.unique_visitor_id + action: + type: string + description: The action applied by the rate limiting rule. Valid actions are "block", "managed_challenge", "js_challenge", "legacy_captcha", and "log". + example: block + period: + type: integer + description: The period of time to consider when evaluating the request rate (in seconds). Valid values are 10, 60, 120, 300, and 600. + example: 60 + requestsPerPeriod: + type: integer + description: The limit for the number of requests in the specified period of time. + example: 50 + mitigationTimeout: + type: integer + description: After the rate is reached, the rate limiting rule applies the rule action to further requests for the period of time defined in this field (in seconds). When set to 0, the rule throttles requests over the maximum configured rate. When greater than 0, the action is presented for the selected duration after the configured rate is exceeded. Valid values are 0, 60, 120, 300, 600, 3600, and 86400. + example: 600 + countingExpression: + type: string + description: The expression that defines what kind of requests we want to rate limit. + example: (http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400) + enabled: + type: boolean + description: Whether or not the rate limiting rule is enabled. + example: true + position: + $ref: '#/components/schemas/RulePosition' + description: Update a rate limiting rule. + WAFManagedRuleset: + required: + - action + - enabled + - name + - rulesetId + type: object + properties: + name: + type: string + description: The name of the WAF managed ruleset. + example: OWASP Core Ruleset + rulesetId: + type: string + description: The ID of the WAF managed ruleset. + example: 4814384a9e5d4991b9815dcfc25d2f1f + action: + type: string + description: The action applied by the WAF managed ruleset. + example: default + anomalyScore: + type: string + description: The anomaly score threshold of the WAF managed ruleset. Only applicable for the OWASP Core Ruleset. + example: low + anomalyScoreThreshold: + type: integer + description: The numerical value of the anomaly score threshold of the WAF managed ruleset. Only applicable for the OWASP Core Ruleset. + example: 60 + paranoiaLevel: + type: integer + description: The paranoia level of the WAF managed ruleset. Higher paranoia levels activate more aggressive rules. Only applicable for the OWASP Core Ruleset. + example: 1 + enabled: + type: boolean + description: Whether or not the WAF managed ruleset is enabled. + example: true + description: A WAF managed ruleset. + WAFManagedRulesetsEnvelope: + type: object + required: + - data + properties: + data: + type: array + items: + $ref: '#/components/schemas/WAFManagedRuleset' + WAFManagedRulesetRequest: + type: object + properties: + action: + type: string + description: The action applied by the WAF managed ruleset. + example: default + anomalyScore: + type: string + description: The anomaly score threshold of the WAF managed ruleset. Only applicable for the OWASP Core Ruleset. + example: low + paranoiaLevel: + type: integer + description: The paranoia level of the WAF managed ruleset. Higher paranoia levels activate more aggressive rules. Only applicable for the OWASP Core Ruleset. + example: 1 + enabled: + type: boolean + description: Whether or not the WAF managed ruleset is enabled. + example: true + description: A WAF managed ruleset request body. + WAFManagedRulesetEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/WAFManagedRuleset' + WAFManagedRule: + required: + - action + - categories + - description + - enabled + - lastUpdated + - ruleId + type: object + properties: + ruleId: + type: string + description: The ID of the WAF managed rule. + example: 5de7edfa648c4d6891dc3e7f84534ffa + action: + type: string + description: The action applied by the WAF managed rule. + example: block + score: + type: integer + description: The score of the WAF managed rule. Only applicable for the OWASP Managed Ruleset. + example: 5 + categories: + items: + type: string + type: array + description: A list of categories describing the function of the WAF managed rule. + example: + - broken-access-control + - wordpress + description: + type: string + description: The description of the WAF managed rule. + example: Wordpress - Broken Access Control + lastUpdated: + type: string + description: Date when the WAF managed rule was last updated. + format: date-time + example: '2024-01-01T05:20:00Z' + enabled: + type: boolean + description: Whether or not the WAF managed rule is enabled. + example: true + description: A WAF managed rule. + WAFManagedRulesEnvelope: + type: object + required: + - data + properties: + data: + items: + $ref: '#/components/schemas/WAFManagedRule' + type: array + WAFManagedRuleRequest: + type: object + properties: + action: + type: string + description: The action applied by the WAF managed rule. + example: block + enabled: + type: boolean + description: Whether or not the WAF managed rule is enabled. + example: true + description: A PATCH request for updating a WAF managed rule. + WAFManagedRuleEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/WAFManagedRule' + OriginHeaderModification: + required: + - headerName + - headerValue + - lastUpdated + type: object + properties: + headerName: + type: string + description: The name of the header forwarded to the origin. + example: x-sfdc-access-control + headerValue: + type: string + description: The masked value of the header forwarded to the origin. + example: '****************789' + lastUpdated: + type: string + description: Date when the rule was last updated. + format: date-time + example: '2022-01-01T05:20:00Z' + description: An origin header modification rule. + OriginHeaderModificationEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/OriginHeaderModification' + OriginHeaderModificationPutRequest: + required: + - headerValue + type: object + properties: + headerValue: + type: string + description: The value of the header forwarded to the origin. + example: 123456789 + headerName: + type: string + description: The name of the header forwarded to the origin. Cannot be modified for the MRT origin. + description: Put request for creating/updating the origin header modification. + CipherSuitesResponse: + required: + - cipherSuiteType + - ciphers + type: object + properties: + ciphers: + items: + type: string + type: array + description: List of zone level ciphers in the suite. + example: + - ECDHE-ECDSA-AES128-GCM-SHA256 + - ECDHE-RSA-AES128-GCM-SHA256 + cipherSuiteType: + type: string + description: Classification of the ciphers in the suite. + example: Modern + enum: + - Compatible + - Modern + - Custom + - Legacy + description: Cipher suites information. + CipherSuitesEnvelope: + type: object + required: + - data + properties: + data: + $ref: '#/components/schemas/CipherSuitesResponse' + CipherSuitesRequest: + required: + - cipherSuiteType + type: object + properties: + ciphers: + items: + type: string + type: array + description: List of zone level ciphers in the suite. + example: + - ECDHE-ECDSA-AES128-GCM-SHA256 + - ECDHE-RSA-AES128-GCM-SHA256 + cipherSuiteType: + type: string + description: Classification of all ciphers in the suite. + example: Modern + enum: + - Compatible + - Modern + - Custom + - Legacy + description: Cipher suites information. + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.cdn-zones: CDN API Scope READONLY + sfcc.cdn-zones.rw: CDN API Scope + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.cdn-zones: CDN API Scope READONLY + sfcc.cdn-zones.rw: CDN API Scope + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + mtlsCertificateId: + name: mtlsCertificateId + in: path + required: true + schema: + type: string + webhookId: + name: webhookId + in: path + required: true + schema: + type: string + zoneId: + name: zoneId + in: path + required: true + schema: + type: string + policyId: + name: policyId + in: path + required: true + schema: + type: string + direction: + name: direction + in: query + description: The direction used to sort returned scripts. + required: false + schema: + type: string + enum: + - asc + - desc + excludeCdnCgi: + name: excludeCdnCgi + in: query + description: When true, excludes scripts existing in a /cdn-cgi path from the returned scripts. Default is true. + required: false + schema: + type: boolean + excludeDuplicates: + name: excludeDuplicates + in: query + description: When true, excludes duplicate scripts. Default is false. + required: false + schema: + type: boolean + excludeUrls: + name: excludeUrls + in: query + description: Excludes scripts with a URL that contains one of the URL-encoded URLs separated by commas. + required: false + schema: + type: string + hosts: + name: hosts + in: query + description: Includes scripts that match one or more URL-encoded hostnames separated by commas. Wildcards are supported at the beginning and end of each hostname. + required: false + schema: + type: string + orderBy: + name: orderBy + in: query + description: The field used to sort returned scripts. + required: false + schema: + type: string + enum: + - first_seen_at + - last_seen_at + pageUrl: + name: pageUrl + in: query + description: Includes scripts that match one or more page URLs (separated by commas) where they were last detected. Wildcards are supported at the beginning and end of each page URL. + required: false + schema: + type: string + prioritizeMalicious: + name: prioritizeMalicious + in: query + description: When true, lists malicious scripts first in the returned scripts. + required: false + schema: + type: boolean + status: + name: status + in: query + description: Filters the returned scripts using a comma-separated list of script statuses. Accepted values are 'active', 'infrequent', and 'inactive'. Default is 'active'. + required: false + schema: + type: string + urls: + name: urls + in: query + description: Includes scripts with a URL that contains one or more URL-encoded URLs separated by commas. + required: false + schema: + type: string + scriptId: + name: scriptId + in: path + required: true + schema: + type: string + groupIdPath: + name: groupId + in: path + description: WAF Group that contains the WAF rules. + example: f90712123fb02287348dd34c0a282bb9 + required: true + schema: + type: string + groupIdQuery: + name: groupId + in: query + description: WAF Group that contains the WAF rules. + example: f90712123fb02287348dd34c0a282bb9 + required: false + schema: + type: string + ruleId: + name: ruleId + in: path + required: true + schema: + type: string + certificateId: + name: certificateId + in: path + required: true + schema: + type: string + customHostnameId: + name: customHostnameId + in: path + required: true + schema: + type: string + rulesetId: + name: rulesetId + in: path + required: true + schema: + type: string + jobId: + name: jobId + in: path + required: true + schema: + type: string + type: + name: type + in: path + description: The type of origin header modification. Only the `mrt` type is supported. + required: true + schema: + type: string + examples: + StorefrontZoneCreateRequestBodyExample: + value: + domainName: cc-merchant.com + StorefrontZoneCreateResponse: + value: + data: + zoneId: 023e105f4ecef8ad9ca31a8372d0c353 + zoneName: stg-zzzz-cc-merchant-com.cc-ecdn.net + createdOn: '2022-01-01T05:20:00.12345Z' + status: active + BadRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + title: Bad Request + detail: Request body contains 1 or more attributes that contains errors. + Unauthorized: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized + title: UnAuthorized Access + detail: The authorization token passed is no longer valid + Forbidden: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden-access + title: Forbidden + detail: Access to requested resource is forbidden. + NotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/resource-not-found + title: Not Found + detail: Requested resource was not found + InternalServerError: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/internal-server + title: Internal Server Error + detail: An internal server error occured. Please contact support. + MtlsCodeUploadGetCertificatesResponse: + value: + data: + - mtlsCertificateId: 465a48f6-3d98-4c15-9312-211984ee8629 + expiresOn: '2022-01-12T04:15:57Z' + issuer: DigiCert + signature: SHA256WithRSA + uploadedOn: '2020-01-12T04:15:57Z' + ca: true + serialNumber: '432217133297895665180570788458463042229861757760' + mtlsCertificateName: mtls_cert_name + mtlsAssociatedCodeUploadHostname: mtls.cert.salesforce.com + - mtlsCertificateId: 465a48f6-3d98-4c15-9312-211984ee8630 + expiresOn: '2022-01-12T04:15:57Z' + issuer: DigiCert + signature: SHA256WithRSA + uploadedOn: '2020-01-12T04:15:57Z' + ca: true + serialNumber: '432217133297895665180570788458463042229861757761' + mtlsCertificateName: mtls_cert_name + mtlsAssociatedCodeUploadHostname: mtls.cert.salesforce.com + MtlsCodeUploadPostCertificateRequestBodyExample: + value: + name: mtls_cert_name + certificate: |- + -----BEGIN CERTIFICATE----- + MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV + BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX + aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF + MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50 + ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB + CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1 + CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB + KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5 + 0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI + dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2 + izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4 + 9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI + GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV + BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF + MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2 + 2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP + Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG + SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq + 2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw + YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY= + -----END CERTIFICATE----- + privateKey: |- + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG + dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn + abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid + tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py + FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE + ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb + HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/ + axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb + +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g + +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv + KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7 + 9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo + /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu + iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9 + N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe + VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB + vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U + lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR + 9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7 + mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX + dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe + PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS + fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W + qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T + lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi + -----END RSA PRIVATE KEY----- + MtlsCodeUploadGetCertificateResponse: + value: + data: + mtlsCertificateId: 465a48f6-3d98-4c15-9312-211984ee8629 + expiresOn: '2022-01-12T04:15:57Z' + issuer: DigiCert + signature: SHA256WithRSA + uploadedOn: '2020-01-12T04:15:57Z' + ca: true + serialNumber: '432217133297895665180570788458463042229861757760' + mtlsCertificateName: mtls_cert_name + mtlsAssociatedCodeUploadHostname: mtls.cert.salesforce.com + PageShieldPoliciesGetResponse: + value: + data: + - action: log + description: example page shield policy 1 + enabled: true + expression: (http.request.full_uri contains "/Checkout-Begin" and http.host eq "www.example.com") + value: script-src salesforce.com *.salesforce.com https://www.example.com/on/demandware.static/Sites-RefArch-Site/-/en_US/v1738096133818/js/checkout.js 'unsafe-inline' + id: 4805ab87bb867579757a4564ba46ebca + - action: log + description: example page shield policy 2 + enabled: true + expression: ends_with(http.request.uri.path, "/test1") + value: script-src 'none' + id: 7650c87c9c2846c296ea4564ba46ebca + PageShieldPolicyRequestBodyExample: + value: + action: log + description: example page shield policy + enabled: true + expression: ends_with(http.request.uri.path, "/test1") + value: script-src 'none' + PageShieldPolicyGetResponse: + value: + data: + action: log + description: example page shield policy + enabled: true + expression: ends_with(http.request.uri.path, "/test1") + value: script-src 'none' + id: 7650c87c9c2846c296ea4564ba46ebca + PageShieldPolicyPutRequestBodyExample: + value: + action: allow + enabled: true + PageShieldPolicyPutResponse: + value: + data: + action: allow + description: example page shield policy + enabled: true + expression: ends_with(http.request.uri.path, "/test1") + value: script-src 'none' + id: 7650c87c9c2846c296ea4564ba46ebca + ZonesGetResponse: + value: + data: + - zoneId: e4288c0a1f80fa5490b598d74c69bde4 + name: sfcc-cdn.net + status: pending + WafGroupsGetResponse: + value: + data: + - groupId: f90712123fb02287348dd34c0a282bb9 + mode: 'on' + description: 'This WAF Group contains a number of rules that have been created to deal with specific attack types. ' + - groupId: da9d75b083345c63f48e6fde5f617a8b + mode: 'on' + description: This WAF Group contains rules to deal with known malicious traffic or patch flaws in specific web applications. + WafGroupPutRequestBodyExample: + value: + action: monitor + mode: 'on' + WafGroupPutResponse: + value: + data: + groupId: f90712123fb02287348dd34c0a282bb9 + mode: 'on' + description: 'This WAF Group contains a number of rules that have been created to deal with specific attack types. ' + WafRulesGetResponse: + value: + data: + - ruleId: '100001' + groupId: f90712123fb02287348dd34c0a282bb9 + action: monitor + defaultAction: challenge + description: Anomaly:Header:User-Agent - Missing + - ruleId: '100002' + groupId: f90712123fb02287348dd34c0a282bb9 + action: monitor + defaultAction: challenge + description: DoS - IE6 Binary POST + - ruleId: 100002A + groupId: f90712123fb02287348dd34c0a282bb9 + action: monitor + defaultAction: challenge + description: DoS - CtrlFunc Botnet + WafRuleGetResponse: + value: + data: + ruleId: '100001' + groupId: f90712123fb02287348dd34c0a282bb9 + action: monitor + defaultAction: challenge + description: Anomaly:Header:User-Agent - Missing + WafRulePutRequestBodyExample: + value: + action: monitor + WafRulePutResponse: + value: + data: + ruleId: '100001' + groupId: f90712123fb02287348dd34c0a282bb9 + action: monitor + defaultAction: challenge + description: 'Anomaly:Header:User-Agent - Missing ' + SpeedSettingsResponse: + value: + data: + brotliCompression: 'off' + http2Prioritization: 'off' + webp: 'off' + polish: 'off' + earlyHints: 'off' + http3: 'off' + http2ToOrigin: 'off' + SpeedSettingsPatchRequestBodyExample: + value: + brotliCompression: 'off' + http2Prioritization: 'off' + SecuritySettingsResponse: + value: + data: + hsts: + enabled: false + includeSubdomains: false + maxAge: 200 + preload: false + securityLevel: medium + tls13Enabled: false + alwaysUseHttps: true + SecuritySettingsUpdateRequestBodyExample: + value: + hsts: + enabled: false + preload: true + securityLevel: high + tls13Enabled: true + alwaysUseHttps: true + CertificatesGetResponse1: + value: + data: + - certificateId: 14b72e2c-db8e-40ec-9f89-d80ca431a36e + status: PENDING_VALIDATION + minTlsVersion: '1.2' + certificateType: automatic + certificateAuthority: google + certificateValidation: txt + certificateVerificationTXTName: _acme-challenge.test.example.com + certificateVerificationTXTValue: DBCtxdyQSyo9eXxys-uGVCwPFHLsc8_lu11QetQz4IA + certificateVerificationStatus: PENDING + customHostnameId: 6c8beb36-a679-4eca-a09a-e3d6aca12787 + customHostname: test.example.com + customHostnameStatus: ACTIVE + - certificateId: 16b3f671-de15-4ba8-8c02-84ba011b7751 + hosts: + - shop.example.com + expiresOn: '2024-05-27T22:58:10Z' + uploadedOn: '2024-02-27T22:58:11Z' + issuer: LetsEncrypt + signature: SHA256WithRSA + status: ACTIVE + minTlsVersion: '1.2' + certificateType: automatic + certificateAuthority: lets_encrypt + certificateValidation: http + customHostnameId: dd625c6d-8553-4d14-abc2-6d747866c8d9 + customHostname: shop.example.com + customHostnameStatus: ACTIVE + - certificateId: f135013c-2bf7-4225-b043-84cf35a93e12 + hosts: + - '*.example.com' + expiresOn: '2024-04-09T20:36:39Z' + uploadedOn: '2024-03-19T22:32:41Z' + issuer: LetsEncrypt + signature: SHA256WithRSA + status: ACTIVE + minTlsVersion: '1.2' + certificateType: custom + customHostnameId: 6567aee6-bdbe-4cb1-9f4b-73209c5e867a + customHostname: www.example.com + customHostnameStatus: ACTIVE + CertificatesGetResponse2: + value: + data: + - certificateId: dc95610a-9a20-4e24-b6d6-232df5fc32d1 + hosts: + - shop.example.com + expiresOn: '2024-05-14T23:00:45Z' + uploadedOn: '2024-03-19T21:28:36Z' + issuer: LetsEncrypt + signature: SHA256WithRSA + status: ACTIVE + certificateType: custom_legacy + - certificateId: 3a2a71c6-c00f-41c4-86dd-d6dc434851d5 + hosts: + - www.example.com + expiresOn: '2024-04-15T17:07:59Z' + uploadedOn: '2024-03-19T21:28:36Z' + issuer: LetsEncrypt + signature: SHA256WithRSA + status: ACTIVE + certificateType: custom_legacy + CertificatePostRequestBodyExample: + value: + hostname: www.salesforce.com + certificate: |- + -----BEGIN CERTIFICATE----- + MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV + BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX + aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF + MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50 + ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB + CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1 + CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB + KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5 + 0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI + dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2 + izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4 + 9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI + GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV + BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF + MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2 + 2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP + Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG + SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq + 2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw + YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY= + -----END CERTIFICATE----- + privateKey: |- + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG + dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn + abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid + tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py + FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE + ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb + HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/ + axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb + +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g + +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv + KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7 + 9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo + /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu + iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9 + N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe + VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB + vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U + lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR + 9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7 + mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX + dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe + PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS + fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W + qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T + lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi + -----END RSA PRIVATE KEY----- + CertificatePostResponse1: + value: + data: + certificateId: 730a1be4-22d7-11eb-aff1-0242ac120002 + status: ACTIVE + hosts: + - salesforce.com + expiresOn: '2022-01-12T04:15:57Z' + uploadedOn: '2020-01-12T04:15:57Z' + issuer: DigiCert + signature: SHA256WithRSA + certificateType: custom + customHostnameVerificationTXTName: _salesforce.com + customHostnameVerificationTXTValue: 4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e + customHostnameId: 465a48f6-3d98-4c15-9312-211984ee8629 + customHostname: test.salesforce.com + customHostnameStatus: ACTIVE + CertificatePostResponse2: + value: + data: + certificateId: 730a1be4-22d7-11eb-aff1-0242ac120002 + hosts: + - salesforce.com + expiresOn: '2022-01-12T04:15:57Z' + uploadedOn: '2020-01-12T04:15:57Z' + status: PENDING + certificateType: automatic + certificateAuthority: google + certificateValidation: txt + certificateVerificationTXTName: _acme-challenge.test.example.com + certificateVerificationTXTValue: SH5Yet8S5dBwPXcRcCjXdf9FXMBVnQjihQ8oN8LoMv0 + certificateVerificationStatus: PENDING + customHostnameVerificationTXTName: _salesforce.com + customHostnameVerificationTXTValue: 4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e + customHostnameId: 465a48f6-3d98-4c15-9312-211984ee8629 + customHostname: test.salesforce.com + customHostnameStatus: ACTIVE + Conflict: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/conflicted + title: Resource Conflict + detail: The request made for the resource is not valid. + CertificateUpdateRequestBodyExample: + value: + hostname: www.salesforce.com + certificate: |- + -----BEGIN CERTIFICATE----- + MIIDtTCCAp2gAwIBAgIJAMHAwfXZ5PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV + BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX + aWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF + MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50 + ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB + CgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1 + CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB + KwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5 + 0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI + dZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2 + izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4 + 9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBTLbE49rWf288N6sJA5BRb6FJI + GKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV + BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF + MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2 + 2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP + Mlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG + SvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq + 2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw + YbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY= + -----END CERTIFICATE----- + privateKey: |- + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG + dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn + abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid + tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py + FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE + ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb + HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/ + axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb + +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g + +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv + KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7 + 9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo + /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu + iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9 + N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe + VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB + vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U + lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR + 9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7 + mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX + dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe + PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS + fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W + qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T + lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi + -----END RSA PRIVATE KEY----- + CertificateUpdateResponse1: + value: + data: + certificateId: 730a1be4-22d7-11eb-aff1-0242ac120002 + status: ACTIVE + hosts: + - salesforce.com + expiresOn: '2022-01-12T04:15:57Z' + uploadedOn: '2020-01-12T04:15:57Z' + customHostnameVerificationTXTName: _salesforce.com + customHostnameVerificationTXTValue: 4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e + customHostnameId: 465a48f6-3d98-4c15-9312-211984ee8629 + customHostname: test.salesforce.com + customHostnameStatus: ACTIVE + certificateType: custom + CertificateUpdateResponse2: + value: + data: + certificateId: 730a1be4-22d7-11eb-aff1-0242ac120002 + hosts: + - salesforce.com + expiresOn: '2022-01-12T04:15:57Z' + uploadedOn: '2020-01-12T04:15:57Z' + status: PENDING + certificateType: automatic + certificateAuthority: google + certificateValidation: txt + certificateVerificationTXTName: _acme-challenge.test.example.com + certificateVerificationTXTValue: SH5Yet8S5dBwPXcRcCjXdf9FXMBVnQjihQ8oN8LoMv0 + certificateVerificationStatus: PENDING + customHostnameVerificationTXTName: _salesforce.com + customHostnameVerificationTXTValue: 4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e + customHostnameId: 465a48f6-3d98-4c15-9312-211984ee8629 + customHostname: test.salesforce.com + customHostnameStatus: ACTIVE + CustomHostnamesPatchResponse: + value: + data: + customHostnameId: 465a48f6-3d98-4c15-9312-211984ee8629 + customHostname: test.salesforce.com + customHostnameVerificationTXTName: _salesforce.com + customHostnameVerificationTXTValue: 4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e + customHostnameStatus: ACTIVE + MrtRulesGetResponse: + value: + data: + ruleset: + id: 12345678901234asdfasfasdf1234567 + name: MRT Rules + lastUpdated: '2022-09-27T18:32:34.675182Z' + rules: + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "/on/path1/.*" or http.request.uri.path matches "/on/path2/.*" or http.request.uri.path matches ".*routeDetails=true" or http.request.uri.path eq "/path3.txt" )) + description: Phased rollout rule for dev-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1234567 + enabled: true + mrtHostname: customer.mobify-storefront.com + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host in {"test-customer.salesforce.com" "test2-customer.salesforce.com"} and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + description: Phased rollout rule for test-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1233333 + enabled: true + mrtHostname: customer.mobify-storefront.com + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host eq "prd-customer.salesforce.com" and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + description: Phased rollout rule for prd-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 98745678901234asdfasfasdf1234567 + enabled: true + mrtHostname: customer.mobify-storefront.com + MrtRulesPostRequestSingleHostnameBodyExample: + value: + mrtHostname: customer.mobify-storefront.com + expressions: + - (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "/on/path1/.*" or http.request.uri.path matches "/on/path2/.*" or http.request.uri.path matches ".*routeDetails=true" or http.request.uri.path eq "/path3.txt" )) + descriptions: + - Phased rollout rule for dev-customer.salesforce.com + MrtRulesPostRequestMultipleHostnamesBodyExample: + value: + mrtHostname: customer.mobify-storefront.com + expressions: + - (http.host in {"test-customer.salesforce.com" "test2-customer.salesforce.com"} and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + descriptions: + - Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com + MrtRulesPostResponseSingleHostname: + value: + data: + ruleset: + id: 12345678901234asdfasfasdf1234567 + name: MRT Rules + lastUpdated: '2022-09-27T18:32:34.675182Z' + rules: + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "/on/path1/.*" or http.request.uri.path matches "/on/path2/.*" or http.request.uri.path matches ".*routeDetails=true" or http.request.uri.path eq "/path3.txt" )) + description: Phased rollout rule for dev-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1234567 + enabled: true + mrtHostname: customer.mobify-storefront.com + MrtRulesPostResponseMultipleHostnames: + value: + data: + ruleset: + id: 12345678901234asdfasfasdf1234567 + name: MRT Rules + lastUpdated: '2022-09-27T18:32:34.675182Z' + rules: + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host in {"test-customer.salesforce.com" "test2-customer.salesforce.com"} and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + description: Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1234567 + enabled: true + mrtHostname: customer.mobify-storefront.com + MrtRulesetPatchRequestUpdateHostnameBodyExample: + value: + oldMrtHostname: old-hostname.mobify-storefront.com + mrtHostname: new-hostname.mobify-storefront.com + MrtRulesetPatchRequestAddRulesBodyExample: + value: + mrtHostname: customer.mobify-storefront.com + expressions: + - (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "/on/path1/.*" or http.request.uri.path matches "/on/path2/.*" or http.request.uri.path matches ".*routeDetails=true" or http.request.uri.path eq "/path3.txt" )) + - (http.host in {"test-customer.salesforce.com" "test2-customer.salesforce.com"} and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + descriptions: + - Phased rollout rule for dev-customer.salesforce.com + MrtRulesetPatchResponseUpdateHostname: + value: + data: + ruleset: + id: 12345678901234asdfasfasdf1234567 + name: MRT Rules + lastUpdated: '2022-09-27T18:32:34.675182Z' + rules: + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "/on/path1/.*" or http.request.uri.path matches "/on/path2/.*" or http.request.uri.path matches ".*routeDetails=true" or http.request.uri.path eq "/path3.txt" )) + description: Phased rollout rule for dev-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1234567 + enabled: true + mrtHostname: new-hostname.mobify-storefront.com + - id: 12345678901234asdfasfasdf1234568 + expression: (http.host in {"test-customer.salesforce.com" "test2-customer.salesforce.com"} and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + description: Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1234568 + enabled: true + mrtHostname: new-hostname.mobify-storefront.com + MrtRulesetPatchResponseAddRules: + value: + data: + ruleset: + id: 12345678901234asdfasfasdf1234567 + name: MRT Rules + lastUpdated: '2022-09-27T18:32:34.675182Z' + rules: + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "/on/path1/.*" or http.request.uri.path matches "/on/path2/.*" or http.request.uri.path matches ".*routeDetails=true" or http.request.uri.path eq "/path3.txt" )) + description: Phased rollout rule for dev-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1234567 + enabled: true + mrtHostname: customer.mobify-storefront.com + - id: 12345678901234asdfasfasdf1234568 + expression: (http.host in {"test-customer.salesforce.com" "test2-customer.salesforce.com"} and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + description: Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com + lastUpdated: '2022-09-15T21:14:42.372459Z' + ref: 12345678901234asdfasfasdf1234568 + enabled: true + mrtHostname: customer.mobify-storefront.com + MrtRulePatchRequestBodyExample: + value: + enabled: true + expression: (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + description: Phased rollout rule for dev-customer.salesforce.com + MrtRulePatchResponse: + value: + data: + ruleset: + id: 12345678901234asdfasfasdf1234567 + name: MRT Rules + lastUpdated: '2022-09-15T21:14:42.372459Z' + rules: + - id: 12345678901234asdfasfasdf1234567 + expression: (http.host eq "dev-customer.salesforce.com" and not ( http.request.uri.path matches "^/path4/.*" or http.request.uri.path matches "^.*/path5/.*/products/.*")) + description: Phased rollout rule for dev-customer.salesforce.com + lastUpdated: '2022-09-27T18:32:34.675182Z' + ref: 12345678901234asdfasfasdf1234567 + enabled: true + mrtHostname: customer.mobify-storefront.com + LogpushOwnershipPostRequestBodyExample: + value: + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + LogpushOwnershipPostResponse: + value: + data: + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + fileName: site-name/20230101/ownership-challenge-f1234567.txt + LogpushGetListJob: + value: + data: + - jobId: 123456 + name: example1-job-name + logType: http_requests + logFields: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + lastComplete: '2023-03-14T02:09:32Z' + createdOn: '2023-01-01T00:00:27Z' + - jobId: 123457 + name: example2-job-name + logType: firewall_events + logFields: + - RuleID + - ClientRequestUserAgent + - ClientRequestPath + filter: '{"where":{"and":[{"key":"ClientRequestPath","operator":"contains","value":"/example-path"}, {"key":"EdgeResponseStatus","operator":"in","value":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}' + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + lastComplete: '2023-03-22T02:09:32Z' + createdOn: '2023-01-03T00:00:27Z' + - jobId: 123458 + name: example3-job-name + logType: page_shield_events + logFields: + - Action + - CSPDirective + - Host + - PageURL + - PolicyID + - ResourceType + - Timestamp + - URL + - URLHost + destinationPath: s3://customer-bucket/site-name/page-shield-events/{DATE}?region=us-east-1&sse=AES256 + lastComplete: '2025-01-02T02:09:32Z' + createdOn: '2025-01-01T00:00:27Z' + LogpushCreateRequestBodyExample1: + value: + name: example-job-name + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + ownershipChallengeToken: abc00000000000000000000 + logFields: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + logType: http_requests + LogpushCreateRequestBodyExample2: + value: + name: example-job-name-with-filter + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + ownershipChallengeToken: abc00000000000000000000 + logFields: + - ClientRequestBytes + - ClientRequestPath + - ClientRequestHost + - ClientRequestMethod + - EdgeResponseStatus + filter: '{"where":{"and":[{"key":"ClientRequestPath","operator":"contains","value":"/example-path"}, {"key":"EdgeResponseStatus","operator":"in","value":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}' + logType: http_requests + LogpushCreateRequestBodyExample3: + value: + name: example-job-name + destinationPath: s3://customer-bucket/site-name/page-shield-events/{DATE}?region=us-east-1&sse=AES256 + ownershipChallengeToken: abc00000000000000000000 + logFields: + - Action + - CSPDirective + - Host + - PageURL + - PolicyID + - ResourceType + - Timestamp + - URL + - URLHost + logType: page_shield_events + LogpushCreateResponse1: + value: + data: + jobId: 123456 + name: example-job-name + logType: http_requests + logFields: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + enabled: false + createdOn: '2023-01-01T00:00:27Z' + LogpushCreateResponse2: + value: + data: + jobId: 123456 + name: example-job-name-with-filter + logType: http_requests + logFields: + - ClientRequestBytes + - ClientRequestPath + - ClientRequestHost + - ClientRequestMethod + - EdgeResponseStatus + filter: '{"where":{"and":[{"key":"ClientRequestPath","operator":"contains","value":"/example-path"}, {"key":"EdgeResponseStatus","operator":"in","value":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}' + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + enabled: false + createdOn: '2023-01-01T00:00:27Z' + LogpushCreateResponse3: + value: + data: + jobId: 123458 + name: example-job-name + logType: page_shield_events + logFields: + - Action + - CSPDirective + - Host + - PageURL + - PolicyID + - ResourceType + - Timestamp + - URL + - URLHost + destinationPath: s3://customer-bucket/site-name/page-shield-events/{DATE}?region=us-east-1&sse=AES256 + enabled: true + createdOn: '2025-01-01T00:00:27Z' + LogpushGetJobById1: + value: + data: + jobId: 123456 + name: example-job-name + logType: http_requests + logFields: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + lastComplete: '2023-03-14T02:09:32Z' + createdOn: '2023-01-01T00:00:27Z' + LogpushGetJobById2: + value: + data: + jobId: 123456 + name: example-job-name + logType: http_requests + logFields: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + lastComplete: '2023-03-14T02:09:32Z' + lastError: '2023-03-16T02:00:00Z' + errorMessage: no permissions to write to destination bucket + createdOn: '2023-01-01T00:00:27Z' + LogpushGetJobById3: + value: + data: + jobId: 123456 + name: example-job-name + logType: http_requests + logFields: + - ClientRequestBytes + - ClientRequestPath + - ClientRequestHost + - ClientRequestMethod + - EdgeResponseStatus + filter: '{"where":{"and":[{"key":"ClientRequestPath","operator":"contains","value":"/example-path"}, {"key":"EdgeResponseStatus","operator":"in","value":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}' + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + lastComplete: '2023-03-14T02:09:32Z' + createdOn: '2023-01-01T00:00:27Z' + LogpushUpdateRequestBodyExample: + value: + enabled: true + filter: '{"where":{"key":"ClientRequestPath","operator":"contains","value":"/example-path"}}' + logFields: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + LogpushUpdateResponse: + value: + data: + jobId: 123456 + name: example-job-name + enabled: true + logType: http_requests + logFields: + - ClientRequestBytes + - ClientRequestHost + - ClientRequestMethod + destinationPath: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 + lastComplete: '2023-03-14T02:09:32Z' + lastError: '2023-01-01T00:00:27Z' + errorMessage: '' + WafPackagesGetExample: + value: + data: + id: c504870194831cd12c3fc0284f294abb + name: OWASP ModSecurity Core Rule Set + description: OWASP Core Ruleset (2013) provides protection against common attack categories, including SQL Injection and Cross-Site Scripting. + zone_id: 56702a674281951f541f9f304f7431f0 + detection_mode: anomaly + sensitivity: low + action_mode: simulate + WafPackagesPatchRequestBodyExample: + value: + sensitivity: low + action_mode: simulate + CustomRulesResponse: + value: + data: + - ruleId: ffffe61cf25e4ec49c34b029ff3060f7 + description: Block traffic for malformed URL requests + expression: (http.request.uri.path matches "^/path1/.*") + actions: + - block + lastUpdated: '2022-12-14T21:25:22.329194Z' + enabled: false + - ruleId: 2c0fc9fa937b11eaa1b71c4d701ab86e + description: Skip user agent + expression: (http.user_agent contains "Client") + actions: + - skip_custom_rules, skip_waf + lastUpdated: '2022-12-14T21:30:34.263795Z' + enabled: true + CustomRulesPostRequestBodyExample: + value: + description: Block traffic for malformed URL requests + expression: (http.request.uri.path matches "^/path1/.*") + actions: + - block + enabled: false + position: + before: 2c0fc9fa937b11eaa1b71c4d701ab86e + CustomRuleResponse: + value: + data: + ruleId: ffffe61cf25e4ec49c34b029ff3060f7 + description: Block traffic for malformed URL requests + expression: (http.request.uri.path matches "^/path1/.*") + actions: + - block + lastUpdated: '2022-12-14T21:25:22.329194Z' + enabled: false + RateLimitingRulesResponse: + value: + data: + - ruleId: ffffe61cf25e4ec49c34b029ff3060f7 + description: Rate limit /path1 + expression: http.request.uri.path matches "^/path1/.*" + characteristics: + - cf.unique_visitor_id + action: block + period: 60 + requestsPerPeriod: 50 + mitigationTimeout: 600 + countingExpression: http.request.uri.path matches "^/path1/.*" and http.response.code eq 400 + enabled: false + lastUpdated: '2022-12-14T21:25:22.329194Z' + - ruleId: 2c0fc9fa937b11eaa1b71c4d701ab86e + description: Rate limit AS number 12345 + expression: ip.src.asnum eq 12345 + characteristics: + - ip.src + action: managed_challenge + period: 600 + requestsPerPeriod: 1000 + mitigationTimeout: 0 + enabled: true + lastUpdated: '2022-12-14T21:47:24.323223Z' + RateLimitingRulesPostRequestBodyExample: + value: + description: Rate limit /path1 + expression: http.request.uri.path matches "^/path1/.*" + characteristics: + - cf.unique_visitor_id + action: block + period: 60 + requestsPerPeriod: 50 + mitigationTimeout: 600 + countingExpression: http.request.uri.path matches "^/path1/.*" and http.response.code eq 400 + enabled: false + position: + before: 2c0fc9fa937b11eaa1b71c4d701ab86e + RateLimitingRuleResponse: + value: + data: + ruleId: ffffe61cf25e4ec49c34b029ff3060f7 + description: Rate limit /path1 + expression: http.request.uri.path matches "^/path1/.*" + characteristics: + - cf.unique_visitor_id + action: block + period: 60 + requestsPerPeriod: 50 + mitigationTimeout: 600 + countingExpression: http.request.uri.path matches "^/path1/.*" and http.response.code eq 400 + enabled: false + lastUpdated: '2022-12-14T21:25:22.329194Z' + WAFManagedRulesetsResponse: + value: + data: + - name: Managed Ruleset + rulesetId: efb7b8c949ac4650a09736fc376e9aee + action: default + enabled: true + - name: OWASP Core Ruleset + rulesetId: 4814384a9e5d4991b9815dcfc25d2f1f + action: log + anomalyScoreThreshold: 25 + anomalyScore: high + paranoiaLevel: 1 + enabled: true + - name: Leaked Crednetials Check Ruleset + rulesetId: c2e184081120413c86c3ab7e14069605 + action: block + enabled: true + WAFManagedRulesetsUpdateRequestBodyExample: + value: + action: js_challenge + enabled: true + WAFManagedRulesetsUpdateResponse: + value: + data: + name: Managed Ruleset + rulesetId: efb7b8c949ac4650a09736fc376e9aee + action: js_challenge + enabled: true + WAFManagedRulesResponse: + value: + data: + - ruleId: 8ac8bc2a661e475d940980f9317f28e1 + action: block + score: 5 + categories: + - application-multi + - attack-generic + - capec-1000 + - capec-210 + - capec-220 + - capec-272 + - capec-274 + - language-multi + - paranoia-level-1 + - pci-12-1 + - platform-multi + description: '911100: Method is not allowed by policy' + lastUpdated: '2024-08-19T17:26:58.593021Z' + enabled: false + - ruleId: 53065ac9bd9449f3895f1865467a0e6a + action: block + score: 5 + categories: + - application-multi + - attack-reputation-scanner + - capec-1000 + - capec-118 + - capec-224 + - capec-310 + - capec-541 + - language-multi + - paranoia-level-1 + - pci-6-5-10 + - platform-multi + description: '913100: Found User-Agent associated with security scanner' + lastUpdated: '2024-08-19T17:26:58.593021Z' + enabled: true + WAFManagedRulesUpdateRequestBodyExample: + value: + action: log + enabled: true + WAFManagedRulesUpdateResponse: + value: + data: + ruleId: 53065ac9bd9449f3895f1865467a0e6a + action: log + score: 5 + categories: + - application-multi + - attack-reputation-scanner + - capec-1000 + - capec-118 + - capec-224 + - capec-310 + - capec-541 + - language-multi + - paranoia-level-1 + - pci-6-5-10 + - platform-multi + description: '913100: Found User-Agent associated with security scanner' + lastUpdated: '2024-08-19T17:26:58.593021Z' + enabled: true + MrtGetResponse: + value: + data: + headerName: x-sfdc-access-control + headerValue: '********789' + lastUpdated: '2024-04-27T18:32:34.675182Z' + MrtPutRequestBodyExample: + value: + headerValue: '123456789' + MrtPutUpdateResponse: + value: + data: + headerName: x-sfdc-access-control + headerValue: '********789' + lastUpdated: '2024-04-27T18:32:34.675182Z' + MrtPutCreateResponse: + value: + data: + headerName: x-sfdc-access-control + headerValue: '********789' + lastUpdated: '2024-04-27T18:32:34.675182Z' + CipherSettingsGetResponse: + value: + data: + ciphers: + - ECDHE-ECDSA-AES128-GCM-SHA256 + - ECDHE-RSA-AES128-GCM-SHA256 + cipherSuiteType: Custom + CipherSettingsPatchRequestBodyExample: + value: + ciphers: + - ECDHE-ECDSA-AES128-GCM-SHA256 + cipherSuiteType: Custom + CipherSettingsPatchResponse: + value: + data: + ciphers: + - ECDHE-ECDSA-AES128-GCM-SHA256 + cipherSuiteType: Custom diff --git a/apis/cdn-api-process-apis-oas/cdn-api-process-apis-oas-1.0.38/exchange.json b/apis/cdn-api-process-apis-oas/cdn-api-process-apis-oas-1.0.38/exchange.json new file mode 100644 index 00000000..5fb5d9cd --- /dev/null +++ b/apis/cdn-api-process-apis-oas/cdn-api-process-apis-oas-1.0.38/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "cdn-api-process-apis-oas-v1-public.yaml", + "name": "CDN API - Process APIs OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "cdn-api-process-apis-oas", + "version": "1.0.38", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/.metadata.json b/apis/cdn/cdn-api-process-apis/.metadata.json deleted file mode 100644 index 6ee2c17a..00000000 --- a/apis/cdn/cdn-api-process-apis/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/cdn-api-process-apis/1.0.36", - "name": "CDN Zones", - "description": "Extend your eCDN beyond Business Manager configuration.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "cdn-api-process-apis", - "version": "1.0.36", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "CDN" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/cdn/cdn-api-process-apis/cdn-zones-description.md b/apis/cdn/cdn-api-process-apis/cdn-zones-description.md deleted file mode 100644 index 09c3e9e2..00000000 --- a/apis/cdn/cdn-api-process-apis/cdn-zones-description.md +++ /dev/null @@ -1,24 +0,0 @@ -# API Overview - -The Content Delivery Network (CDN) API is for managing the embedded CDN (eCDN) that is included with Commerce Cloud and configured with Business Manager. - -Use the API to: - -- Ensure that traffic doesn’t circumvent proxies layered in front of your eCDN. -- Accelerate the delivery of resources to users with caching, compression, and prioritization. -- Customize how users interact with resources and how requests are processed, including custom pages and routing rules. -- Provide proactive and complete application protection against new and existing exploits from bad actors. - -## Authentication & Authorization - -For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the `Authorization` header of your API request. - -The API client must also have at least one of the following OAuth scopes: `sfcc.cdn-zones` or `sfcc.cdn-zones.rw`. - -For detailed setup instructions, see the [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html) guide. - -You must include the relevant scope(s) in the client ID used to generate the token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -For detailed usage information, refer to the [CDN Zones Guides.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones.html) \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/cdnapi-process-api.raml b/apis/cdn/cdn-api-process-apis/cdnapi-process-api.raml deleted file mode 100644 index 222bd3aa..00000000 --- a/apis/cdn/cdn-api-process-apis/cdnapi-process-api.raml +++ /dev/null @@ -1,1091 +0,0 @@ -#%RAML 1.0 -title: CDN Zones - -version: v1 -# description: Provides access to Commerce Cloud Digital CDN-related functionality. -description: !include cdn-zones-description.md - -documentation: - - title: Use Cases - content: !include use-cases.md - - title: Glossary - content: !include glossary.md - -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/cdn/zones/{version} -baseUriParameters: - shortCode: - description: Region-specific merchant identifier. - example: 0dnz6oep - -mediaType: application/json - -uses: - ApiStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - - Zone: !include dataTypes/Zone.raml - WafGroup: !include dataTypes/WAFGroup.raml - WafRule: !include dataTypes/WAFRule.raml - FirewallRule: !include dataTypes/FirewallRule.raml - ErrorResponse: ApiStandards.ErrorResponse - CollectionResponseEnvelope: !include dataTypes/CollectionResponseEnvelope.raml - ItemResponseEnvelope: !include dataTypes/ItemResponseEnvelope.raml - SpeedSetting: !include dataTypes/SpeedSetting.raml - Certificate: !include dataTypes/Certificate.raml - CertificateRequest: !include dataTypes/CertificateRequest.raml - OCAPICachingToggleRequest: !include dataTypes/OCAPICachingToggleRequest.raml - CachePurgeRequest: !include dataTypes/CachePurgeRequest.raml - CachePurgeResponse: !include dataTypes/CachePurgeResponse.raml - StorefrontZoneCreateRequest: !include dataTypes/StorefrontZoneCreateRequest.raml - StorefrontZoneCreateResponse: !include dataTypes/StorefrontZoneCreateResponse.raml - CustomHostnameValidationResponse: !include dataTypes/CustomHostnameValidationResponse.raml - Hsts: !include dataTypes/Hsts.raml - SecuritySetting: !include dataTypes/SecuritySetting.raml - MRTRulesPostRequest: !include dataTypes/MRTRulesPostRequest.raml - MRTRulePatchRequest: !include dataTypes/MRTRulePatchRequest.raml - MRTRulesetPatchRequest: !include dataTypes/MRTRulesetPatchRequest.raml - MRTRulesResponse: !include dataTypes/MRTRulesResponse.raml - MRTRuleset: !include dataTypes/MRTRuleset.raml - MRTRules: !include dataTypes/MRTRules.raml - LogpushOwnershipPostRequest: !include dataTypes/LogpushOwnershipPostRequest.raml - LogpushOwnershipPostResponse: !include dataTypes/LogpushOwnershipPostResponse.raml - LogpushCreateRequest: !include dataTypes/LogpushCreateRequest.raml - LogpushResponse: !include dataTypes/LogpushResponse.raml - LogpushUpdateRequest: !include dataTypes/LogpushUpdateRequest.raml - CustomRulesPostRequest: !include dataTypes/CustomRulesPostRequest.raml - CustomRulesPatchRequest: !include dataTypes/CustomRulesPatchRequest.raml - CustomRulesPatchOrderRequest: !include dataTypes/CustomRulesPatchOrderRequest.raml - CustomRule: !include dataTypes/CustomRule.raml - RulePosition: !include dataTypes/RulePosition.raml - RateLimitingRule: !include dataTypes/RateLimitingRule.raml - RateLimitingRulesPostRequest: !include dataTypes/RateLimitingRulesPostRequest.raml - RateLimitingRulesPatchRequest: !include dataTypes/RateLimitingRulesPatchRequest.raml - WAFManagedRuleset: !include dataTypes/WAFManagedRuleset.raml - WAFManagedRulesetRequest: !include dataTypes/WAFManagedRulesetRequest.raml - WAFManagedRule: !include dataTypes/WAFManagedRule.raml - WAFManagedRuleRequest: !include dataTypes/WAFManagedRuleRequest.raml - WafPackagePatchRequest: !include dataTypes/WafPackagePatchRequest.raml - WAFRulePackage: !include dataTypes/WAFRulePackage.raml - OriginHeaderModification: !include dataTypes/OriginHeaderModification.raml - OriginHeaderModificationPutRequest: !include dataTypes/OriginHeaderModificationPutRequest.raml - MtlsCertificateRequest: !include dataTypes/MtlsCertificateRequest.raml - MtlsCertificateResponse: !include dataTypes/MtlsCertificateResponse.raml - DCVDelegationRecord: !include dataTypes/DCVDelegationRecord.raml - - ZonesEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: Zone[] - ZoneEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: Zone - WafGroupsEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: WafGroup[] - WafGroupEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: WafGroup - WafRuleEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: WafRule - WafRulesEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: WafRule[] - SpeedSettingsEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: SpeedSetting - SecuritySettingsEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: SecuritySetting - WAFRulePackageEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: WAFRulePackage - CertificateEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: Certificate - CertificatesEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: Certificate[] - CachePurgeResponseEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: CachePurgeResponse - StorefrontZoneCreateEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: StorefrontZoneCreateResponse - CustomHostnameValidationEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: CustomHostnameValidationResponse - MRTRulesResponseEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: MRTRulesResponse - LogpushEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: LogpushResponse - LogpushJobsEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: LogpushResponse[] - CustomRuleEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: CustomRule - CustomRulesEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: CustomRule[] - RateLimitingRuleEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: RateLimitingRule - RateLimitingRulesEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: RateLimitingRule[] - WAFManagedRulesetsEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: WAFManagedRuleset[] - WAFManagedRulesetEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: WAFManagedRuleset - WAFManagedRulesEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: WAFManagedRule[] - WAFManagedRuleEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: WAFManagedRule - OriginHeaderModificationEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: OriginHeaderModification - MtlsCertificateResponseEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: MtlsCertificateResponse - MtlsCertificatesResponseEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: MtlsCertificateResponse[] - -traits: - hasUnauthorizedResponse: !include traits/HasUnauthorizedResponse.raml - hasForbiddenAccessResponse: !include traits/HasForbiddenAccessResponse.raml - hasInternalServerErrorResponse: !include traits/HasInternalServerErrorResponse.raml - hasResourceNotFoundResponse: !include traits/HasResourceNotFoundResponse.raml - hasBadRequestResponse: !include traits/HasBadRequestResponse.raml - hasConflictResponse: !include traits/HasConflictResponse.raml - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - - /storefront-zones: - post: - is: [hasBadRequestResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - displayName: createStorefrontZone - description: Create a new storefront zone. - body: - application/json: - type: StorefrontZoneCreateRequest - example: !include /examples/zone/storefront-zone-create-request.raml - responses: - '201': - description: Successfully created new storefront zone. - body: - application/json: - type: StorefrontZoneCreateEnvelope - example: !include /examples/zone/storefront-zone-create-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /mtls/code-upload-certificates: - get: - is: [hasBadRequestResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] - displayName: getCodeUploadCertificates - description: Returns all the mTLS certificates for the account. - responses: - '200': - description: Successfully retrieved details of the mTLS certificates requested by the - caller. - body: - application/json: - type: MtlsCertificatesResponseEnvelope - example: !include /examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - post: - is: [hasBadRequestResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - displayName: createCodeUploadCertificate - description: Set up two-factor mTLS certificates for the account and associate the staging zone code upload hostname. - body: - application/json: - type: MtlsCertificateRequest - example: !include /examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml - responses: - '201': - description: Returns information about the uploaded mTLS certificate. - body: - application/json: - type: MtlsCertificateResponseEnvelope - example: !include /examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /mtls/code-upload-certificates/{mtlsCertificateId}: - get: - is: [hasBadRequestResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] - displayName: getCodeUploadCertificate - description: Returns the mTLS certificate for the given account's mTLS certificate ID. - responses: - '200': - description: Successfully retrieved mTLS certificate information from the mTLS certificate ID requested by the caller. - body: - application/json: - type: MtlsCertificateResponseEnvelope - example: !include /examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - delete: - is: [ hasResourceNotFoundResponse ] - displayName: deleteCodeUploadCertificate - description: Removes an mTLS certificate and associated hostname. - responses: - 204: - description: Successfully deleted the mTLS certificate from the account. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/info: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse] - get: - is: [ApiStandards.OffsetPaginated: {maxLimit: 50, defaultSize: 25}, hasResourceNotFoundResponse] - displayName: getZonesInfo - description: Retrieves zone information. - responses: - '200': - description: Successfully retrieved zone information requested by the caller. - body: - application/json: - type: ZonesEnvelope - example: !include /examples/zone/zones-get-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - /zones/{zoneId}/waf/groups: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse] - get: - is: [hasResourceNotFoundResponse] - displayName: getWafGroups - description: Retrieves all WAF groups accessible to the caller. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets instead. - responses: - '200': - description: Successfully retrieved details of WAF groups that caller has access to. - body: - application/json: - type: WafGroupsEnvelope - example: !include /examples/waf/wafgroups-get-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - - /{groupId}: - put: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasBadRequestResponse] - displayName: updateWafGroup - description: Updates action or mode of a specific WAF group. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets instead. - body: - application/json: - type: WafGroup - example: !include /examples/waf/wafgroup-put-request.raml - responses: - '200': - description: Successfully updated the WAF group specified by the caller. - body: - application/json: - type: WafGroupEnvelope - example: !include /examples/waf/wafgroup-put-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - - /zones/{zoneId}/waf/rules: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse] - get: - is: [hasResourceNotFoundResponse] - displayName: getWafRules - description: Retrieves WAF rules under the waf group specified by the caller. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets instead. - queryParameters: - groupId: - displayName: GroupId - type: string - description: WAF Group that contains the WAF rules. - example: f90712123fb02287348dd34c0a282bb9 - required: false - responses: - '200': - description: Successfully retrieved WAF rules requested by the caller. - body: - application/json: - type: WafRulesEnvelope - example: !include /examples/waf/wafrules-get-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - /{ruleId}: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse] - get: - is: [hasResourceNotFoundResponse] - displayName: getWafRule - description: Retrieves details of a specific WAF rule. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets instead. - responses: - '200': - description: Successfully retrieved details of the WAF rule requested by the caller. - body: - application/json: - type: WafRuleEnvelope - example: !include /examples/waf/wafrule-get-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - put: - is: [hasBadRequestResponse] - displayName: updateWafRule - description: Updates action of a specific WAF rule. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets instead. - body: - application/json: - type: WafRule - example: !include /examples/waf/wafrule-put-request.raml - responses: - '200': - description: Successfully updated the WAF rule specified by the caller. - body: - application/json: - type: WafRuleEnvelope - example: !include /examples/waf/wafrule-put-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - - /zones/{zoneId}/speed-settings: - is: [hasResourceNotFoundResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse] - get: - displayName: getSpeedSettings - description: Retrieve speed settings for a zone. - responses: - '200': - description: Successfully returned back speed settings requested by the caller. - body: - application/json: - type: SpeedSettingsEnvelope - example: !include /examples/zone/speed-settings-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - patch: - is: [hasBadRequestResponse] - displayName: updateSpeedSettings - description: Update speed settings for a zone. - - body: - application/json: - type: SpeedSetting - examples: !include /examples/zone/speed-settings-patch-request.raml - - responses: - '200': - description: Successfully updated speed settings requested by the caller. - body: - application/json: - type: SpeedSettingsEnvelope - examples: - response : !include /examples/zone/speed-settings-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/security-settings: - is: [hasBadRequestResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] - get: - displayName: getSecuritySettings - description: Retrieve security settings for a zone. - responses: - '200': - description: Successfully returned security settings for zone. - body: - application/json: - type: SecuritySettingsEnvelope - example: !include /examples/zone/security-settings-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - patch: - displayName: updateSecuritySettings - description: Update security settings for a zone. - body: - application/json: - type: SecuritySetting - example: !include /examples/zone/security-settings-update-request.raml - responses: - '200': - description: Successfully updated security settings. - body: - application/json: - type: SecuritySettingsEnvelope - example: !include /examples/zone/security-settings-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/cachepurge: - post: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - displayName: cachePurge - description: Request to purge the cache for the host given in the request body - body: - application/json: - type: CachePurgeRequest - responses: - '200': - description: Returns completed operationId statuses that represent the rule list operations the server processed. - body: - application/json: - type: CachePurgeResponseEnvelope - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/ocapicachingpagerule: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - patch: - is: [ hasBadRequestResponse ] - displayName: toggleOcapiCachingPageRule - description: Request to enable or disable OCAPI Caching page rule. - body: - application/json: - type: OCAPICachingToggleRequest - responses: - '200': - description: Returns the current state of OCAPI Caching page rule. - body: - application/json: - type: OCAPICachingToggleRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/certificates: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse] - get: - is: [ApiStandards.OffsetPaginated: {maxLimit: 50, defaultSize: 25}, hasResourceNotFoundResponse] - displayName: getCertificates - description: Retrieves a list of certificates information for a zone. - responses: - '200': - description: Successfully retrieved list of certificates for the specified zone. - body: - application/json: - type: CertificatesEnvelope - examples: - Proxy Zone Certificates Response: !include /examples/zone/certificates-get-response1.raml - Legacy Zone Certificates Response: !include /examples/zone/certificates-get-response2.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - post: - is: [hasBadRequestResponse, hasConflictResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - displayName: addCertificateForZone - description: Add Certificates For Zone - body: - type: CertificateRequest - examples: !include /examples/zone/certificate-post-request.raml - responses: - '201': - description: Returns back information about added certificate. - body: - application/json: - type: CertificateEnvelope - examples: - Self-Managed Certificate Response: !include /examples/zone/certificate-post-response1.raml - eCDN-Managed Certificate Response: !include /examples/zone/certificate-post-response2.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /{certificateId}: - is: [ hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse ] - delete: - is: [ hasResourceNotFoundResponse ] - displayName: deleteCertificate - description: This action deletes a custom hostname and the certificate associated with it. Note that a valid certificate is necessary for a site to remain operational. DELETING AN IN-USE CERTIFICATE MAY RESULT IN DOWNTIME. - responses: - 204: - description: Successfully deleted the custom hostname and certificate associated with it. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - patch: - is: [hasBadRequestResponse] - displayName: updateCertificate - description: Updates the certificate for a given certificateId for a particular zone. - body: - application/json: - type: CertificateRequest - examples: !include /examples/zone/certificate-update-request.raml - responses: - '200': - description: Successfully updated speed settings requested by the caller. - body: - application/json: - type: CertificateEnvelope - examples: - Self-Managed Certificate Response: !include /examples/zone/certificate-update-response1.raml - eCDN-Managed Certificate Response: !include /examples/zone/certificate-update-response2.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /custom-hostnames/{customHostnameId}: - patch: - is: [ hasBadRequestResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse ] - displayName: validateCustomHostname - description: Trigger the validation of a custom hostname. - responses: - '200': - description: Trigger the custom hostname validation process. - body: - application/json: - type: CustomHostnameValidationEnvelope - examples: - response : !include /examples/zone/custom-hostnames-patch-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/mrtrules: - is: [hasResourceNotFoundResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] - post: - is: [hasBadRequestResponse] - displayName: createMrtRules - description: Create MRT rules to route to a new MRT environment. - body: - application/json: - type: MRTRulesPostRequest - examples: - Single Hostname Request: !include /examples/mrtrules/mrt-rules-post-request-single-hostname.raml - Multiple Hostnames Request: !include /examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml - responses: - 201: - description: Create MRT rules to route to a new MRT environment. - body: - application/json: - type: MRTRulesResponseEnvelope - examples: - Single Hostname Response: !include /examples/mrtrules/mrt-rules-post-response-single-hostname.raml - Multiple Hostnames Response: !include /examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - patch: - is: [hasBadRequestResponse] - displayName: updateMrtRuleset - description: Update the MRT environment hostname or add MRT rules to route to an existing MRT environment. - body: - application/json: - type: MRTRulesetPatchRequest - examples: - Update MRT Hostname Request: !include /examples/mrtrules/mrt-ruleset-patch-request-update-hostname.raml - Add Rules for Existing MRT Hostname Request: !include /examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml - responses: - 200: - description: Update the MRT environment hostname or add MRT rules to route to an existing MRT environment. - body: - application/json: - type: MRTRulesResponseEnvelope - examples: - Update MRT Hostname Response: !include /examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml - Add Rules for Existing MRT Hostname Response: !include /examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - get: - is: [hasBadRequestResponse] - displayName: getMrtRules - description: Get all MRT rules. - responses: - 200: - description: Get all MRT rules. - body: - application/json: - type: MRTRulesResponseEnvelope - example: !include /examples/mrtrules/mrt-rules-get-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - /{rulesetId}: - delete: - displayName: deleteMrtRuleset - description: Delete the MRT ruleset and all rules within the ruleset. - responses: - 204: - description: Delete the MRT ruleset and all rules within the ruleset. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /rules/{ruleId}: - is: [hasResourceNotFoundResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] - delete: - displayName: deleteMrtRule - description: Delete an MRT rule. - responses: - 204: - description: Delete an MRT rule. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - patch: - is: [hasBadRequestResponse] - displayName: updateMrtRule - description: Update an MRT rule. - body: - application/json: - type: MRTRulePatchRequest - example: !include /examples/mrtrules/mrt-rule-patch-request.raml - responses: - 200: - description: Update an MRT rule. - body: - application/json: - type: MRTRulesResponseEnvelope - example: !include /examples/mrtrules/mrt-rule-patch-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/logpush/ownership: - is: [ hasResourceNotFoundResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse ] - post: - is: [ hasBadRequestResponse ] - displayName: createLogpushOwnership - description: Create Logpush ownership token file. - body: - application/json: - type: LogpushOwnershipPostRequest - example: !include /examples/logpush/logpush-ownership-post-request.raml - responses: - '201': - description: Creates new Logpush Ownership token. - body: - application/json: - type: LogpushOwnershipPostResponse - example: !include /examples/logpush/logpush-ownership-post-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/logpush/jobs: - is: [ hasResourceNotFoundResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse ] - post: - is: [ hasBadRequestResponse ] - displayName: createLogpushJob - description: Create Logpush job. - body: - application/json: - type: LogpushCreateRequest - examples: - request1 : !include /examples/logpush/logpush-create-request1.raml - request2 : !include /examples/logpush/logpush-create-request2.raml - responses: - '201': - description: Returns job detail after successful Logpush job creation. - body: - application/json: - type: LogpushEnvelope - examples: - response1 : !include /examples/logpush/logpush-create-response1.raml - response2 : !include /examples/logpush/logpush-create-response2.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - get: - is: [ hasBadRequestResponse ] - displayName: listLogpushJob - description: List Logpush job. - responses: - '200': - description: Returns all jobs with detail in zone. - body: - application/json: - type: LogpushJobsEnvelope - example: !include /examples/logpush/logpush-get-list-job.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - /{jobId}: - is: [ hasResourceNotFoundResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse ] - get: - is: [ hasBadRequestResponse ] - displayName: getLogpushJob - description: Get Logpush job details. - responses: - '200': - description: Returns job detail from given Logpush job ID. - body: - application/json: - type: LogpushEnvelope - examples: - response1: !include /examples/logpush/logpush-get-job-by-id1.raml - response2: !include /examples/logpush/logpush-get-job-by-id2.raml - response3: !include /examples/logpush/logpush-get-job-by-id3.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - put: - is: [ hasResourceNotFoundResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse ] - displayName: updateLogpushJob - description: Update Logpush job. - body: - application/json: - type: LogpushUpdateRequest - example: !include /examples/logpush/logpush-update-request.raml - responses: - '200': - description: Returns job detail after successful logpush is enabled or disabled. - body: - application/json: - type: LogpushEnvelope - example: !include /examples/logpush/logpush-update-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - delete: - displayName: deleteLogpushJob - description: Delete Logpush job by job ID. - responses: - 204: - description: Delete Logpush job by job ID. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/firewall/waf/packages/owasp: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - get: - is: [hasBadRequestResponse] - displayName: getOwaspWafPackage - description: Get a OWASP ModSecurity Core Rule Set. - responses: - '200': - description: Successfully retrieved a OWASP ModSecurity Core Rule Set - body: - application/json: - type: WAFRulePackageEnvelope - examples: - response : !include /examples/wafpackages/wafpackages_get_example.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - patch: - is: [ hasBadRequestResponse ] - displayName: patchOwaspWafPackage - description: Patch a OWASP ModSecurity Core Rule Set. - body: - application/json: - type: WafPackagePatchRequest - examples: !include /examples/wafpackages/wafpackages_patch_example.raml - responses: - '200': - description: Successfully patched a OWASP ModSecurity Core Rule Set - body: - application/json: - type: WAFRulePackageEnvelope - examples: - response: !include /examples/wafpackages/wafpackages_get_example.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/firewall-custom/rules: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - post: - is: [hasBadRequestResponse] - displayName: createCustomRule - description: Creates a custom rule. - body: - application/json: - type: CustomRulesPostRequest - example: !include /examples/customrules/custom-rules-post-request.raml - responses: - '201': - description: Successfully created the custom rule requested by the caller. - body: - application/json: - type: CustomRuleEnvelope - example: !include /examples/customrules/custom-rule-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - get: - is: [ApiStandards.OffsetPaginated: {maxLimit: 50, defaultSize: 25}] - displayName: getCustomRules - description: Retrieves existing custom rules. - responses: - '200': - description: Successfully returned back the list of custom rules requested by the caller. - body: - application/json: - type: CustomRulesEnvelope - example: !include /examples/customrules/custom-rules-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - patch: - is: [hasBadRequestResponse] - displayName: updateOrderOfCustomRules - description: Updates the order of all existing custom rules. - body: - application/json: - type: CustomRulesPatchOrderRequest - responses: - '200': - description: Successfully updated the order of existing custom rules as requested by the caller. - body: - application/json: - type: CustomRulesEnvelope - example: !include /examples/customrules/custom-rules-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /{ruleId}: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - get: - displayName: getCustomRule - description: Retrieves a specific custom rule. - responses: - '200': - description: Successfully returned back the custom rule requested by the caller. - body: - application/json: - type: CustomRuleEnvelope - example: !include /examples/customrules/custom-rule-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - patch: - is: [hasBadRequestResponse] - displayName: updateCustomRule - description: Updates a specific custom rule. - body: - application/json: - type: CustomRulesPatchRequest - responses: - '200': - description: Successfully updated the custom rule requested by the caller. - body: - application/json: - type: CustomRuleEnvelope - example: !include /examples/customrules/custom-rule-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - delete: - displayName: deleteCustomRule - description: Deletes a specific custom rule. - responses: - '204': - description: Successfully deleted the custom rule requested by the caller. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/rate-limiting/rules: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - post: - is: [hasBadRequestResponse] - displayName: createRateLimitingRule - description: Creates a rate limiting rule. - body: - application/json: - type: RateLimitingRulesPostRequest - example: !include /examples/ratelimitingrules/rate-limiting-rules-post-request.raml - responses: - '201': - description: Successfully created the rate limiting rule requested by the caller. - body: - application/json: - type: RateLimitingRuleEnvelope - example: !include /examples/ratelimitingrules/rate-limiting-rule-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - get: - displayName: getRateLimitingRules - description: Retrieves existing rate limiting rules. - responses: - '200': - description: Successfully returned back the list of rate limiting rules requested by the caller. - body: - application/json: - type: RateLimitingRulesEnvelope - example: !include /examples/ratelimitingrules/rate-limiting-rules-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - /{ruleId}: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - get: - displayName: getRateLimitingRule - description: Retrieves a specific rate limiting rule. - responses: - '200': - description: Successfully returned back the rate limiting rule requested by the caller. - body: - application/json: - type: RateLimitingRuleEnvelope - example: !include /examples/ratelimitingrules/rate-limiting-rule-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - patch: - is: [hasBadRequestResponse] - displayName: updateRateLimitingRule - description: Updates a specific rate limiting rule. - body: - application/json: - type: RateLimitingRulesPatchRequest - responses: - '200': - description: Successfully updated the rate limiting rule requested by the caller. - body: - application/json: - type: RateLimitingRuleEnvelope - example: !include /examples/ratelimitingrules/rate-limiting-rule-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - delete: - displayName: deleteRateLimitingRule - description: Deletes a specific rate limiting rule. - responses: - '204': - description: Successfully deleted the rate limiting rule requested by the caller. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/firewall-managed/rulesets: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - get: - displayName: getWafManagedRulesets - description: Retrieves WAFv2 managed rulesets. - responses: - '200': - description: Successfully returned the list of WAF managed rulesets. - body: - application/json: - type: WAFManagedRulesetsEnvelope - example: !include /examples/wafmanagedrulesets/waf-managed-rulesets-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - /{rulesetId}: - is: [hasBadRequestResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - patch: - displayName: updateWafManagedRuleset - description: Updates WAFv2 managed ruleset. - body: - application/json: - type: WAFManagedRulesetRequest - example: !include /examples/wafmanagedrulesets/waf-managed-rulesets-update-request.raml - responses: - '200': - description: Successfully returned the updated WAF managed rulesets. - body: - application/json: - type: WAFManagedRulesetEnvelope - example: !include /examples/wafmanagedrulesets/waf-managed-rulesets-update-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /rules: - get: - displayName: getWafManagedRulesInRuleset - description: Retrieves all rules in the specified WAFv2 managed ruleset. - responses: - '200': - description: Successfully returned the rules in the WAFv2 managed ruleset. - body: - application/json: - type: WAFManagedRulesEnvelope - example: !include /examples/wafmanagedrulesets/waf-managed-rules-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - /{ruleId}: - patch: - displayName: updateWafManagedRuleInRuleset - description: Updates a WAF managed rule in the specified WAFv2 managed ruleset. - body: - application/json: - type: WAFManagedRuleRequest - example: !include /examples/wafmanagedrulesets/waf-managed-rules-update-request.raml - responses: - '200': - description: Successfully returned the updated WAF managed rule. - body: - application/json: - type: WAFManagedRuleEnvelope - example: !include /examples/wafmanagedrulesets/waf-managed-rules-update-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/firewall-managed/migration: - is: [hasBadRequestResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - put: - displayName: migrateZoneToWafV2 - description: Migrates a zone to WAFv2. Only applicable for existing zones using WAFv1. - responses: - '200': - description: Successfully migrated the zone to WAFv2 and returned the updated WAF managed rulesets. - body: - application/json: - type: WAFManagedRulesetsEnvelope - example: !include /examples/wafmanagedrulesets/waf-managed-rulesets-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/origin-header-modification/{type}: - is: [hasResourceNotFoundResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] - put: - is: [hasBadRequestResponse] - displayName: upsertOriginHeaderModification - description: Upsert origin header modification. Only the `mrt` type is supported. - body: - application/json: - type: OriginHeaderModificationPutRequest - example: !include /examples/originheadermodification/mrt-put-request.raml - responses: - 201: - description: Successfully created the origin header modification. - body: - application/json: - type: OriginHeaderModificationEnvelope - example: !include /examples/originheadermodification/mrt-put-create-response.raml - 200: - description: Successfully updated the origin header modification. - body: - application/json: - type: OriginHeaderModificationEnvelope - example: !include /examples/originheadermodification/mrt-put-update-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - get: - is: [hasBadRequestResponse] - displayName: getOriginHeaderModification - description: Get origin header modification associated with a zone. Only the `mrt` type is supported. - responses: - 200: - description: Successfully returned the origin header modification associated with a zone. - body: - application/json: - type: OriginHeaderModificationEnvelope - example: !include /examples/originheadermodification/mrt-get-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - delete: - displayName: deleteOriginHeaderModification - description: Delete the origin header modification associated with a zone. Only the `mrt` type is supported. - responses: - 204: - description: Successfully deleted the origin header modification associated with a zone. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - uriParameters: - type: - description: The type of origin header modification. Only the `mrt` type is supported. - type: string - example: mrt diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/CachePurgeRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/CachePurgeRequest.raml deleted file mode 100644 index 64484187..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/CachePurgeRequest.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType -type: object -description: Request for doing a cache purge -properties: - path: - type: string - description: Path for clearing the cache. - example: www.sfcc-ecdn-test5.net/dw/shop/v21_9/products \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/CachePurgeResponse.raml b/apis/cdn/cdn-api-process-apis/dataTypes/CachePurgeResponse.raml deleted file mode 100644 index 567d1c02..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/CachePurgeResponse.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType -type: object -description: Response from a cache purge request -properties: - cachePurged: - type: boolean - description: The name of the list. - example: false - details: - type: string - description: Details of errors if any. - example: "1084 : Unable to purge ''." \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/Certificate.raml b/apis/cdn/cdn-api-process-apis/dataTypes/Certificate.raml deleted file mode 100644 index 3e81dc71..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/Certificate.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 DataType -description: The certificate information -type: object -properties: - certificateId: - description: Id generated by CDN provider for the certificate. - type: string - pattern: ([a-f0-9]{8}(-[a-f0-9]{4}){4}[a-f0-9]{8}) - hosts: - description: List of hosts the certificate applies to. - type: string[] - required: false - expiresOn: - description: Date of expiration for the certificate. - type: datetime - required: false - uploadedOn: - description: Date the certificate was uploaded. - type: datetime - required: false - issuer: - description: The certificate authority that issued the certificate. - type: string - required: false - signature: - description: The type of hash used for the certificate. - type: string - required: false - status: - description: Current status of the certificate. - type: string - enum: [ACTIVE, EXPIRED, DELETED, PENDING, INITIALIZING, PENDING_VALIDATION, PENDING_ISSUANCE, PENDING_DEPLOYMENT, PENDING_DELETION] - minTlsVersion: - type: string - description: Minimum TLS Version only allows HTTPS connections from visitors that support the selected TLS protocol version or newer. - required: false - certificateType: - description: Indicates certificate is custom cert uploaded by customer or automatic renewal certificate by eCDN. - enum: [custom, automatic, custom_legacy] - type: string - certificateAuthority: - description: Indicates certificate issuer for automatic renewal certificate by eCDN. - type: string - enum: [google, lets_encrypt, digicert] - required: false - certificateValidation: - description: Indicates certificate validation type for automatic renewal certificate by eCDN. - type: string - enum: [http, txt] - required: false - certificateVerificationTXTName: - description: eCDN automatic renewal certificate verification txt name. - type: string - required: false - certificateVerificationTXTValue: - description: eCDN automatic renewal certificate verification txt value. - type: string - required: false - certificateVerificationStatus: - description: Current status of certificate verification. - type: string - enum: [ACTIVE, EXPIRED, PENDING, INITIALIZING, PENDING_VALIDATION, PENDING_ISSUANCE, PENDING_DEPLOYMENT] - required: false - wildcardCertificateVerificationTXTName: - description: eCDN automatic renewal certificate verification txt name. - type: string - required: false - wildcardCertificateVerificationTXTValue: - description: eCDN automatic renewal certificate verification txt value. - type: string - required: false - wildcardCertificateVerificationStatus: - description: Current status of certificate verification. - type: string - enum: [ACTIVE, EXPIRED, PENDING, INITIALIZING, PENDING_VALIDATION, PENDING_ISSUANCE, PENDING_DEPLOYMENT] - required: false - customHostnameVerificationTXTName: - description: Custom Hostname verification txt name. - type: string - required: false - customHostnameVerificationTXTValue: - description: Custom Hostname verification txt value. - type: string - required: false - customHostnameId: - description: Custom hostname associated with the zone - type: string - required: false - customHostname: - description: Custom hostname associated with the zone - type: string - required: false - customHostnameStatus: - description: Current status of custom hostname validation. - type: string - enum: [ACTIVE, EXPIRED, DELETED, PENDING, INITIALIZING, PENDING_VALIDATION, PENDING_ISSUANCE, PENDING_DEPLOYMENT, PENDING_DELETION, MOVED] - required: false - dcvDelegationRecords: - description: eCDN automatic renewal certificate DCV delegation records - type: array - items: - type: DCVDelegationRecord - required: false diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/CertificateRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/CertificateRequest.raml deleted file mode 100644 index 398d6f38..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/CertificateRequest.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 DataType -description: Certificate request information -type: object -properties: - hostname: - description: Hostname that certificate needs to be applied to. - type: string - bundleMethod: - description: Bundle method of the custom certificate chain for verification. - type: string - required: false - certificateType: - description: Indicates certificate is custom or automatic certificate renewal by eCDN. Optional field, if nothing specified the default value is custom. Valid values are custom or automatic. - type: string - required: false - certificate: - description: Public key of the custom certificate. Required if the certificateType value is custom. - type: string - required: false - privateKey: - description: Private key associated with the custom certificate. Required if the `certificateType` value is custom. - type: string - required: false - certificateAuthority: - description: Certificate authority only for automatic certificate renewal by eCDN. Required if the `certificateType` value is automatic. Valid values are `google` or `lets_encrypt`. - type: string - required: false - certificateValidation: - description: Certificate validation type is optional only for `certificateType` automatic, default value is `http`. Valid values are `http` or `txt`. - type: string - required: false - wildcardHostname: - description: Set to true for a wildcard custom hostname. - type: boolean - required: false diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/CollectionResponseEnvelope.raml b/apis/cdn/cdn-api-process-apis/dataTypes/CollectionResponseEnvelope.raml deleted file mode 100644 index 063ee7a7..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/CollectionResponseEnvelope.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 DataType - -usage: Defines a status response with entity as defined in [response envelopes](https://salesforce.quip.com/pIbZA1gpxDGS#DCRACAzhyEy), - for responses with entities consider `response-envelope.raml`. - -properties: - data: - description: The result of the resources requested by the caller. - type: array - items: any - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/CustomHostnameValidationResponse.raml b/apis/cdn/cdn-api-process-apis/dataTypes/CustomHostnameValidationResponse.raml deleted file mode 100644 index 74cbada2..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/CustomHostnameValidationResponse.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 DataType - -description: Custom hostname validation information. -type: object -properties: - customHostnameId: - description: Identifier generated by the CDN provider for the custom hostname. - type: string - example: a439eb1f-5e71-4544-bb29-54d18ax62277 - customHostname: - description: Name of the custom hostname - type: string - example: hello.world.example.net - customHostnameVerificationTXTName: - description: Custom hostname verification txt name. - type: string - customHostnameVerificationTXTValue: - description: Custom hostname verification txt value. - type: string - customHostnameStatus: - description: Current status of the custom hostname. - type: string - enum: [PENDING, ACTIVE, MOVED, DELETED] - example: ACTIVE diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/CustomRule.raml b/apis/cdn/cdn-api-process-apis/dataTypes/CustomRule.raml deleted file mode 100644 index f3439bcc..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/CustomRule.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 DataType -description: A custom rule. -type: object -properties: - ruleId: - description: The ID of the custom rule. - type: string - example: 2c0fc9fa937b11eaa1b71c4d701ab86e - description: - description: The description of the custom rule. - type: string - example: Block traffic for malformed URL requests. - expression: - type: string - description: The expression that determines the custom rule's behavior. - example: (http.request.uri.path matches \"^/path1/.*\") - actions: - description: The action(s) applied by the custom rule. - type: string[] - example: ["block"] - lastUpdated: - description: Date when the custom rule was last updated. - type: datetime - example: 2022-01-01T05:20:00Z - enabled: - description: Whether or not the custom rule is enabled. - type: boolean - example: true \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPatchOrderRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPatchOrderRequest.raml deleted file mode 100644 index c2952843..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPatchOrderRequest.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType -description: Update the order of all existing custom rules. -type: object -properties: - ruleIds: - description: An array of ruleIds representing the new order of custom rules. - type: string[] - example: ["ffffe61cf25e4ec49c34b029ff3060f7", "2c0fc9fa937b11eaa1b71c4d701ab86e"] \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPatchRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPatchRequest.raml deleted file mode 100644 index 758f2c3c..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPatchRequest.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 DataType -description: Update a custom rule. -type: object -properties: - description: - description: A description of the custom rule. - type: string - example: Block traffic for malformed URL requests - required: false - expression: - description: The expression that determines the custom rule's behavior. - type: string - example: (http.request.uri.path matches \"^/path1/.*\") - required: false - actions: - description: The action(s) applied by the custom rule. - type: string[] - example: ["block"] - required: false - enabled: - description: Whether or not the custom rule is enabled. - type: boolean - example: true - required: false - position: - description: Used to specify the position in the ruleset at which to insert the custom rule. - type: RulePosition - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPostRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPostRequest.raml deleted file mode 100644 index cadd4007..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPostRequest.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 DataType -description: Create a custom rule. -type: object -properties: - description: - description: A description of the custom rule. - type: string - example: Block traffic for malformed URL requests - expression: - description: The expression that determines the custom rule's behavior. - type: string - example: (http.request.uri.path matches \"^/path1/.*\") - actions: - description: The action(s) applied by the custom rule. - type: string[] - example: ["block"] - enabled: - description: Whether or not the custom rule is enabled. - type: boolean - example: true - required: false - position: - description: Used to specify the position in the ruleset at which to insert the custom rule. - type: RulePosition - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/DCVDelegationRecord.raml b/apis/cdn/cdn-api-process-apis/dataTypes/DCVDelegationRecord.raml deleted file mode 100644 index 8d902a9e..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/DCVDelegationRecord.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType -description: eCDN automatic renewal certificate DCV delegation records. -type: object -properties: - dcvCname: - description: DNS CNAME for Domain Control Validation. - type: string - required: false - dcvCnameValue: - description: DNS CNAME value for Domain Control Validation. - type: string - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/FirewallRule.raml b/apis/cdn/cdn-api-process-apis/dataTypes/FirewallRule.raml deleted file mode 100644 index b6678c01..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/FirewallRule.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 DataType -properties: - firewallruleId?: - type: string - maxLength: 100 - example: 295a8932ghnml74b286t15 - zoneId: - type: string - maxLength: 100 - description: Identity of the zone the WAF group belongs to. - type: - type: string - enum: ["ip", "country", "asn"] - description: Type of the firewall rule - example: ip - action: - type: string - enum: ["blocklist", "allowlist"] - description: The action applied by the firewall rule - example: blocklist - values: - type: string[] - description: Values of the type specified. IPs can be individual IPs or CIDR blocks. For countries use 2 letter ISO 3166 country codes https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes - -examples: - example1: - firewallruleId: 321at3d0254n46ht10kl10ct20 - zoneId: example1-zone-Id - type: country - action: allowlist - values: ["US","JP"] - example2: - firewallruleId: 537at3d0254p46ht2fkl79cb13 - zoneId: example2-zone-Id - type: ip - action: blocklist - values: ["127.0.0.1","192.168.0.0/16"] - example3: - firewallruleId: 987at7d0695p46ht2fkl79cb51 - zoneId: example2-zone-Id - type: asn - action: blocklist - values: ["12345","78945"] diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/Hsts.raml b/apis/cdn/cdn-api-process-apis/dataTypes/Hsts.raml deleted file mode 100644 index f5082733..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/Hsts.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 DataType -description: The security header for a zone. -type: object -properties: - enabled: - description: Enable strict transport security. - type: boolean - required: false - includeSubdomains: - type: boolean - description: Include all subdomains for strict transport security. - required: false - maxAge: - description: Max age in seconds of the strict transport security. - type: number - required: false - preload: - description: Preload any URLs that are included in the response headers. - type: boolean - required: false diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/ItemResponseEnvelope.raml b/apis/cdn/cdn-api-process-apis/dataTypes/ItemResponseEnvelope.raml deleted file mode 100644 index e394d332..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/ItemResponseEnvelope.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 DataType - -usage: Defines a status response with entity as defined in [response envelopes](https://salesforce.quip.com/pIbZA1gpxDGS#DCRACAzhyEy), - for responses with entities consider `response-envelope.raml`. - -properties: - data: - description: The result of the resource requested by the caller. - type: object - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/LogpushCreateRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/LogpushCreateRequest.raml deleted file mode 100644 index 33808c89..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/LogpushCreateRequest.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 DataType -description: Request for create Logpush job. -type: object -properties: - destinationPath: - description: Uniquely identifies s3 bucket for logs. Additional configuration parameters like region can be included. The string {DATE} in the URL path to separate logs into daily subdirectories; for example `s3://customer-bucket/logs/{DATE}?region=us-east-1&sse=AES256` The name of the directory will be replaced with the date in YYYYMMDD format (e.g. 20220215) when the logs are stored. - type: string - example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 - required: true - name: - description: Logpush job name; the name cannot be changed after the job is created. - pattern: ^[a-zA-Z0-9\-\.]*$ - type: string - example: my-logpush-job - required: true - filter: - description: Filter provides a way to customize which logs you want to receive. Filters are added as escaped JSON strings formatted. Default will include all logs. - type: string - required: false - logFields: - description: List of log fields. Depending on the type of log, the list of fields that you would like to see in the logs may vary. - type: array - items: string - example: ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"] - required: true - ownershipChallengeToken: - description: Ownership token to proves the ownership of the destinationPath. - type: string - example: abc00000000000000000000 - required: true - logType: - description: Type of logs. Available log types are `http_requests` and `firewall_events`. - type: string - enum: ["http_requests", "firewall_events"] - example: http_requests - required: true diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/LogpushOwnershipPostRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/LogpushOwnershipPostRequest.raml deleted file mode 100644 index 95bea90a..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/LogpushOwnershipPostRequest.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType -description: POST request for creating new Logpush Ownership. -type: object -properties: - destinationPath: - description: Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included. You can use the special string {DATE} in the URL path to separate logs into daily subdirectories; for example s3://customer-bucket/logs/{DATE}?region=us-east-1&sse=AES256. The name of the directory will be replaced with the date in YYYYMMDD format (e.g. 20220215) when the logs are stored. - type: string - example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 - required: true \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/LogpushOwnershipPostResponse.raml b/apis/cdn/cdn-api-process-apis/dataTypes/LogpushOwnershipPostResponse.raml deleted file mode 100644 index f29eaf0a..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/LogpushOwnershipPostResponse.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 DataType -description: POST response for created new Logpush Ownership. -type: object -properties: - data: - description: The customer's new Logpush Ownership. - type: object - properties: - destinationPath: - description: Destination where logs will be sent (S3 bucket only). - type: string - example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 - fileName: - description: File path where the ownership challenge file is written. - type: string - example: site-name/20230101/ownership-challenge-d12345678.txt \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/LogpushResponse.raml b/apis/cdn/cdn-api-process-apis/dataTypes/LogpushResponse.raml deleted file mode 100644 index b90d9a61..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/LogpushResponse.raml +++ /dev/null @@ -1,60 +0,0 @@ -#%RAML 1.0 DataType -description: Logpush job response -type: object -properties: - jobId: - description: Unique ID of the job. - type: integer - example: 123456 - required: false - name: - description: Logpush job name; the name cannot be changed after the job is created. - type: string - example: my-logpush-job - required: false - logType: - description: Type of logs; available log types are `http_requests` and `firewall_events`. - type: string - enum: ["http_requests", "firewall_events"] - example: http_requests - required: false - filter: - description: Filter provides a way to customize which logs you want to receive. Filters are added as escaped JSON strings formatted. If the filter is not displayed, it indicates that all logs should be included. - type: string - required: false - logFields: - description: List of log fields. Depending on the type of log, the list of fields that you would like to see in the logs may vary. - type: array - items: string - example: ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"] - required: false - destinationPath: - description: Uniquely identifies s3 bucket for logs. - type: string - example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 - required: false - enabled: - description: Flag that indicates if the job is enabled or disabled. - type: boolean - example: false - required: false - lastComplete: - description: The last time that the log has been successfully transmitted to the destination. - type: datetime - example: 2023-01-02T00:00:00Z - required: false - lastError: - description: The last time the job failed. If empty, the job has either never failed or has run successfully at least once since the last failure. - type: datetime - example: 2023-01-01T10:00:00Z - required: false - errorMessage: - description: Provide details for the last failure message. If this field is empty, it indicates that the job successfully transmitted logs to the destination. - type: string - example: no permissions to write to destination bucket - required: false - createdOn: - description: Job creation time. - type: datetime - example: 2023-01-01T00:00:27Z - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/LogpushUpdateRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/LogpushUpdateRequest.raml deleted file mode 100644 index 18d97360..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/LogpushUpdateRequest.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 DataType -description: Request for update Logpush job -type: object -properties: - enabled: - description: Flag that indicates if the job is enabled or disabled. - type: boolean - example: true - required: false - filter: - description: Provides customized selection for logs you want to receive. Filters are added as escaped, formatted JSON strings. By default, all logs are included. - type: string - example: "{\"where\":{\"key\":\"ClientRequestPath\",\"operator\":\"contains\",\"value\":\"/example-path\"}}" - required: false - logFields: - description: List of log fields. Depending on the log type, the list of fields that you can specify to be displayed in the log might vary. - type: array - items: string - example: ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"] - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulePatchRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulePatchRequest.raml deleted file mode 100644 index a805d31e..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulePatchRequest.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 DataType -description: PATCH request for updating an MRT rule. You may use the PATCH request to update the rule's expression and description as well as disable/enable the rule. -type: object -properties: - enabled: - description: Whether or not the rule is enabled. - type: boolean - example: true - required: false - expression: - description: The expression that determines the MRT rule's routing behavior. - type: string - example: (http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\")) - required: false - description: - description: The description of the rule. Optional. - type: string - example: Phased rollout rule for dev-customer.salesforce.com - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml deleted file mode 100644 index 1aeb9b43..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 DataType -description: A rule in an MRT ruleset. -type: object -properties: - id: - description: The ID of the rule. - type: string - example: 12345678901234asdfasfasdf - expression: - description: The expression that determines the rule's routing behavior. - type: string - example: (http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\")) - description: - description: The description of the rule. - type: string - example: Phased rollout rule for dev-customer.salesforce.com - required: false - lastUpdated: - description: Date when the rule was last updated. - type: datetime - example: 2022-01-01T05:20:00Z - ref: - description: The ref of the rule. - type: string - example: 12345678901234asdfasfasdf1234567 - enabled: - description: Whether or not the rule is enabled. - type: boolean - example: true - mrtHostname: - description: Managed runtime hostname this rule targets. - type: string - example: customer-pwa-hybrid.mobify-storefront.com \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesPostRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesPostRequest.raml deleted file mode 100644 index 3ae32096..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesPostRequest.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 DataType -description: POST request for creating MRT rules. MRT rules are a way to route certain storefront requests to the managed runtime instance. -type: object -properties: - mrtHostname: - description: The customer's MRT instance hostname. - type: string - example: customer-react-projec-production.mobify-storefront.com - expressions: - description: An array containing the expressions for each MRT rule. - type: string[] - example: ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\"))"] - descriptions: - description: An array containing the descriptions for each MRT rule. The number of descriptions provided must match the number of expressions provided. Optional. - type: string[] - example: ["Phased rollout rule for dev-customer.salesforce.com"] - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesResponse.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesResponse.raml deleted file mode 100644 index 9dc46824..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesResponse.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: Response for MRT rules. MRT rules are a way to route certain storefront requests to the managed runtime instance. -type: object -properties: - ruleset: - description: The MRT ruleset. - type: MRTRuleset \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRuleset.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRuleset.raml deleted file mode 100644 index 6e69c6ac..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRuleset.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 DataType -description: An MRT ruleset. Defines a list of MRT rules that will route certain storefront requests to the managed runtime instance. -type: object -properties: - id: - description: The ID of the ruleset. - type: string - example: 12345678901234asdfasfasdf - name: - description: The name of the ruleset. - type: string - example: MRT Rules - lastUpdated: - description: Date when the ruleset was last updated. - type: datetime - example: 2022-01-01T05:20:00Z - rules: - description: The rules defined by the ruleset. - type: array - items: MRTRules \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesetPatchRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesetPatchRequest.raml deleted file mode 100644 index c345993e..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesetPatchRequest.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DataType -description: PATCH request for updating the MRT environment hostname or adding MRT rules to route to an existing MRT environment. -type: object -properties: - oldMrtHostname: - description: The customer's current MRT instance hostname. - type: string - example: customer-react-projec-production.mobify-storefront.com - required: false - mrtHostname: - description: The customer's MRT instance hostname. - type: string - example: customer-react-projec-production.mobify-storefront.com - expressions: - description: An array containing the expressions for each MRT rule. - type: string[] - example: ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\"))"] - required: false - descriptions: - description: An array containing the descriptions for each MRT rule. The number of descriptions provided must match the number of expressions provided. Optional. - type: string[] - example: ["Phased rollout rule for dev-customer.salesforce.com"] - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateRequest.raml deleted file mode 100644 index 42eceb31..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateRequest.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 DataType -description: mTLS certificate request information. -type: object -properties: - certificate: - description: Public key for the CA certificate in mTLS. - type: string - required: true - privateKey: - description: Private key of the CA certificate in mTLS. - type: string - required: true - name: - description: Certificate name used for ease of understanding. - type: string - required: true diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateResponse.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateResponse.raml deleted file mode 100644 index c24530e4..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateResponse.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 DataType -type: object -description: mTLS certificate information. -properties: - mtlsCertificateId: - pattern: ([a-f0-9]{8}(-[a-f0-9]{4}){4}[a-f0-9]{8}) - description: ID generated by the CDN provider for the certificate. - type: string - required: false - expiresOn: - description: Expiration date for the mTLS certificate. - type: datetime - required: false - issuer: - description: The certificate authority that issued the mTLS certificate. - type: string - required: false - signature: - description: The type of hash used for the mTLS certificate. - type: string - required: false - uploadedOn: - description: Date the mTLS certificate was uploaded. - type: datetime - required: false - ca: - description: Indicates whether the mTLS certificate is a CA or leaf certificate. - type: boolean - required: false - serialNumber: - description: The mTLS certificate serial number. - type: string - required: false - mtlsCertificateName: - description: Optional name for the mTLS certificate used for ease of understanding. - type: string - required: false - mtlsAssociatedCodeUploadHostname: - description: Hostname associated with this mTLS certificate. - type: string - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/OCAPICachingToggleRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/OCAPICachingToggleRequest.raml deleted file mode 100644 index 6df82257..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/OCAPICachingToggleRequest.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType -description: Request to enable or disable OCAPI Caching Page rule -type: object -properties: - enableOCAPICachingPageRule: - description: true to enable OCAPI Caching Page rule, false to disable. - type: boolean - example: true \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/OriginHeaderModification.raml b/apis/cdn/cdn-api-process-apis/dataTypes/OriginHeaderModification.raml deleted file mode 100644 index e274c876..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/OriginHeaderModification.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 DataType -description: An origin header modification rule. -type: object -properties: - headerName: - description: The name of the header forwarded to the origin. - type: string - example: x-sfdc-access-control - headerValue: - description: The masked value of the header forwarded to the origin. - type: string - example: '****************789' - lastUpdated: - description: Date when the rule was last updated. - type: datetime - example: 2022-01-01T05:20:00Z \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/OriginHeaderModificationPutRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/OriginHeaderModificationPutRequest.raml deleted file mode 100644 index 48dcf5cf..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/OriginHeaderModificationPutRequest.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType -description: Put request for creating/updating the origin header modification. -type: object -properties: - headerValue: - description: The value of the header forwarded to the origin. - type: string - example: "123456789" - required: true - headerName: - description: The name of the header forwarded to the origin. Cannot be modified for the MRT origin. - type: string - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRule.raml b/apis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRule.raml deleted file mode 100644 index 6fbaeae8..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRule.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 DataType -description: A rate limiting rule. -type: object -properties: - ruleId: - description: The ID of the rate limiting rule. - type: string - example: 2c0fc9fa937b11eaa1b71c4d701ab86e - description: - description: The description of the rate limiting rule. - type: string - example: Rate limit /path1. - expression: - description: The expression that defines when to evaluate the rate limiting rule. - type: string - example: (http.request.uri.path matches \"^/path1/.*\") - characteristics: - description: Set of parameters defining how to group requests when tracking the request rate. - type: string[] - example: ["cf.unique_visitor_id"] - action: - description: The action applied by the rate limiting rule. Valid actions are "block", "managed_challenge", "js_challenge", "legacy_captcha", and "log". - type: string - example: block - period: - description: The period of time to consider when evaluating the request rate (in seconds). Valid values are 10, 60, 120, 300, and 600. - type: integer - example: 60 - requestsPerPeriod: - description: The limit for the number of requests in the specified period of time. - type: integer - example: 50 - mitigationTimeout: - description: Once the rate is reached, the rate limiting rule applies the rule action to further requests for the period of time defined in this field (in seconds). Only applicable for "block" and "log" actions. Valid values are 60, 120, 300, 600, 3600, and 86400. - type: integer - example: 600 - required: false - countingExpression: - description: The expression that defines what kind of requests we want to rate limit. - type: string - example: (http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400) - required: false - lastUpdated: - description: Date when the rate limiting rule was last updated. - type: datetime - example: 2022-01-01T05:20:00Z - enabled: - description: Whether or not the rate limiting rule is enabled. - type: boolean - example: true \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRulesPatchRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRulesPatchRequest.raml deleted file mode 100644 index 6f23b5b5..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRulesPatchRequest.raml +++ /dev/null @@ -1,53 +0,0 @@ -#%RAML 1.0 DataType -description: Update a rate limiting rule. -type: object -properties: - description: - description: The description of the rate limiting rule. - type: string - example: Rate limit /path1. - required: false - expression: - description: The expression that defines when to evaluate the rate limiting rule. - type: string - example: (http.request.uri.path matches \"^/path1/.*\") - required: false - characteristics: - description: Set of parameters defining how to group requests when tracking the request rate. - type: string[] - example: ["cf.unique_visitor_id"] - required: false - action: - description: The action applied by the rate limiting rule. Valid actions are "block", "managed_challenge", "js_challenge", "legacy_captcha", and "log". - type: string - example: block - required: false - period: - description: The period of time to consider when evaluating the request rate (in seconds). Valid values are 10, 60, 120, 300, and 600. - type: integer - example: 60 - required: false - requestsPerPeriod: - description: The limit for the number of requests in the specified period of time. - type: integer - example: 50 - required: false - mitigationTimeout: - description: Once the rate is reached, the rate limiting rule applies the rule action to further requests for the period of time defined in this field (in seconds). Only applicable for "block" and "log" actions. Valid values are 60, 120, 300, 600, 3600, and 86400. - type: integer - example: 600 - required: false - countingExpression: - description: The expression that defines what kind of requests we want to rate limit. - type: string - example: (http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400) - required: false - enabled: - description: Whether or not the rate limiting rule is enabled. - type: boolean - example: true - required: false - position: - description: Used to specify the position in the ruleset at which to insert the rate limiting rule. - type: RulePosition - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRulesPostRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRulesPostRequest.raml deleted file mode 100644 index bb6a25b8..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRulesPostRequest.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType -description: Create a rate limiting rule. -type: object -properties: - description: - description: The description of the rate limiting rule. - type: string - example: Rate limit /path1. - expression: - description: The expression that defines when to evaluate the rate limiting rule. - type: string - example: (http.request.uri.path matches \"^/path1/.*\") - characteristics: - description: Set of parameters defining how to group requests when tracking the request rate. - type: string[] - example: ["cf.unique_visitor_id"] - action: - description: The action applied by the rate limiting rule. Valid actions are "block", "managed_challenge", "js_challenge", "legacy_captcha", and "log". - type: string - example: block - period: - description: The period of time to consider when evaluating the request rate (in seconds). Valid values are 10, 60, 120, 300, and 600. - type: integer - example: 60 - requestsPerPeriod: - description: The limit for the number of requests in the specified period of time. - type: integer - example: 50 - mitigationTimeout: - description: Once the rate is reached, the rate limiting rule applies the rule action to further requests for the period of time defined in this field (in seconds). Only applicable for "block" and "log" actions. Valid values are 60, 120, 300, 600, 3600, and 86400. - type: integer - example: 600 - required: false - countingExpression: - description: The expression that defines what kind of requests we want to rate limit. - type: string - example: (http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400) - required: false - enabled: - description: Whether or not the rate limiting rule is enabled. - type: boolean - example: true - required: false - position: - description: Used to specify the position in the ruleset at which to insert the rate limiting rule. - type: RulePosition - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/RulePosition.raml b/apis/cdn/cdn-api-process-apis/dataTypes/RulePosition.raml deleted file mode 100644 index 4e6fee7c..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/RulePosition.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 DataType -description: Used to specify the position of a rule. -type: object -properties: - before: - description: Insert the current rule before this ruleId. - type: string - example: 2c0fc9fa937b11eaa1b71c4d701ab86e - required: false - after: - description: Insert the current rule after this ruleId. - type: string - example: 2c0fc9fa937b11eaa1b71c4d701ab86e - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/SecurityHeader.raml b/apis/cdn/cdn-api-process-apis/dataTypes/SecurityHeader.raml deleted file mode 100644 index 05b1a25d..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/SecurityHeader.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType -description: -type: object -properties: - id: - description: - type: string - example: someId - value: - description: - type: !include StrictTransportSecurity.raml - modifiedOn: - description: When the security zone was last modified. - type: datetime - example: 2022-01-12T04:15:57Z diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/SecuritySetting.raml b/apis/cdn/cdn-api-process-apis/dataTypes/SecuritySetting.raml deleted file mode 100644 index 76ed67f6..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/SecuritySetting.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DataType -properties: - hsts: - type: Hsts - description: Security header for a zone. - required: false - securityLevel: - description: Security profile for your zone, which will automatically adjust each of the security settings. - type: string - enum: [off, essentially_off, low, medium, high, under_attack] - required: false - tls13Enabled: - description: Enable Crypto TLS 1.3 feature for this zone. - type: boolean - required: false - wafEnabled: - description: Enable WAF (OWASP) protection for this zone. Not applicable for zones using WAFv2. - type: boolean - required: false - alwaysUseHttps: - description: Redirect all http requests to https. - example: true - type: boolean diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml b/apis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml deleted file mode 100644 index df3f1a86..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml +++ /dev/null @@ -1,93 +0,0 @@ -#%RAML 1.0 DataType -properties: - brotliCompression: - type: string - description: Brotli compression setting of a zone. - required: false - default: off - enum: ["on", "off"] - http2Prioritization: - type: string - description: Http2 prioritization setting for a zone. - required: false - default: off - enum: ["on", "off"] - example: off - webp: - type: string - description: Support for the WebP image format when using image modification for a zone. The WebP image format can be used with supported clients for added performance benefits. Setting this property to `on` will return an error when the `polish` property is set to `off`. - required: false - default: off - enum: ["on", "off"] - example: off - polish: - type: string - description: The level of polish (image quality) used for image modification. The value `lossless` corresponds to **Polish Level Basic** in the UI, and the value `lossy` corresponds to **Polish Level Basic+JPEG.** To disable image modification, set this property to `off`. Setting this property to `off` will prevent you from setting the `webp` property to `on`. - required: false - default: off - enum: [off, lossless, lossy] - example: off - minifyJs: - type: string - description: Minify JavaScript for a zone. - required: false - default: off - enum: ["on", "off"] - example: off - minifyHtml: - type: string - description: Minify HTML for a zone. - required: false - default: off - enum: ["on", "off"] - example: off - minifyCss: - type: string - description: Minify CSS for a zone. - required: false - default: off - enum: ["on", "off"] - example: off - earlyHints: - type: string - description: Early Hints for a zone. - required: false - default: off - enum: [ "on", "off" ] - example: off - http3: - type: string - description: Http3 for a zone. - required: false - default: off - enum: [ "on", "off" ] - example: off - http2ToOrigin: - type: string - description: Http2 to Origin for a zone. - required: false - default: off - enum: [ "on", "off" ] - example: off - -examples: - brotliCompressionExample: - brotliCompression: off - http2PrioritizationExample: - http2Prioritization: off - polishExample: - polish: off - webpExample: - webp: off - minifyJsExample: - minifyJs: off - minfyHtmlExample: - minfyHtml: off - minifyCssExample: - minifyCss: off - earlyHintsExample: - earlyHints: off - http3Example: - http3: off - http2ToOriginExample: - http2ToOrigin: off \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/StorefrontZoneCreateRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/StorefrontZoneCreateRequest.raml deleted file mode 100644 index 801d39a6..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/StorefrontZoneCreateRequest.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType -description: The storefront zone information to be created. -type: object -properties: - domainName: - description: Domain name for the site. - type: string - example: cc-merchant.com \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/StorefrontZoneCreateResponse.raml b/apis/cdn/cdn-api-process-apis/dataTypes/StorefrontZoneCreateResponse.raml deleted file mode 100644 index 198f16f0..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/StorefrontZoneCreateResponse.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 DataType -description: The response of create zone, includes zone and zone properties. -type: object -properties: - zoneId: - description: The zone id tag. - type: string - example: 023e105f4ecef8ad9ca31a8372d0c353 - zoneName: - description: The domain name for the zone. - type: string - pattern: ^([a-zA-Z0-9][\-a-zA-Z0-9]*\.)+[\-a-zA-Z0-9]{2,20}$ - example: stg-zzzz-cc-merchant-com.cc-ecdn.net - status: - description: current status of the zone - type: string - enum: [active, pending, initializing, moved, deleted, deactivated] - example: active - createdOn: - description: Date and time of zone creation. - type: datetime - example: 2014-01-01T05:20:00.12345Z \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/StrictTransportSecurity.raml b/apis/cdn/cdn-api-process-apis/dataTypes/StrictTransportSecurity.raml deleted file mode 100644 index 74505dcb..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/StrictTransportSecurity.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 DataType -description: -type: object -properties: - isEnabled: - description: - type: boolean - default: false - maxAge: - description: Max age in seconds of the strict transport security. - type: number - shouldIncludeSubdomains: - description: Include subdomains for strict transport security. - type: boolean - isNosniffEnabled: - description: | - Include the `X-Content-Type-Options: nosniff` header. - type: boolean - -example: - isEnabled: true - maxAge: 3600 - shouldIncludeSubdomains: true - isNosniffEnabled: false diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/WAFGroup.raml b/apis/cdn/cdn-api-process-apis/dataTypes/WAFGroup.raml deleted file mode 100644 index 542be00d..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/WAFGroup.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 DataType -properties: - groupId?: - type: string - maxLength: 100 - example: 372e67954025e0ba6aaa6d586b9e0b60 - action?: - type: string - enum: ["block", "challenge", "monitor", "default"] - description: The action to apply to WAF group - example: block - mode: - type: string - enum: ["on", "off"] - description: Mode of the waf rule - on vs off - example: on - description?: - type: string - description: Description of the WAF Group. - example: "Test WAF Group to protect against SQL injection" - -examples: - example1: - groupId: 372abe67954025e0ba6aaa6d586b9e0b - zoneId: example1-zone-Id - action: monitor - mode: on - description: SQL injection protection - example2: - groupId: 396abe67954025e0ba6bde6d586b9e5a - zoneId: example2-zone-Id - action: challenge - mode: off - description: xss attack protection \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRule.raml b/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRule.raml deleted file mode 100644 index 3669a0ad..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRule.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 DataType -description: A WAF managed rule. -type: object -properties: - ruleId: - description: The ID of the WAF managed rule. - type: string - example: 5de7edfa648c4d6891dc3e7f84534ffa - action: - description: The action applied by the WAF managed rule. - type: string - example: block - score: - description: The score of the WAF managed rule. Only applicable for the OWASP Managed Ruleset. - type: integer - example: 5 - required: false - categories: - description: A list of categories describing the function of the WAF managed rule. - type: string[] - example: ["broken-access-control", "wordpress"] - description: - description: The description of the WAF managed rule. - type: string - example: Wordpress - Broken Access Control - lastUpdated: - description: Date when the WAF managed rule was last updated. - type: datetime - example: 2024-01-01T05:20:00Z - enabled: - description: Whether or not the WAF managed rule is enabled. - type: boolean - example: true \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRuleRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRuleRequest.raml deleted file mode 100644 index b79dac3d..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRuleRequest.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 DataType -description: A PATCH request for updating a WAF managed rule. -type: object -properties: - action: - description: The action applied by the WAF managed rule. - type: string - example: block - required: false - enabled: - description: Whether or not the WAF managed rule is enabled. - type: boolean - example: true - required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRuleset.raml b/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRuleset.raml deleted file mode 100644 index 8c0763f5..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRuleset.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 DataType -description: A WAF managed ruleset. -type: object -properties: - name: - description: The name of the WAF managed ruleset. - type: string - example: OWASP Core Ruleset - rulesetId: - description: The ID of the WAF managed ruleset. - type: string - example: 4814384a9e5d4991b9815dcfc25d2f1f - action: - description: The action applied by the WAF managed ruleset. - type: string - example: default - anomalyScore: - description: The anomaly score threshold of the WAF managed ruleset. Only applicable for the OWASP Core Ruleset. - type: string - example: low - required: false - anomalyScoreThreshold: - description: The numerical value of the anomaly score threshold of the WAF managed ruleset. Only applicable for the OWASP Core Ruleset. - type: integer - example: 60 - required: false - paranoiaLevel: - description: The paranoia level of the WAF managed ruleset. Higher paranoia levels activate more aggressive rules. Only applicable for the OWASP Core Ruleset. - type: integer - example: 1 - required: false - enabled: - description: Whether or not the WAF managed ruleset is enabled. - type: boolean - example: true \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRulesetRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRulesetRequest.raml deleted file mode 100644 index f512cba1..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRulesetRequest.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 DataType -description: A WAF managed ruleset request body. -type: object -properties: - action: - description: The action applied by the WAF managed ruleset. - type: string - example: default - required: false - anomalyScore: - description: The anomaly score threshold of the WAF managed ruleset. Only applicable for the OWASP Core Ruleset. - type: string - example: low - required: false - paranoiaLevel: - description: The paranoia level of the WAF managed ruleset. Higher paranoia levels activate more aggressive rules. Only applicable for the OWASP Core Ruleset. - type: integer - example: 1 - required: false - enabled: - description: Whether or not the WAF managed ruleset is enabled. - type: boolean - example: true - required: false diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/WAFRule.raml b/apis/cdn/cdn-api-process-apis/dataTypes/WAFRule.raml deleted file mode 100644 index 007326d5..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/WAFRule.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DataType -properties: - ruleId?: - type: string - example: 892e67954025e0ba6atefd586b9e58b3 - groupId?: - type: string - maxLength: 100 - example: 372e67954025e0ba6aaa6d586b9e0b60 - action: - type: string - enum: ["block", "challenge", "monitor", "disable", "default"] - description: The action to apply to WAF rule - example: block - defaultAction?: - type: string - enum: ["block", "challenge", "monitor", "disable"] - description: The action to apply to WAF rule - example: block - description?: - type: string - description: Description of the WAF Group. - example: "Test WAF Rule to protect against SQL injection" - -examples: - example1: - ruleId: 892e67954025e0ba6atefd586b9e58b3 - groupId: 372abe67954025e0ba6aaa6d586b9e0b - action: monitor - defaultAction: challenge - description: SQL injection protection - example2: - ruleId: 673e67954025e0ba6atefd586b90mtd5 - groupId: 396abe67954025e0ba6bde6d586b9e5a - action: challenge - defaultAction: block - description: xss attack protection \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/WAFRulePackage.raml b/apis/cdn/cdn-api-process-apis/dataTypes/WAFRulePackage.raml deleted file mode 100644 index 0f7f4325..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/WAFRulePackage.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 DataType - -properties: - id: - type: string - example: a25a9a7e9c00afc1fb2e0245519d725b - maxLength: 32 - name: - type: string - description: Name of the firewall package - description: - type: string - description: Summary of purpose/function of firewall package - detection_mode: - type: string - description: How the rules within the package are evaluated during the course of a request. When a package uses anomaly detection, each rule is given a score when triggered. If the total score of all triggered rules exceeds the sensitivity defined on the package, the action defined on the package is taken. Traditional detection decides which action to take when it is triggered by the request. If multiple rules are triggered, the action with highest protection is used. For example, a block action beats a challenge. - zone_id: - type: string - description: Zone identifier with which this rule package is associated. - sensitivity: - type: string - enum: ["low", "medium", "high", "off"] - description: Sensitivity for traditional (owasp) rule package. - action_mode: - type: string - enum: ["simulate", "challenge", "block"] - description: The default action that is taken for rules under traditional(owasp) firewall package. diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/WafPackagePatchRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/WafPackagePatchRequest.raml deleted file mode 100644 index 1e1f6d97..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/WafPackagePatchRequest.raml +++ /dev/null @@ -1,9 +0,0 @@ -properties: - sensitivity: - type: string - enum: ["low", "medium", "high", "off"] - description: Sensitivity for traditional (owasp) rule package. - action_mode: - type: string - enum: ["simulate", "challenge", "block"] - description: The default action that is taken for rules under traditional(owasp) firewall package. \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/Zone.raml b/apis/cdn/cdn-api-process-apis/dataTypes/Zone.raml deleted file mode 100644 index 2187ce8c..00000000 --- a/apis/cdn/cdn-api-process-apis/dataTypes/Zone.raml +++ /dev/null @@ -1,29 +0,0 @@ -#%RAML 1.0 DataType - -type: object -displayName: Zone -description: Zone is the container for hostnames and various CDN settings/properties. Each zone is tied to a single origin. - -properties: - zoneId: - type: string - maxLength: 100 - description: Identity of the zone. - name: - type: string - maxLength: 100 - description: Name given to the zone. This needs to be a DNS domain name for eg example.com - status: - type: string - enum: ["active", "pending", "initializing", "moved", "deleted", "deactivated"] - description: Status of the zone for eg "Pending" , "Active" - -examples: - example1: - zoneId: example1-zone-Id - name: example1.com - status: pending - example2: - zoneId: example2-zone-Id - name: example2.com - status: active \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/customrules/custom-rule-response.raml b/apis/cdn/cdn-api-process-apis/examples/customrules/custom-rule-response.raml deleted file mode 100644 index 6f841886..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/customrules/custom-rule-response.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleId": "ffffe61cf25e4ec49c34b029ff3060f7", - "description": "Block traffic for malformed URL requests", - "expression": "(http.request.uri.path matches \"^/path1/.*\")", - "actions": ["block"], - "lastUpdated": "2022-12-14T21:25:22.329194Z", - "enabled": false - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/customrules/custom-rules-post-request.raml b/apis/cdn/cdn-api-process-apis/examples/customrules/custom-rules-post-request.raml deleted file mode 100644 index 9c7a2e77..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/customrules/custom-rules-post-request.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "description": "Block traffic for malformed URL requests", - "expression": "(http.request.uri.path matches \"^/path1/.*\")", - "actions": ["block"], - "enabled": false, - "position": { - "before": "2c0fc9fa937b11eaa1b71c4d701ab86e" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/customrules/custom-rules-response.raml b/apis/cdn/cdn-api-process-apis/examples/customrules/custom-rules-response.raml deleted file mode 100644 index 6dc88a6a..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/customrules/custom-rules-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": [ - { - "ruleId": "ffffe61cf25e4ec49c34b029ff3060f7", - "description": "Block traffic for malformed URL requests", - "expression": "(http.request.uri.path matches \"^/path1/.*\")", - "actions": ["block"], - "lastUpdated": "2022-12-14T21:25:22.329194Z", - "enabled": false - }, - { - "ruleId": "2c0fc9fa937b11eaa1b71c4d701ab86e", - "description": "Skip user agent", - "expression": "(http.user_agent contains \"Client\")", - "actions": ["skip_custom_rules, skip_waf"], - "lastUpdated": "2022-12-14T21:30:34.263795Z", - "enabled": true - } - ] - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/error/bad-request-example.raml b/apis/cdn/cdn-api-process-apis/examples/error/bad-request-example.raml deleted file mode 100644 index edf7634e..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/error/bad-request-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Request body contains 1 or more attributes that contains errors." - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/error/conflict-example.raml b/apis/cdn/cdn-api-process-apis/examples/error/conflict-example.raml deleted file mode 100644 index 04ed47fc..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/error/conflict-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/conflicted", - "title": "Resource Conflict", - "detail": "The request made for the resource is not valid." - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/error/forbidden-access-example.raml b/apis/cdn/cdn-api-process-apis/examples/error/forbidden-access-example.raml deleted file mode 100644 index dfdfe4f1..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/error/forbidden-access-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden-access", - "title": "Forbidden", - "detail": "Access to requested resource is forbidden." - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/error/internal-server-error-example.raml b/apis/cdn/cdn-api-process-apis/examples/error/internal-server-error-example.raml deleted file mode 100644 index f4b01a46..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/error/internal-server-error-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/internal-server", - "title": "Internal Server Error", - "detail": "An internal server error occured. Please contact support." - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/error/resource-not-found-example.raml b/apis/cdn/cdn-api-process-apis/examples/error/resource-not-found-example.raml deleted file mode 100644 index bc441a82..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/error/resource-not-found-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/resource-not-found", - "title": "Not Found", - "detail": "Requested resource was not found" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/error/unauthorized-example.raml b/apis/cdn/cdn-api-process-apis/examples/error/unauthorized-example.raml deleted file mode 100644 index 69905439..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/error/unauthorized-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized", - "title": "UnAuthorized Access", - "detail": "The authorization token passed is no longer valid" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-request1.raml b/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-request1.raml deleted file mode 100644 index 9ab1b873..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-request1.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "name": "example-job-name", - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "ownershipChallengeToken": "abc00000000000000000000", - "logFields" : ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"], - "logType" : "http_requests" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-request2.raml b/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-request2.raml deleted file mode 100644 index b4032bdd..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-request2.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "name": "example-job-name-with-filter", - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "ownershipChallengeToken": "abc00000000000000000000", - "logFields" : ["ClientRequestBytes", "ClientRequestPath", "ClientRequestHost", "ClientRequestMethod", "EdgeResponseStatus"], - "filter": "{\"where\":{\"and\":[{\"key\":\"ClientRequestPath\",\"operator\":\"contains\",\"value\":\"/example-path\"}, {\"key\":\"EdgeResponseStatus\",\"operator\":\"in\",\"value\":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}", - "logType" : "http_requests" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-response1.raml b/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-response1.raml deleted file mode 100644 index bbb566e8..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-response1.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "jobId": 123456, - "name": "example-job-name", - "logType" : "http_requests", - "logFields" : ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"], - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "enabled": false, - "createdOn" : 2023-01-01T00:00:27Z - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-response2.raml b/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-response2.raml deleted file mode 100644 index 7e143f07..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-response2.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "jobId": 123456, - "name": "example-job-name-with-filter", - "logType" : "http_requests", - "logFields" : ["ClientRequestBytes", "ClientRequestPath", "ClientRequestHost", "ClientRequestMethod", "EdgeResponseStatus"], - "filter": "{\"where\":{\"and\":[{\"key\":\"ClientRequestPath\",\"operator\":\"contains\",\"value\":\"/example-path\"}, {\"key\":\"EdgeResponseStatus\",\"operator\":\"in\",\"value\":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}", - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "enabled": false, - "createdOn" : 2023-01-01T00:00:27Z - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id1.raml b/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id1.raml deleted file mode 100644 index 362c09e9..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id1.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "jobId": 123456, - "name": "example-job-name", - "logType" : "http_requests", - "logFields" : ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"], - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "lastComplete": "2023-03-14T02:09:32Z", - "createdOn" : "2023-01-01T00:00:27Z" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id2.raml b/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id2.raml deleted file mode 100644 index 653be011..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id2.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "jobId": 123456, - "name": "example-job-name", - "logType" : "http_requests", - "logFields" : ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"], - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "lastComplete": "2023-03-14T02:09:32Z", - "lastError": "2023-03-16T02:00:00Z", - "errorMessage": "no permissions to write to destination bucket", - "createdOn" : "2023-01-01T00:00:27Z" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id3.raml b/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id3.raml deleted file mode 100644 index 329a34b7..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id3.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "jobId": 123456, - "name": "example-job-name", - "logType": "http_requests", - "logFields" : ["ClientRequestBytes", "ClientRequestPath", "ClientRequestHost", "ClientRequestMethod", "EdgeResponseStatus"], - "filter": "{\"where\":{\"and\":[{\"key\":\"ClientRequestPath\",\"operator\":\"contains\",\"value\":\"/example-path\"}, {\"key\":\"EdgeResponseStatus\",\"operator\":\"in\",\"value\":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}", - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "lastComplete": "2023-03-14T02:09:32Z", - "createdOn": "2023-01-01T00:00:27Z" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-list-job.raml b/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-list-job.raml deleted file mode 100644 index c980bbea..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-list-job.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": [ - { - "jobId": 123456, - "name": "example1-job-name", - "logType" : "http_requests", - "logFields" : ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"], - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "lastComplete": "2023-03-14T02:09:32Z", - "createdOn" : "2023-01-01T00:00:27Z" - }, - { - "jobId": 123457, - "name": "example2-job-name", - "logType" : "firewall_events", - "logFields" : ["RuleID", "ClientRequestUserAgent", "ClientRequestPath"], - "filter": "{\"where\":{\"and\":[{\"key\":\"ClientRequestPath\",\"operator\":\"contains\",\"value\":\"/example-path\"}, {\"key\":\"EdgeResponseStatus\",\"operator\":\"in\",\"value\":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}", - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "lastComplete": "2023-03-22T02:09:32Z", - "createdOn" : "2023-01-03T00:00:27Z" - } - ] - } diff --git a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-ownership-post-request.raml b/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-ownership-post-request.raml deleted file mode 100644 index 9dc329a6..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-ownership-post-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-ownership-post-response.raml b/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-ownership-post-response.raml deleted file mode 100644 index dfc806b9..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-ownership-post-response.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "data": { - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "fileName": "site-name/20230101/ownership-challenge-f1234567.txt" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-update-request.raml b/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-update-request.raml deleted file mode 100644 index 2d980020..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-update-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "enabled" : true, - "filter" : "{\"where\":{\"key\":\"ClientRequestPath\",\"operator\":\"contains\",\"value\":\"/example-path\"}}", - "logFields" : ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"] - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-update-response.raml b/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-update-response.raml deleted file mode 100644 index 2f815f21..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/logpush/logpush-update-response.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "jobId": 123456, - "name": "example-job-name", - "enabled": true, - "logType" : "http_requests", - "logFields" : ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"], - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "lastComplete": "2023-03-14T02:09:32Z", - "lastError": 2023-01-01T00:00:27Z, - "errorMessage": "" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-request.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-request.raml deleted file mode 100644 index 3fb51949..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "enabled": true, - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "description": "Phased rollout rule for dev-customer.salesforce.com" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-response.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-response.raml deleted file mode 100644 index 8080cdfe..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-response.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleset": - { - "id": "12345678901234asdfasfasdf1234567", - "name": "MRT Rules", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "rules": [ - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "description": "Phased rollout rule for dev-customer.salesforce.com", - "lastUpdated": "2022-09-27T18:32:34.675182Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - } - ] - } - } - } diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-get-response.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-get-response.raml deleted file mode 100644 index 225e70ae..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-get-response.raml +++ /dev/null @@ -1,42 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleset": - { - "id": "12345678901234asdfasfasdf1234567", - "name": "MRT Rules", - "lastUpdated": "2022-09-27T18:32:34.675182Z", - "rules": [ - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - "description": "Phased rollout rule for dev-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - }, - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "description": "Phased rollout rule for test-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1233333", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - }, - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"prd-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "description": "Phased rollout rule for prd-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "98745678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - } - ] - } - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml deleted file mode 100644 index 1823ee1b..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "mrtHostname": "customer.mobify-storefront.com", - "expressions": ["(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))"], - "descriptions": ["Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com"] - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-single-hostname.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-single-hostname.raml deleted file mode 100644 index fa8a57b9..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-single-hostname.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "mrtHostname": "customer.mobify-storefront.com", - "expressions": ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))"], - "descriptions": ["Phased rollout rule for dev-customer.salesforce.com"] - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml deleted file mode 100644 index 901cc6b7..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleset": - { - "id": "12345678901234asdfasfasdf1234567", - "name": "MRT Rules", - "lastUpdated": "2022-09-27T18:32:34.675182Z", - "rules": [ - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "description": "Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - } - ] - } - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-single-hostname.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-single-hostname.raml deleted file mode 100644 index 79592d93..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-single-hostname.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleset": - { - "id": "12345678901234asdfasfasdf1234567", - "name": "MRT Rules", - "lastUpdated": "2022-09-27T18:32:34.675182Z", - "rules": [ - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - "description": "Phased rollout rule for dev-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - } - ] - } - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml deleted file mode 100644 index e82f4873..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "mrtHostname": "customer.mobify-storefront.com", - "expressions": ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - - "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))"], - "descriptions": ["Phased rollout rule for dev-customer.salesforce.com"] - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-update-hostname.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-update-hostname.raml deleted file mode 100644 index 1ce2ee6a..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-update-hostname.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "oldMrtHostname": "old-hostname.mobify-storefront.com", - "mrtHostname": "new-hostname.mobify-storefront.com" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml deleted file mode 100644 index 490c47f4..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleset": - { - "id": "12345678901234asdfasfasdf1234567", - "name": "MRT Rules", - "lastUpdated": "2022-09-27T18:32:34.675182Z", - "rules": [ - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - "description": "Phased rollout rule for dev-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - }, - { - "id": "12345678901234asdfasfasdf1234568", - "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "description": "Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234568", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - } - ] - } - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml deleted file mode 100644 index c41e4794..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleset": - { - "id": "12345678901234asdfasfasdf1234567", - "name": "MRT Rules", - "lastUpdated": "2022-09-27T18:32:34.675182Z", - "rules": [ - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - "description": "Phased rollout rule for dev-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "new-hostname.mobify-storefront.com" - }, - { - "id": "12345678901234asdfasfasdf1234568", - "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "description": "Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234568", - "enabled": true, - "mrtHostname": "new-hostname.mobify-storefront.com" - } - ] - } - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml b/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml deleted file mode 100644 index 7b76bcae..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "mtlsCertificateId": "465a48f6-3d98-4c15-9312-211984ee8629", - "expiresOn": "2022-01-12T04:15:57Z", - "issuer": "DigiCert", - "signature": "SHA256WithRSA", - "uploadedOn": "2020-01-12T04:15:57Z", - "ca": true, - "serialNumber": "432217133297895665180570788458463042229861757760", - "mtlsCertificateName": "mtls_cert_name", - "mtlsAssociatedHostname": "mtls.cert.salesforce.com" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml b/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml deleted file mode 100644 index fa2d3b27..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml +++ /dev/null @@ -1,30 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - [ - { - "mtlsCertificateId": "465a48f6-3d98-4c15-9312-211984ee8629", - "expiresOn": "2022-01-12T04:15:57Z", - "issuer": "DigiCert", - "signature": "SHA256WithRSA", - "uploadedOn": "2020-01-12T04:15:57Z", - "ca": true, - "serialNumber": "432217133297895665180570788458463042229861757760", - "mtlsCertificateName": "mtls_cert_name", - "mtlsAssociatedHostname": "mtls.cert.salesforce.com" - }, - { - "mtlsCertificateId": "465a48f6-3d98-4c15-9312-211984ee8630", - "expiresOn": "2022-01-12T04:15:57Z", - "issuer": "DigiCert", - "signature": "SHA256WithRSA", - "uploadedOn": "2020-01-12T04:15:57Z", - "ca": true, - "serialNumber": "432217133297895665180570788458463042229861757761", - "mtlsCertificateName": "mtls_cert_name", - "mtlsAssociatedHostname": "mtls.cert.salesforce.com" - } - ] - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml b/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml deleted file mode 100644 index 4abc66a2..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "name": "mtls_cert_name", - "certificate": "-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIJAMHAwfXZ5PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\nBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX\naWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF\nMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg\/1\nCGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB\nKwzESIXgKk2016aTP6\/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX\/a+5\n0GjB79CJH4ER2lLVZnhePFR\/zUOyPxZQQ4naHf7yu\/b5jhO0f8fwt+pyFxIXjbEI\ndZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2\nizNTERcG9HzAacbVRn2Y2SWIyT\/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT\/LbE4\n9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT\/LbE49rWf288N6sJA5BRb6FJI\nGKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV\nBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5\/PWMAwGA1UdEwQF\nMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2\n2satiyzHl4OnXcHDpekAo7\/a09c6Lz6AU83cKy\/+x3\/djYHXWba7HpEu0dR3ugQP\nMlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG\nSvD8RX+T01wzox\/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN\/LAcc+14vioFq\n2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw\nYbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT\/NBy4rzaskDJY5L6xmY=\n-----END CERTIFICATE-----", - "privateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG\ndtcGbg\/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn\nabIRuGvBKwzESIXgKk2016aTP6\/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid\ntnKX\/a+50GjB79CJH4ER2lLVZnhePFR\/zUOyPxZQQ4naHf7yu\/b5jhO0f8fwt+py\nFxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE\newooaeO2izNTERcG9HzAacbVRn2Y2SWIyT\/18QIDAQABAoIBACbhTYXBZYKmYPCb\nHBR1IBlCQA2nLGf0qRuJNJZg5iEzXows\/6tc8YymZkQE7nolapWsQ+upk2y5Xdp\/\naxiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ\/qUqlsTvU6muVuMP8vZYHxJ3wmb\n+ufRBKztPTQ\/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g\n+j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv\nKLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf\/WY9QNq0J1Vk5ERePZ54mN8iZB7\n9lwy\/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX\/SwTvxHgXzRyJIIT0eJWgx13Wo\n\/WA3Iziimsjf6qE+SI\/8laxPp2A86VMaIt3Z3mJN\/CqSVGw8LK2AQst+OwdPyDMu\niacE8lj\/IFGC8mwNUAb9CzGU3JpU4PxxGFjS\/eMtGeRXCWkK4NE+G08CgYEA1Kp9\nN2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe\nVAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB\nvULuCIIrglM5MeS\/qnSg1uMoH2oVPj9TVst\/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U\nlySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR\n9B+nY\/jOmQoPewPVsp\/vQTCnE\/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7\nmEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze\/2ei77MD4OQvepPIFX\ndFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe\nPG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS\nfhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO\/RyamlnSffdCdSc7ue3zdVJxpAkQ8W\nqu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T\nlv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO\/b13EePXpDMpY7HQpoLDi\n-----END RSA PRIVATE KEY-----" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/ocapicaching/cache-statistics-response.raml b/apis/cdn/cdn-api-process-apis/examples/ocapicaching/cache-statistics-response.raml deleted file mode 100644 index bdca6399..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/ocapicaching/cache-statistics-response.raml +++ /dev/null @@ -1,49 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "data" : [ - { - "date": "2022-01-01T00:00:00Z", - "cacheStatus" : "HIT", - "count" : 200 - }, - { - "date": "2022-01-01T00:00:00Z", - "cacheStatus" : "MISS", - "count" : 100 - }, - { - "date": "2022-01-01T00:00:00Z", - "cacheStatus" : "EXPIRED", - "count" : 100 - },{ - "date": "2022-01-02T00:00:00Z", - "cacheStatus" : "HIT", - "count" : 200 - }, - { - "date": "2022-01-02T00:00:00Z", - "cacheStatus" : "MISS", - "count" : 100 - }, - { - "date": "2022-01-02T00:00:00Z", - "cacheStatus" : "EXPIRED", - "count" : 100 - }, - { - "date": "2022-01-03T00:00:00Z", - "cacheStatus" : "HIT", - "count" : 200 - }, - { - "date": "2022-01-03T00:00:00Z", - "cacheStatus" : "MISS", - "count" : 100 - }, - { - "date": "2022-01-03T00:00:00Z", - "cacheStatus" : "EXPIRED", - "count" : 100 - } - ] -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-get-response.raml b/apis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-get-response.raml deleted file mode 100644 index ead58147..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-get-response.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "headerName": "x-sfdc-access-control", - "headerValue": "********789", - "lastUpdated": "2024-04-27T18:32:34.675182Z" - } - } diff --git a/apis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-create-response.raml b/apis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-create-response.raml deleted file mode 100644 index bbe28298..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-create-response.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "headerName": "x-sfdc-access-control", - "headerValue": "********789", - "lastUpdated": "2024-04-27T18:32:34.675182Z" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-request.raml b/apis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-request.raml deleted file mode 100644 index 49d4bc6f..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "headerValue": "123456789" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-update-response.raml b/apis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-update-response.raml deleted file mode 100644 index bbe28298..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-update-response.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "headerName": "x-sfdc-access-control", - "headerValue": "********789", - "lastUpdated": "2024-04-27T18:32:34.675182Z" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rule-response.raml b/apis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rule-response.raml deleted file mode 100644 index f1f7109d..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rule-response.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": { - "ruleId": "ffffe61cf25e4ec49c34b029ff3060f7", - "description": "Rate limit /path1", - "expression": "http.request.uri.path matches \"^/path1/.*\"", - "characteristics": ["cf.unique_visitor_id"], - "action": "block", - "period": 60, - "requestsPerPeriod": 50, - "mitigationTimeout": 600, - "countingExpression": "http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400", - "enabled": false, - "lastUpdated": "2022-12-14T21:25:22.329194Z" - } -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rules-post-request.raml b/apis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rules-post-request.raml deleted file mode 100644 index 278b37f3..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rules-post-request.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "description": "Rate limit /path1", - "expression": "http.request.uri.path matches \"^/path1/.*\"", - "characteristics": ["cf.unique_visitor_id"], - "action": "block", - "period": 60, - "requestsPerPeriod": 50, - "mitigationTimeout": 600, - "countingExpression": "http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400", - "enabled": false, - "position": { - "before": "2c0fc9fa937b11eaa1b71c4d701ab86e" - } -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rules-response.raml b/apis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rules-response.raml deleted file mode 100644 index 4f501938..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rules-response.raml +++ /dev/null @@ -1,30 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": [ - { - "ruleId": "ffffe61cf25e4ec49c34b029ff3060f7", - "description": "Rate limit /path1", - "expression": "http.request.uri.path matches \"^/path1/.*\"", - "characteristics": ["cf.unique_visitor_id"], - "action": "block", - "period": 60, - "requestsPerPeriod": 50, - "mitigationTimeout": 600, - "countingExpression": "http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400", - "enabled": false, - "lastUpdated": "2022-12-14T21:25:22.329194Z" - }, - { - "ruleId": "2c0fc9fa937b11eaa1b71c4d701ab86e", - "description": "Rate limit AS number 12345", - "expression": "ip.geoip.asnum eq 12345", - "characteristics": ["ip.src"], - "action": "managed_challenge", - "period": 600, - "requestsPerPeriod": 1000, - "enabled": true, - "lastUpdated": "2022-12-14T21:47:24.323223Z" - } - ] -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/waf/wafgroup-put-request.raml b/apis/cdn/cdn-api-process-apis/examples/waf/wafgroup-put-request.raml deleted file mode 100644 index 75e1658b..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/waf/wafgroup-put-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "action": "monitor", - "mode": "on" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/waf/wafgroup-put-response.raml b/apis/cdn/cdn-api-process-apis/examples/waf/wafgroup-put-response.raml deleted file mode 100644 index 44662969..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/waf/wafgroup-put-response.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "groupId": "f90712123fb02287348dd34c0a282bb9", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "mode": "on", - "description": "This WAF Group contains a number of rules that have been created to deal with specific attack types. " - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/waf/wafgroups-get-response.raml b/apis/cdn/cdn-api-process-apis/examples/waf/wafgroups-get-response.raml deleted file mode 100644 index cc5d41d0..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/waf/wafgroups-get-response.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": [ - { - "groupId": "f90712123fb02287348dd34c0a282bb9", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "mode": "on", - "description": "This WAF Group contains a number of rules that have been created to deal with specific attack types. " - }, - - { - "groupId": "da9d75b083345c63f48e6fde5f617a8b", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "mode": "on", - "description": "This WAF Group contains rules to deal with known malicious traffic or patch flaws in specific web applications." - } - - ] - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/waf/wafrule-get-response.raml b/apis/cdn/cdn-api-process-apis/examples/waf/wafrule-get-response.raml deleted file mode 100644 index 76ac2d70..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/waf/wafrule-get-response.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "ruleId": "100001", - "groupId": "f90712123fb02287348dd34c0a282bb9", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "action": "monitor", - "defaultAction": "challenge", - "description": "Anomaly:Header:User-Agent - Missing" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/waf/wafrule-put-request.raml b/apis/cdn/cdn-api-process-apis/examples/waf/wafrule-put-request.raml deleted file mode 100644 index bdf57ddb..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/waf/wafrule-put-request.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "action": "monitor" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/waf/wafrule-put-response.raml b/apis/cdn/cdn-api-process-apis/examples/waf/wafrule-put-response.raml deleted file mode 100644 index ba975cad..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/waf/wafrule-put-response.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "ruleId": "100001", - "groupId": "f90712123fb02287348dd34c0a282bb9", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "action": "monitor", - "defaultAction": "challenge", - "description": "Anomaly:Header:User-Agent - Missing " - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/waf/wafrules-get-response.raml b/apis/cdn/cdn-api-process-apis/examples/waf/wafrules-get-response.raml deleted file mode 100644 index b091c4ed..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/waf/wafrules-get-response.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": [ - { - "ruleId": "100001", - "groupId": "f90712123fb02287348dd34c0a282bb9", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "action": "monitor", - "defaultAction": "challenge", - "description": "Anomaly:Header:User-Agent - Missing" - }, - { - "ruleId": "100002", - "groupId": "f90712123fb02287348dd34c0a282bb9", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "action": "monitor", - "defaultAction": "challenge", - "description": "DoS - IE6 Binary POST" - }, - { - "ruleId": "100002A", - "groupId": "f90712123fb02287348dd34c0a282bb9", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "action": "monitor", - "defaultAction": "challenge", - "description": "DoS - CtrlFunc Botnet" - } - ] - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-response.raml b/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-response.raml deleted file mode 100644 index 8186305d..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-response.raml +++ /dev/null @@ -1,48 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": [ - { - "ruleId": "8ac8bc2a661e475d940980f9317f28e1", - "action": "block", - "score": 5, - "categories": [ - "application-multi", - "attack-generic", - "capec-1000", - "capec-210", - "capec-220", - "capec-272", - "capec-274", - "language-multi", - "paranoia-level-1", - "pci-12-1", - "platform-multi" - ], - "description": "911100: Method is not allowed by policy", - "lastUpdated": "2024-08-19T17:26:58.593021Z", - "enabled": false - }, - { - "ruleId": "53065ac9bd9449f3895f1865467a0e6a", - "action": "block", - "score": 5, - "categories": [ - "application-multi", - "attack-reputation-scanner", - "capec-1000", - "capec-118", - "capec-224", - "capec-310", - "capec-541", - "language-multi", - "paranoia-level-1", - "pci-6-5-10", - "platform-multi" - ], - "description": "913100: Found User-Agent associated with security scanner", - "lastUpdated": "2024-08-19T17:26:58.593021Z", - "enabled": true - } - ] - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-request.raml b/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-request.raml deleted file mode 100644 index 7299d0cc..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-request.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "action": "log", - "enabled": true - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-response.raml b/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-response.raml deleted file mode 100644 index d1e529c4..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-response.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": { - "ruleId": "53065ac9bd9449f3895f1865467a0e6a", - "action": "log", - "score": 5, - "categories": [ - "application-multi", - "attack-reputation-scanner", - "capec-1000", - "capec-118", - "capec-224", - "capec-310", - "capec-541", - "language-multi", - "paranoia-level-1", - "pci-6-5-10", - "platform-multi" - ], - "description": "913100: Found User-Agent associated with security scanner", - "lastUpdated": "2024-08-19T17:26:58.593021Z", - "enabled": true - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-response.raml b/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-response.raml deleted file mode 100644 index a5ea8529..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-response.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": [ - { - "name": "Managed Ruleset", - "rulesetId": "efb7b8c949ac4650a09736fc376e9aee", - "action": "default", - "enabled": true - }, - { - "name": "OWASP Core Ruleset", - "rulesetId": "4814384a9e5d4991b9815dcfc25d2f1f", - "action": "log", - "anomalyScoreThreshold": 25, - "anomalyScore": "high", - "paranoiaLevel": 1, - "enabled": true - }, - { - "name": "Leaked Crednetials Check Ruleset", - "rulesetId": "c2e184081120413c86c3ab7e14069605", - "action": "block", - "enabled": true - } - ] - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-update-request.raml b/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-update-request.raml deleted file mode 100644 index 6cd9d0f6..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-update-request.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "action": "js_challenge", - "enabled": true - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-update-response.raml b/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-update-response.raml deleted file mode 100644 index e01f0683..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-update-response.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": { - "name": "Managed Ruleset", - "rulesetId": "efb7b8c949ac4650a09736fc376e9aee", - "action": "js_challenge", - "enabled": true - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/wafpackages/wafpackages_get_example.raml b/apis/cdn/cdn-api-process-apis/examples/wafpackages/wafpackages_get_example.raml deleted file mode 100644 index 9fb6a21f..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/wafpackages/wafpackages_get_example.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "data" : - { - "id": "c504870194831cd12c3fc0284f294abb", - "name": "OWASP ModSecurity Core Rule Set", - "description": "OWASP Core Ruleset (2013) provides protection against common attack categories, including SQL Injection and Cross-Site Scripting.", - "zone_id": "56702a674281951f541f9f304f7431f0", - "detection_mode": "anomaly", - "sensitivity": "low", - "action_mode": "simulate" - } -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/wafpackages/wafpackages_patch_example.raml b/apis/cdn/cdn-api-process-apis/examples/wafpackages/wafpackages_patch_example.raml deleted file mode 100644 index 0b043467..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/wafpackages/wafpackages_patch_example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "data" : - { - "sensitivity": "low", - "action_mode": "simulate" - } -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/certificate-post-request.raml b/apis/cdn/cdn-api-process-apis/examples/zone/certificate-post-request.raml deleted file mode 100644 index d83b6a82..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/certificate-post-request.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 NamedExample - -Request Body Example for Self-Managed Certificate: - { - "hostname": "www.salesforce.com", - "certificate": "-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIJAMHAwfXZ5PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\nBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX\naWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF\nMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1\nCGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB\nKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5\n0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI\ndZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2\nizNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4\n9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI\nGKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV\nBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF\nMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2\n2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP\nMlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG\nSvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq\n2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw\nYbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY=\n-----END CERTIFICATE-----", - "privateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG\ndtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn\nabIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid\ntnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py\nFxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE\newooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb\nHBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/\naxiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb\n+ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g\n+j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv\nKLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7\n9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo\n/WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu\niacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9\nN2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe\nVAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB\nvULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U\nlySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR\n9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7\nmEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX\ndFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe\nPG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS\nfhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W\nqu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T\nlv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi\n-----END RSA PRIVATE KEY-----" - } - -Request Body Example 1 for eCDN-Managed Certificate: - { - "hostname": "test.salesforce.com", - "certificateType": "automatic", - "certificateAuthority": "lets_encrypt" - } - -Request Body Example 2 for eCDN-Managed Certificate: - { - "hostname": "test.salesforce.com", - "certificateType": "automatic", - "certificateAuthority": "google", - "certificateValidation": "txt" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response1.raml b/apis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response1.raml deleted file mode 100644 index 47766b63..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response1.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "certificateId": "730a1be4-22d7-11eb-aff1-0242ac120002", - "status": "ACTIVE", - "hosts": ["salesforce.com"], - "expiresOn": "2022-01-12T04:15:57Z", - "uploadedOn": "2020-01-12T04:15:57Z", - "issuer": "DigiCert", - "signature": "SHA256WithRSA", - "certificateType": "custom", - "customHostnameVerificationTXTName": "_salesforce.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameId": "465a48f6-3d98-4c15-9312-211984ee8629", - "customHostname": "test.salesforce.com", - "customHostnameStatus": "ACTIVE" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response2.raml b/apis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response2.raml deleted file mode 100644 index 564e88e4..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response2.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "certificateId": "730a1be4-22d7-11eb-aff1-0242ac120002", - "hosts": ["salesforce.com"], - "expiresOn": "2022-01-12T04:15:57Z", - "uploadedOn": "2020-01-12T04:15:57Z", - "status": "PENDING", - "certificateType": "automatic", - "certificateAuthority": "google", - "certificateValidation": "txt", - "certificateVerificationTXTName": "_acme-challenge.test.example.com", - "certificateVerificationTXTValue": "SH5Yet8S5dBwPXcRcCjXdf9FXMBVnQjihQ8oN8LoMv0", - "certificateVerificationStatus": "PENDING", - "customHostnameVerificationTXTName": "_salesforce.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameId": "465a48f6-3d98-4c15-9312-211984ee8629", - "customHostname": "test.salesforce.com", - "customHostnameStatus": "ACTIVE" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/certificate-update-request.raml b/apis/cdn/cdn-api-process-apis/examples/zone/certificate-update-request.raml deleted file mode 100644 index ec28bd62..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/certificate-update-request.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 NamedExample - -Request Body Example for Self-Managed Certificate: - { - "hostname": "www.salesforce.com", - "certificate": "-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIJAMHAwfXZ5PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\nBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX\naWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF\nMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1\nCGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB\nKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5\n0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI\ndZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2\nizNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4\n9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBTLbE49rWf288N6sJA5BRb6FJI\nGKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV\nBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF\nMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2\n2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP\nMlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG\nSvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq\n2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw\nYbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY=\n-----END CERTIFICATE-----", - "privateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG\ndtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn\nabIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid\ntnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py\nFxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE\newooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb\nHBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/\naxiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb\n+ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g\n+j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv\nKLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7\n9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo\n/WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu\niacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9\nN2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe\nVAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB\nvULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U\nlySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR\n9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7\nmEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX\ndFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe\nPG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS\nfhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W\nqu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T\nlv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi\n-----END RSA PRIVATE KEY-----" - } - -Request Body Example 1 for eCDN-Managed Certificate: - { - "hostname": "test.salesforce.com", - "certificateType": "automatic", - "certificateAuthority": "lets_encrypt" - } - -Request Body Example 2 for eCDN-Managed Certificate: - { - "hostname": "test.salesforce.com", - "certificateType": "automatic", - "certificateAuthority": "google", - "certificateValidation": "txt" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response1.raml b/apis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response1.raml deleted file mode 100644 index da503a38..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response1.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "certificateId": "730a1be4-22d7-11eb-aff1-0242ac120002", - "status": "ACTIVE", - "hosts": ["salesforce.com"], - "expiresOn": "2022-01-12T04:15:57Z", - "uploadedOn": "2020-01-12T04:15:57Z", - "customHostnameVerificationTXTName": "_salesforce.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameId": "465a48f6-3d98-4c15-9312-211984ee8629", - "customHostname": "test.salesforce.com", - "customHostnameStatus": "ACTIVE", - "certificateType": "custom" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response2.raml b/apis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response2.raml deleted file mode 100644 index 564e88e4..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response2.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "certificateId": "730a1be4-22d7-11eb-aff1-0242ac120002", - "hosts": ["salesforce.com"], - "expiresOn": "2022-01-12T04:15:57Z", - "uploadedOn": "2020-01-12T04:15:57Z", - "status": "PENDING", - "certificateType": "automatic", - "certificateAuthority": "google", - "certificateValidation": "txt", - "certificateVerificationTXTName": "_acme-challenge.test.example.com", - "certificateVerificationTXTValue": "SH5Yet8S5dBwPXcRcCjXdf9FXMBVnQjihQ8oN8LoMv0", - "certificateVerificationStatus": "PENDING", - "customHostnameVerificationTXTName": "_salesforce.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameId": "465a48f6-3d98-4c15-9312-211984ee8629", - "customHostname": "test.salesforce.com", - "customHostnameStatus": "ACTIVE" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response1.raml b/apis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response1.raml deleted file mode 100644 index 47689ba5..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response1.raml +++ /dev/null @@ -1,55 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": [ - { - "certificateId": "14b72e2c-db8e-40ec-9f89-d80ca431a36e", - "status": "PENDING_VALIDATION", - "minTlsVersion": "1.2", - "certificateType": "automatic", - "certificateAuthority": "google", - "certificateValidation": "txt", - "certificateVerificationTXTName": "_acme-challenge.test.example.com", - "certificateVerificationTXTValue": "DBCtxdyQSyo9eXxys-uGVCwPFHLsc8_lu11QetQz4IA", - "certificateVerificationStatus": "PENDING", - "customHostnameId": "6c8beb36-a679-4eca-a09a-e3d6aca12787", - "customHostname": "test.example.com", - "customHostnameStatus": "ACTIVE" - }, - { - "certificateId": "16b3f671-de15-4ba8-8c02-84ba011b7751", - "hosts": [ - "shop.example.com" - ], - "expiresOn": "2024-05-27T22:58:10Z", - "uploadedOn": "2024-02-27T22:58:11Z", - "issuer": "LetsEncrypt", - "signature": "SHA256WithRSA", - "status": "ACTIVE", - "minTlsVersion": "1.2", - "certificateType": "automatic", - "certificateAuthority": "lets_encrypt", - "certificateValidation": "http", - "customHostnameId": "dd625c6d-8553-4d14-abc2-6d747866c8d9", - "customHostname": "shop.example.com", - "customHostnameStatus": "ACTIVE" - }, - { - "certificateId": "f135013c-2bf7-4225-b043-84cf35a93e12", - "hosts": [ - "*.example.com" - ], - "expiresOn": "2024-04-09T20:36:39Z", - "uploadedOn": "2024-03-19T22:32:41Z", - "issuer": "LetsEncrypt", - "signature": "SHA256WithRSA", - "status": "ACTIVE", - "minTlsVersion": "1.2", - "certificateType": "custom", - "customHostnameId": "6567aee6-bdbe-4cb1-9f4b-73209c5e867a", - "customHostname": "www.example.com", - "customHostnameStatus": "ACTIVE" - } - ] -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response2.raml b/apis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response2.raml deleted file mode 100644 index e013691c..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response2.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": [ - { - "certificateId": "dc95610a-9a20-4e24-b6d6-232df5fc32d1", - "hosts": [ - "shop.example.com" - ], - "expiresOn": "2024-05-14T23:00:45Z", - "uploadedOn": "2024-03-19T21:28:36Z", - "issuer": "LetsEncrypt", - "signature": "SHA256WithRSA", - "status": "ACTIVE", - "certificateType": "custom_legacy" - }, - { - "certificateId": "3a2a71c6-c00f-41c4-86dd-d6dc434851d5", - "hosts": [ - "www.example.com" - ], - "expiresOn": "2024-04-15T17:07:59Z", - "uploadedOn": "2024-03-19T21:28:36Z", - "issuer": "LetsEncrypt", - "signature": "SHA256WithRSA", - "status": "ACTIVE", - "certificateType": "custom_legacy" - } - ] -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/custom-hostnames-patch-response.raml b/apis/cdn/cdn-api-process-apis/examples/zone/custom-hostnames-patch-response.raml deleted file mode 100644 index ec347c12..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/custom-hostnames-patch-response.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "customHostnameId": "465a48f6-3d98-4c15-9312-211984ee8629", - "customHostname": "test.salesforce.com", - "customHostnameVerificationTXTName": "_salesforce.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameStatus": "ACTIVE" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/security-settings-response.raml b/apis/cdn/cdn-api-process-apis/examples/zone/security-settings-response.raml deleted file mode 100644 index 5bae9210..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/security-settings-response.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample - { - "data": - { - "hsts": { - "enabled" : false, - "includeSubdomains" : false, - "maxAge" : 200, - "preload" : false - }, - "securityLevel" : "medium", - "tls13Enabled" : false, - "alwaysUseHttps": true - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/security-settings-update-request.raml b/apis/cdn/cdn-api-process-apis/examples/zone/security-settings-update-request.raml deleted file mode 100644 index d16d4897..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/security-settings-update-request.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "hsts": { - "enabled" : false, - "preload" : true - }, - "securityLevel" : "high", - "tls13Enabled" : true, - "alwaysUseHttps" : true -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/speed-settings-patch-request.raml b/apis/cdn/cdn-api-process-apis/examples/zone/speed-settings-patch-request.raml deleted file mode 100644 index e73b1afb..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/speed-settings-patch-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample - -Request Body Example: - { - "brotliCompression": "off", - "http2Prioritization": "off" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml b/apis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml deleted file mode 100644 index 2548311c..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample - -data: - brotliCompression: off - http2Prioritization: off - minifyCss: off - minfyHtml": off - minifyJs": off - polish: off - webp: off \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/storefront-zone-create-request.raml b/apis/cdn/cdn-api-process-apis/examples/zone/storefront-zone-create-request.raml deleted file mode 100644 index ae2a1286..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/storefront-zone-create-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample - - { - "domainName": "cc-merchant.com" - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/storefront-zone-create-response.raml b/apis/cdn/cdn-api-process-apis/examples/zone/storefront-zone-create-response.raml deleted file mode 100644 index 0e62fcc9..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/storefront-zone-create-response.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "zoneId": "023e105f4ecef8ad9ca31a8372d0c353", - "zoneName": "stg-zzzz-cc-merchant-com.cc-ecdn.net", - "createdOn": "2022-01-01T05:20:00.12345Z", - "status": "active" - } - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/zones-get-response.raml b/apis/cdn/cdn-api-process-apis/examples/zone/zones-get-response.raml deleted file mode 100644 index 65f04976..00000000 --- a/apis/cdn/cdn-api-process-apis/examples/zone/zones-get-response.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": [ - { - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "name": "sfcc-cdn.net", - "status": "pending" - } - ] - } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange.json b/apis/cdn/cdn-api-process-apis/exchange.json deleted file mode 100644 index 0a897818..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "dependencies": [ - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "provided": false - }, - { - "version": "1.1.12", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "provided": false - } - ], - "version": "1.0.36", - "apiVersion": "1.0.36", - "descriptorVersion": "1.0.0", - "classifier": "raml", - "main": "cdnapi-process-api.raml", - "assetId": "cdn-api-process-apis", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "CDN API - Process APIs" -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml deleted file mode 100644 index 3fa2f65e..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml deleted file mode 100644 index 9270d9e3..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml deleted file mode 100644 index 27fa085f..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml +++ /dev/null @@ -1,95 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - 405: - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json deleted file mode 100644 index 75652f8c..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.12","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml deleted file mode 100644 index b616b750..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/glossary.md b/apis/cdn/cdn-api-process-apis/glossary.md deleted file mode 100644 index 1448623b..00000000 --- a/apis/cdn/cdn-api-process-apis/glossary.md +++ /dev/null @@ -1 +0,0 @@ -This content has moved to the [CDN Zones guide](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones.html). \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/traits/HasBadRequestResponse.raml b/apis/cdn/cdn-api-process-apis/traits/HasBadRequestResponse.raml deleted file mode 100644 index 8b7c6c45..00000000 --- a/apis/cdn/cdn-api-process-apis/traits/HasBadRequestResponse.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to the **response** on endpoints that can send back a 400 - Bad Request. - -uses: - ApiStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - -responses: - 400: - description: | - The request sent by the caller is not valid. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: !include ../examples/error/bad-request-example.raml \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/traits/HasConflictResponse.raml b/apis/cdn/cdn-api-process-apis/traits/HasConflictResponse.raml deleted file mode 100644 index 73d47913..00000000 --- a/apis/cdn/cdn-api-process-apis/traits/HasConflictResponse.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to the **response** on endpoints that can send back a 409 - Conflict. - -uses: - ApiStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - -responses: - 409: - description: | - The request sent by the caller is conflicted. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: !include ../examples/error/conflict-example.raml \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/traits/HasForbiddenAccessResponse.raml b/apis/cdn/cdn-api-process-apis/traits/HasForbiddenAccessResponse.raml deleted file mode 100644 index 00966f9a..00000000 --- a/apis/cdn/cdn-api-process-apis/traits/HasForbiddenAccessResponse.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to the **response** on endpoints that can send back a 403 - Access Forbidden exception. - -uses: - ApiStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - -responses: - 403: - description: | - The caller does not have access to requested resource. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: !include ../examples/error/forbidden-access-example.raml \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/traits/HasInternalServerErrorResponse.raml b/apis/cdn/cdn-api-process-apis/traits/HasInternalServerErrorResponse.raml deleted file mode 100644 index 37ffeb9e..00000000 --- a/apis/cdn/cdn-api-process-apis/traits/HasInternalServerErrorResponse.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to the **response** on endpoints that can send back a 500 - Internal Server Error response. - -uses: - ApiStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - -responses: - 500: - description: | - An error occurred on the server side. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: !include ../examples/error/internal-server-error-example.raml \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/traits/HasResourceNotFoundResponse.raml b/apis/cdn/cdn-api-process-apis/traits/HasResourceNotFoundResponse.raml deleted file mode 100644 index 69c5aa91..00000000 --- a/apis/cdn/cdn-api-process-apis/traits/HasResourceNotFoundResponse.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to the **response** on endpoints that can send back a 404 - Resource Not Found exception. - -uses: - ApiStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - -responses: - 404: - description: | - The resource requested by the caller was not found. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: !include ../examples/error/resource-not-found-example.raml \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/traits/HasUnauthorizedResponse.raml b/apis/cdn/cdn-api-process-apis/traits/HasUnauthorizedResponse.raml deleted file mode 100644 index 7ad07c20..00000000 --- a/apis/cdn/cdn-api-process-apis/traits/HasUnauthorizedResponse.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to the **response** on endpoints that can send back a 403 - Access Forbidden exception. - -uses: - ApiStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - -responses: - 401: - description: | - The caller is not authorized to access the requested resource. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: !include ../examples/error/unauthorized-example.raml \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/use-cases.md b/apis/cdn/cdn-api-process-apis/use-cases.md deleted file mode 100644 index ac062b5c..00000000 --- a/apis/cdn/cdn-api-process-apis/use-cases.md +++ /dev/null @@ -1 +0,0 @@ -This content has moved to the [CDN Zones guide](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones.html). diff --git a/apis/checkout/orders/.metadata.json b/apis/checkout/orders/.metadata.json deleted file mode 100644 index 33be9ea5..00000000 --- a/apis/checkout/orders/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/orders/1.4.4", - "name": "Orders", - "description": "Manage order and order payment status.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "orders", - "version": "1.4.4", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Checkout" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/checkout/orders/create-order-description.md b/apis/checkout/orders/create-order-description.md deleted file mode 100644 index f1387ba4..00000000 --- a/apis/checkout/orders/create-order-description.md +++ /dev/null @@ -1,84 +0,0 @@ -Use this endpoint whenever a fully calculated and paid or authorized order is created in any third-party system. - -The endpoint can create an order on-the-fly in the Commerce Cloud platform by passing the order as JSON payload in the body of the POST request. - -Other than the Basket API, this endpoint decouples any relation to other system domains, such as: - -- Products -- Inventory -- Promotions -- Gift certificates -- Coupons - -The order isn't treated differently than any other orders in the Commerce Cloud platform, and any status updates or order exports behave the same. - -**Note**: For the custom attribute to be available for orders, configure it in Business Manager for both Basket and Order objects. - -**Important**: This endpoint uses the `ShopperTokenTsob` security scheme. Always check the Security section of the endpoint documentation, which is hidden by default. - -## Preconditions - -The checkout must happen before making a request to this endpoint. That means that all sanity checks _are_ applied, the inventory _is_ reserved, the payment _is_ authorized, and the Basket _is_ fully calculated (including all promotions). - -When meeting these conditions, it's possible to create the order in the Commerce Cloud platform. - -## Decoupling - -This endpoint can create an order with unknown products, with different pricing for known products, any unplanned price-adjustments (unrelated to the system's configured promotions), passing unknown payment, and shipping methods. - -**Note**: There's no lookup or calculation, even if the passed object is configured in the platform. - -## Still Coupled - -The endpoint is still coupled to the following: - -- the taxation policy (gross or net) is used from the site's preferences. -- the passed currency must be defined in the site. - -## Calculation - -There's no multiplying or dividing operations performed by the platform on this order. - -The following fields are summed up during runtime on the platform: - -**Order Level** - -- `adjustedMerchandizeTotalTax` -- `adjustedShippingTotalTax` -- `merchandizeTotalTax` -- `adjustedTax` -- `productSubTotal` -- `productTotal` -- `shippingTotalTax` -- `orderTotal` -- `taxTotal` - -**Line Item Level** - -- `priceAfterItemDiscount` -- `priceAfterOrderDiscount` -- `adjustedTax` - -**Shipment** - -- `merchandizeTotalTax` -- `productSubTotal` -- `productTotal` -- `shippingTotalTax` - -To make sure the fields are summed up correctly, the passed `orderTotal` and `taxTotal` are compared to the platform's summed up `orderTotal` and `taxTotal`. - -An `InvalidOrderTotalException` or `InvalidTaxTotalException` is thrown if the calculation doesn't match. - -The `orderTotal` and `taxTotal` are calculated as follows: - -- `orderTotal` = sum(`ProductLineItems.grossPrice`) + sum(`Shipments.shipmentTotal`) - sum(`ProductLineItems.PriceAdjustments.grossPrice` + `Order.PriceAdjustments.grossPrice`) -- `taxTotal` = sum (`ProductLineItems.tax`) + sum(`Shipments.taxTotal`) - sum(`ProductLineItems.PriceAdjustments.tax` + `Order.PriceAdjustments.tax`) - -## Order Status - -The order is automatically placed after creation. - -The payment status can be set via payload. - -All other status can be set via PATCH `orders/{orderNo}/status`. diff --git a/apis/checkout/orders/data-types.raml b/apis/checkout/orders/data-types.raml deleted file mode 100644 index 304ac431..00000000 --- a/apis/checkout/orders/data-types.raml +++ /dev/null @@ -1,2327 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all order relevant data types - -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - OrderUpdateRequest: - description: |- - Request body to create an order and set custom attributes on the order. - Please note that the custom attribute definition have to be configured both on the Basket and Order object in the platform. - type: - CommerceCloudStandards.OpenObject - properties: - PaymentInstrumentUpdateRequest: - description: |- - Request body to update custom properties. - type: - CommerceCloudStandards.OpenObject - properties: - PaymentTransactionUpdateRequest: - description: |- - Request body to update custom properties. - type: - CommerceCloudStandards.OpenObject - properties: - OrderConfirmationStatus: - description: |- - The order confirmation status. - type: string - enum: - - confirmed - - not_confirmed - example: - confirmed - OrderConfirmationStatusUpdateRequest: - description: |- - Request body to update the order confirmation status. - type: - CommerceCloudStandards.ClosedObject - properties: - status: - type: OrderConfirmationStatus - OrderExportStatus: - description: |- - The order export status. - type: string - enum: - - exported - - not_exported - - ready - - failed - example: - exported - OrderExportStatusUpdateRequest: - description: |- - Request body to update the order export status. - type: - CommerceCloudStandards.ClosedObject - properties: - status: - type: OrderExportStatus - OrderExternalStatusUpdateRequest: - description: |- - Request body to update the order external status. - type: - CommerceCloudStandards.ClosedObject - properties: - status: - description: |- - The new external status. - type: string - minLength: 1 - maxLength: 256 - example: - in_delivery - OrderPaymentStatus: - description: |- - The order payment status. - type: string - enum: - - paid - - part_paid - - not_paid - example: - paid - OrderPaymentStatusUpdateRequest: - description: |- - Request body to update the order payment status. - type: - CommerceCloudStandards.ClosedObject - properties: - status: - type: OrderPaymentStatus - OrderShippingStatus: - description: |- - The order shipping status. - type: string - enum: - - shipped - - part_shipped - - not_shipped - example: - shipped - OrderShippingStatusUpdateRequest: - description: |- - Request body to update the order shipping status. - type: - CommerceCloudStandards.ClosedObject - properties: - status: - type: OrderShippingStatus - OrderStatus: - description: |- - The order status. - type: string - enum: - - created - - new - - completed - - cancelled - - failed - example: - completed - OrderStatusUpdateRequest: - description: |- - Request body to update the order status. - type: - CommerceCloudStandards.ClosedObject - properties: - status: - description: |- - The new status. - type: string - enum: - - created - - new - - completed - - cancelled - - failed - - failed_with_reopen - example: - new - ShippingAddressUpdateRequest: - description: |- - Request body to update the shipping address. - type: - Address - properties: - OrdersResponse: - description: |- - Document representing an orders result. - type: - CommerceCloudStandards.ClosedObject - properties: - data: - description: |- - The orders data. - type: array - items: - type: Order - Order: - description: |- - Document representing an order. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as shipping. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. - type: number - format: double - example: - 0.3 - affiliatePartnerId?: - description: |- - The affiliate partner ID. - type: string - maxLength: 256 - example: - PARTNER_US_001 - affiliatePartnerName?: - description: |- - The affiliate partner name. - type: string - maxLength: 256 - example: - PARTNER_US_001 - billingAddress?: - description: |- - The billing address. - type: Address - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - businessType?: - description: |- - The business type. - type: string - enum: - - b2c - - b2b - example: - b2c - cancelCode?: - description: |- - The cancellation code. - type: string - maxLength: 256 - example: - canceled - cancelDescription?: - description: |- - The cancellation description. - type: string - maxLength: 4000 - example: - Ordered by mistake. - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - storefront - confirmationStatus?: - type: OrderConfirmationStatus - example: - confirmed - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. - type: string - maxLength: 256 - example: - Customer - creationDate?: - description: |- - The timestamp when the order was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - type: - CommerceCloudStandards.CurrencyCode - customerInfo?: - description: |- - The customer information for guest or logged-in customers. - type: CustomerInfo - customerLocale?: - description: |- - The locale of the customer who created the order. - type: string - maxLength: 256 - example: - en_US - customerOrderReference?: - description: |- - The customer-specific reference information. - type: string - maxLength: 256 - example: - REF_US_143 - exportStatus?: - type: OrderExportStatus - externalOrderNo?: - description: |- - The external order number associated with the order. - type: string - maxLength: 256 - example: - "00000410" - externalOrderStatus?: - description: |- - The status from an external order associated with this order. - type: string - maxLength: 256 - example: - Submitted - externalOrderText?: - description: |- - The text from an external order associated with this order. - type: string - maxLength: 4000 - example: - Order is being prepared - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. - type: string - maxLength: 256 - invoiceNo?: - description: |- - The invoice number. - type: string - maxLength: 256 - example: - "00000410" - lastModified?: - description: |- - The timestamp when the order was last modified. - type: datetime - example: - 2020-11-04T14:13:31.061Z - merchandizeTotalTax?: - description: |- - The total tax on products in the order, not including price adjustments or service charges such as shipping. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: array - items: - type: OrderNote - orderNo: - description: |- - The order number. - type: string - minLength: 1 - maxLength: 50 - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and, tax. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: PaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: OrderPaymentStatus - example: - paid - placeDate?: - description: |- - The timestamp when the order was placed. - type: datetime - example: - 2015-05-19T15:23:18.000Z - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99 - remoteHost?: - description: |- - The IP of the host that placed this order. You can turn IP logging on or off for your site. - type: string - maxLength: 40 - example: - 127.0.0.1 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: OrderShippingStatus - example: - shipped - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. - type: number - format: double - example: - 0.3 - siteId?: - description: |- - The order site. - type: string - maxLength: 32 - example: - ShoppingSite - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. - type: string - maxLength: 256 - sourceCodeGroupId?: - description: |- - The group ID of the source code assigned to the basket from which this order was created. - type: string - minLength: 1 - maxLength: 256 - status?: - description: |- - The status. - type: OrderStatus - example: - new - taxTotal?: - description: |- - The total tax amount. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). - type: string - enum: - - gross - - net - example: - net - Address: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - maxLength: 256 - example: - 45 Main Rd. - address2?: - description: |- - The second address line. - type: string - maxLength: 256 - example: - Apartment 204 - city?: - description: |- - The city. - type: string - maxLength: 256 - example: - Burlington - companyName?: - description: |- - The company name. - type: string - maxLength: 256 - example: - Salesforce - countryCode?: - type: CommerceCloudStandards.CountryCode - firstName?: - description: |- - The first name. - type: string - maxLength: 256 - example: - Max - fullName?: - description: |- - The full name. - type: string - maxLength: 256 - example: - Max Mustermann - jobTitle?: - description: |- - The job title. - type: string - maxLength: 256 - example: - Software Engineer - lastName?: - description: |- - The last name. - type: string - maxLength: 256 - example: - Mustermann - phone?: - description: |- - The phone number. - type: string - maxLength: 256 - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - maxLength: 256 - example: - PO BOX 109 - postalCode?: - description: |- - The postal code. - type: string - maxLength: 256 - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - maxLength: 256 - example: - Mr - secondName?: - description: |- - The second name. - type: string - maxLength: 256 - stateCode?: - description: |- - The state code. - type: string - maxLength: 256 - example: - MA - suffix?: - description: |- - The suffix. - type: string - maxLength: 256 - example: - Sr - suite?: - description: |- - The suite. - type: string - maxLength: 256 - title?: - description: |- - The title. - type: string - maxLength: 256 - example: - Dr - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductReference - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - maxLength: 256 - example: - 5ties - id?: - description: |- - The ID of the line item. - type: string - minLength: 1 - maxLength: 256 - example: - 91f4dd8bfa0653d58b7783b04f - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - maxLength: 256 - example: - Buy1Get2 - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The coupon code. - type: string - maxLength: 256 - example: - 5ties - couponItemId?: - description: |- - The coupon item ID. - type: string - minLength: 1 - maxLength: 256 - example: - d4c9c0141e9c74c150225580f3 - statusCode?: - description: |- - The status of the coupon item. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - no_applicable_promotion - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if the status code is "applied" or "no_applicable_promotion". - type: boolean - example: - true - CustomerInfo: - description: |- - Document representing a guest or logged-in customer. - type: - CommerceCloudStandards.ClosedObject - properties: - customerId?: - description: |- - The customer id. - type: string - maxLength: 100 - example: - abMKqMaNYOBMnNdDNzyC5oNTi5 - customerName?: - description: |- - The customer name. - type: string - maxLength: 256 - example: - Max Mustermann - customerNo?: - description: |- - The customer number. - type: string - maxLength: 100 - example: - "0002352" - email?: - description: |- - The customer email address. - type: string - maxLength: 256 - example: - no-reply@salesforce.com - guest?: - description: |- - A flag indicating if the order was placed by a guest. - type: boolean - example: - false - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.00 - grossPrice?: - description: |- - The gross price of the line item before applying any adjustments. - type: number - format: double - example: - 50.00 - itemText?: - description: |- - The text describing the item. - type: string - maxLength: 256 - example: - Nintendo eShop gift card. - netPrice?: - description: |- - The net price of the line item before applying any adjustments. - type: number - format: double - example: - 50.00 - tax?: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 50.00 - giftCertificateMerchantId?: - description: |- - The ID used to identify the certificate merchant. - type: string - minLength: 1 - maxLength: 256 - example: - Nintendo - giftCertificateItemId?: - description: |- - The item ID. - type: string - minLength: 1 - maxLength: 256 - example: - 629dea6e7b61e58da629b57b21 - message?: - description: |- - The gift certificate message. - type: string - maxLength: 4000 - example: - Birthday present. - recipientEmail?: - description: |- - The recipient email. - type: string - maxLength: 256 - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient name. - type: string - maxLength: 256 - example: - Daniel Mustermann - senderName?: - description: |- - The sender name. - type: string - maxLength: 256 - example: - Max Mustermann - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - minLength: 1 - maxLength: 256 - example: - me - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product item. For example, a refrigerator item can have a set of option items representing different warranties on the refrigerator. A shopper can only purchase one of the warranty option items together with the parent refrigerator item. - type: - CommerceCloudStandards.OpenObject - properties: - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 49.99 - grossPrice?: - description: |- - The gross price of the line item before applying any adjustments. - type: number - format: double - example: - 99.99 - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - false - itemText?: - description: |- - The text describing the item. - type: string - maxLength: 256 - example: - Extended Warranty - None - netPrice?: - description: |- - The net price of the line item before applying any adjustments. - type: number - format: double - example: - 49.99 - tax?: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 50.00 - optionId?: - description: |- - The ID of the option. - type: string - minLength: 1 - maxLength: 256 - example: - consoleWarranty - optionValueId?: - description: |- - The ID of the option value. - type: string - minLength: 1 - maxLength: 256 - example: - "000" - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - productId: - description: |- - The ID of the product. - type: string - minLength: 1 - maxLength: 100 - example: - "000" - OrderNote: - description: |- - Document representing an order note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The name of the user who created the order note. - type: string - minLength: 1 - maxLength: 256 - example: - Support - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - subject?: - description: |- - The subject. - type: string - minLength: 1 - maxLength: 256 - example: - Order Created - text?: - description: |- - The order note text. - type: string - maxLength: 4000 - example: - Order was created. - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - basePrice?: - description: |- - The adjustment amount. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 12.00 - grossPrice?: - description: |- - The adjustment amount, including tax. - type: number - format: double - example: - 50.00 - itemText?: - description: |- - The text describing the adjustment. - type: string - maxLength: 256 - example: - Employee discount applied. - netPrice?: - description: |- - The adjustment amount, not including tax. - type: number - format: double - example: - 38.00 - tax?: - description: |- - The tax on the adjustment amount. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The amount used to calculate the tax for this adjustment. - type: number - format: double - example: - 50.00 - abTestSegment?: - description: |- - The AB testing segment, if enabled for the site and applicable to this price adjustment. - type: ABTestSegment - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments not based on a discount, this value is null. - type: Discount - campaignId?: - description: |- - The campaign ID of the promotion this price adjustment is based on. For adjustments not based on a promotion, this value is null. For adjustments based on an AB test promotion, this value is not null, but isn't meaningful. - type: string - minLength: 1 - maxLength: 256 - example: - FreeShipping24 - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments not based on a coupon, this value is null. - type: string - minLength: 1 - maxLength: 256 - example: - 5ties - createdBy?: - description: |- - The user who created the price adjustment. - type: string - maxLength: 256 - example: - Customer - creationDate?: - description: |- - The timestamp when the price adjustment was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This flag is set to true unless the price adjustment was created by the promotion engine. - type: boolean - example: - false - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. If the price adjustment was created by the promotion engine, this value is always false. - type: boolean - example: - false - priceAdjustmentId?: - description: |- - The price adjustment ID. - type: string - minLength: 1 - maxLength: 256 - example: - ba248424e3eee797f062161f8b - promotionId: - description: |- - The promotion ID of the promotion this price adjustment is based on. Custom price adjustment can assign an arbitrary promotion ID, but it must be not used by the promotion engine. If no promotion ID is specified, then the system assigns a generated ID. - type: string - minLength: 1 - maxLength: 256 - example: - FreeShipping24 - reasonCode?: - description: |- - The reason code why this price adjustment was made. - type: string - minLength: 1 - maxLength: 256 - example: - Employee discount was applied - PaymentInstrument: - description: |- - Document representing an order payment instrument. - type: - CommerceCloudStandards.OpenObject - properties: - bankRoutingNumber?: - description: |- - The bank routing number. - type: string - maxLength: 256 - example: - "6784532" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the with the last 4 characters not masked. - type: string - maxLength: 256 - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. - type: string - minLength: 1 - maxLength: 256 - example: - ba248424e3eee797f062162f8b - paymentMethodId?: - description: |- - The payment method ID. - type: string - maxLength: 256 - example: - CREDIT_CARD - paymentTransaction?: - description: |- - The payment transaction. - type: PaymentTransaction - PaymentTransaction: - description: |- - Document representing an order payment transaction. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. - type: Status - transactionId?: - description: |- - The payment service specific transaction ID. - type: string - maxLength: 256 - example: - 3226f0a3bc4b4f244d70dd1c2b - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.99 - grossPrice?: - description: |- - The gross price of the line item before applying any adjustments. - type: number - format: double - example: - 99.99 - itemText?: - description: |- - The text describing the item. - type: string - maxLength: 256 - example: - Nintendo DS Game Console - netPrice?: - description: |- - The net price of the line item before applying any adjustments. - type: number - format: double - example: - 80.99 - tax?: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 19.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 99.99 - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. - type: number - format: double - example: - 19.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. - type: string - minLength: 1 - maxLength: 256 - example: - ba248414e3eee797f062162f8b - bonusProductLineItem?: - description: |- - A flag indicating whether this item is a bonus product. - type: boolean - example: - false - brand?: - type: string - maxLength: 256 - example: - Nintendo - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - externalLineItemStatus?: - description: |- - The external line item status. - type: string - maxLength: 256 - example: - Available - externalLineItemText?: - description: |- - The external line item text. - type: string - example: - The item is available - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - maxLength: 4000 - example: - Happy Birthday - inventoryId?: - description: |- - The inventory list ID associated with this item. - type: string - maxLength: 256 - example: - inventory - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. - type: string - minLength: 1 - maxLength: 256 - example: - 430ef5aad3a24de59378458434 - minOrderQuantity?: - description: |- - The minimum order quantity for this product. - type: number - format: double - example: - 1 - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - position?: - description: |- - The position of the product line item. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - productId: - description: |- - The ID of the product. - type: string - minLength: 1 - maxLength: 100 - example: - nintendo-ds-console - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - maxLength: 4000 - example: - Nintendo DS Game Console - quantity?: - description: |- - The ordered quantity of the products represented by this item. - minimum: 0 - type: number - format: double - example: - 1 - shipmentId: - description: |- - The ID of the shipment this item belong to. - type: string - minLength: 1 - maxLength: 256 - example: - me - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a surcharge applied to individual products using a particular shipping method. - type: string - minLength: 1 - maxLength: 256 - example: - 006490dcc338feeafc71c964bf - stepQuantity?: - type: number - format: double - example: - 1 - taxRate: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. - type: number - format: double - example: - 0.19 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id?: - description: |- - The ID of the product list item. - type: string - minLength: 1 - maxLength: 256 - example: - ba248424e3fee797f062162f8b - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - product?: - description: |- - A reference to the associated product. - type: ProductReference - productList?: - description: |- - A reference to the associated product list. - type: ProductListReference - public?: - type: boolean - example: - false - purchasedQuantity: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListReference: - description: |- - Document representing a product list. - type: - CommerceCloudStandards.ClosedObject - properties: - description?: - description: |- - The description of this product list. - type: string - maxLength: 256 - name?: - description: |- - The name of this product list. - type: string - maxLength: 256 - public?: - description: |- - A flag indicating whether the owner made this product list available for access by other customers. - type: boolean - example: - false - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - wish_list - ProductReference: - description: |- - Document representing a product. - type: - CommerceCloudStandards.ClosedObject - properties: - productId?: - description: |- - The ID of the product. - type: string - minLength: 1 - maxLength: 100 - example: - nintendo-ds-console - productName?: - description: |- - The name of the product. - type: string - maxLength: 4000 - example: - Nintendo DS Game Console - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including service charges such as shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - maxLength: 4000 - example: - Happy Birthday - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as shipping. - type: number - format: double - example: - 1.50 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 29.99 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 29.99 - shipmentId: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - minLength: 1 - maxLength: 256 - shipmentNo: - description: |- - The shipment number of this shipment. This number is automatically generated. - type: string - maxLength: 256 - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, and tax. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: Address - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethodReference - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - shipped - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. This field will be checked against the summed up taxTotal and an InvalidTaxTotalException will be thrown if the values do not match. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - maxLength: 256 - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - grossPrice?: - description: |- - The gross price of the shipping item before applying any adjustments. - type: number - format: double - example: - 5.99 - itemText?: - description: |- - The text describing the shipping item. - type: string - maxLength: 256 - example: - Shipping - netPrice?: - description: |- - The net price of the shipping item before applying any adjustments. - type: number - format: double - example: - 5.99 - tax?: - description: |- - The tax for the shipping item, not including price adjustments. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The amount used to calculate the tax for this shipping item. - type: number - format: double - example: - 5.99 - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. - type: number - format: double - example: - 0.0 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a custom price adjustment for it. - type: string - minLength: 1 - maxLength: 256 - example: - ba248424e3eee798f062162f8b - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 4.99 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - minLength: 1 - maxLength: 256 - example: - "me" - taxRate: - description: |- - The tax rate applicable to this shipping line item. For a 10% tax rate, the value is 0.1. - type: number - format: double - example: - 0.19 - type?: - description: |- - The type of shipping charge applicable to this shipping item. - type: string - default: fixed_price - enum: - - fixed_price - - surcharge - example: - fixed_price - ShippingMethodReference: - description: |- - Document representing a reference to a shipping method. - type: - CommerceCloudStandards.ClosedObject - properties: - id?: - description: |- - The shipping method ID. - type: string - maxLength: 256 - example: - "0000457" - ABTestSegment: - description: |- - Document representing an AB test segment. In an AB test that compares different customer experiences, a segment defines the customers who receive a particular experience. - type: - CommerceCloudStandards.ClosedObject - properties: - testId: - description: |- - The ID of the associated AB test. - type: string - minLength: 1 - maxLength: 40 - segmentId: - description: |- - The ID of the segment. - type: string - minLength: 1 - maxLength: 40 - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.ClosedObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. - type: number - format: double - example: - 5.00 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The ID of the price book for discount types that use a price book. - type: string - maxLength: 256 - example: - "usd-sale-prices" - type: - description: |- - The type of discount. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - fixed_price - Status: - description: |- - Document representing a status of an object. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - maxLength: 256 - example: - OK - message?: - description: |- - The message corresponding to the status. - type: string - maxLength: 256 - example: - Credit Card successfully authorized. - status?: - description: |- - A constant corresponding to the status code. The value is 0 for OK, 1 for ERROR, and 2 for WARN. - type: integer - format: int32 - maximum: 2 - minimum: 0 - example: - 0 - PaymentCard: - description: Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - type: string - maxLength: 256 - example: - Visa - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. - type: boolean - example: - false - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data at the - token store. - type: string - maxLength: 256 - example: - E67TY8GQ27X - expirationMonth?: - description: |- - The month when the payment card expires. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - type: string - maxLength: 256 - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - type: string - maxLength: 256 - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 256 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of payment card number. - type: string - maxLength: 4 - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - CreateOrderRequest: - description: |- - Document representing the order create request. - type: - CommerceCloudStandards.OpenObject - properties: - billingAddress: - description: |- - The billing address. The name from the billing address is used as the customer's name (for guest customer) and is therefore required. - type: - Address - businessType?: - description: |- - The business type. - type: string - enum: - - b2c - - b2b - example: - b2c - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - instagramcommerce - currency: - description: |- - The ISO 4217 mnemonic code of the currency. The passed currency have to be configured as a valid and active currency on the site. - type: string - pattern: '[A-Z]{3}' - example: - USD - customerLocale?: - description: |- - The locale of the customer who created the order. - maxLength: 256 - type: string - example: - en_US - orderNo?: - description: |- - The order number. This has to be unique in the site. Will be generated if no orderNo is passed in payload. - minLength: 1 - maxLength: 50 - type: string - example: - ORDER_000000001 - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - maxItems: 20 - items: - type: - CreateOrderPriceAdjustment - orderTotal: - description: |- - The total price, including products, shipping and tax. If this value does not match the calculated value (sum of all grossPrices minus PriceAdjustments) an InvalidOrderTotalException will be thrown. - type: number - format: double - example: - 39.27 - paymentInstruments: - description: |- - The payment instruments list. - type: array - maxItems: 20 - items: - type: CreateOrderPaymentInstrument - paymentStatus?: - description: |- - The payment status from the order. - type: string - enum: - - paid - - not_paid - example: - paid - productItems: - description: |- - The product items. - type: array - minItems: 1 - maxItems: 200 - items: - type: - CreateOrderProductItems - shipments: - description: |- - The shipments. - type: array - minItems: 1 - maxItems: 10 - items: - type: - CreateOrderShipment - taxTotal: - description: |- - The total tax amount. - type: number - format: double - CreateOrderPriceAdjustment: - type: - CommerceCloudStandards.OpenObject - description: !include order-create-price-adjustments.md - properties: - amount?: - description: |- - Amount to be reduced from the applied line item's price. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 6.00 - basePrice?: - description: |- - The adjustment amount. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - -6.00 - grossPrice: - description: |- - The adjustment amount, including tax. - type: number - format: double - example: - -6.00 - itemText?: - description: |- - The text describing the price adjustment. - example: - 6 Dollar off. - netPrice: - description: |- - The adjustment amount, not including tax. - type: number - format: double - example: - -5.00 - reasonCode?: - description: The reason code why this price adjustment was made. - type: string - example: - Special Offer. - tax: - description: The tax on the adjustment amount. - type: number - format: double - example: - 1.00 - taxBasis?: - description: The amount used to calculate the tax for this adjustment. - type: number - format: double - example: - -5 - CreateOrderPaymentInstrument: - description: |- - Document representing a payment instrument. - type: - CommerceCloudStandards.OpenObject - properties: - paymentMethodId: - description: The payment method ID. - maxLength: 256 - type: string - example: - PAYPAL - paymentTransaction?: - description: The payment transaction. - type: - CreateOrderPaymentTransaction - CreateOrderProductItems: - description: |- - Document representing a product item for an order. - type: - CommerceCloudStandards.OpenObject - properties: - basePrice: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 34.32 - brand?: - description: |- - The brand of the line item. - maxLength: 256 - type: string - example: - brand0001 - grossPrice: - description: |- - The gross price of the line item before applying any adjustments. - type: number - format: double - example: - 34.32 - itemText?: - description: |- - The text describing the item. - type: string - example: - Green Umbrella - netPrice: - description: |- - The net price of the line item before applying any adjustments. - type: number - format: double - example: - 30.32 - optionItems?: - description: |- - The array of option items. This array can be empty. - type: array - maxItems: 10 - items: - type: - CreateOrderOptionItem - priceAdjustments?: - description: |- - The price adjustments on product line item. - type: array - maxItems: 20 - items: - type: - CreateOrderPriceAdjustment - productId: - description: The ID of the product. - minLength: 1 - maxLength: 100 - type: string - example: - green_umbrella-00001 - productName?: - description: The name of the product. - maxLength: 256 - type: string - example: - green umbrella - quantity: - description: The ordered quantity of the products represented by this item. - minimum: 0 - type: number - format: double - example: - 3.0 - shipmentId: - description: The ID of the shipment this item belong to. Shipment 'me' is reserved for the system and is not valid to pass. - minLength: 1 - maxLength: 256 - type: string - example: - shipment00001 - tax: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 4.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 30.32 - taxRate?: - description: |- - The tax rate applicable to this product line item. - For a 10% tax rate, the value is 0.1. - Just for displaying purpose. No calculation or sanity checks are applied. - type: number - format: double - CreateOrderShipment: - description: |- - Document representing a shipment for an order. - type: - CommerceCloudStandards.ClosedObject - properties: - shipmentId: - description: |- - The order-specific ID of the shipment. The field shipmentId from line items reference to this value. - The first shipment always become the standard shipment and is named 'me' therefore. The Id 'me' is reserved for the standard shipment and it is not allowed to be used by the API caller. - minLength: 1 - maxLength: 256 - type: string - example: - shipment00001 - shippingMethod: - description: |- - The shipping method. This is no reference to any shipments configured in the platform. - type: string - example: - EXPRESS - shippingAddress: - description: |- - The shipping address. - type: - Address - shippingTotal: - description: |- - The total price of all shipping charges in the shipment. - If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 4.95 - taxTotal: - description: |- - The total tax on the shipment. - type: number - format: double - example: - 0.75 - CreateOrderOptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product item. For example, a refrigerator item can have a set of option items representing different warranties on the refrigerator. A shopper can only purchase one of the warranty option items together with the parent refrigerator item. - type: - CommerceCloudStandards.OpenObject - properties: - basePrice: - description: |- - The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 49.99 - grossPrice: - description: |- - The gross price of the line item before applying any adjustments. - type: number - format: double - example: - 99.99 - itemText?: - description: |- - The text describing the item. - type: string - maxLength: 256 - example: - Extended Warranty - None - netPrice: - description: |- - The net price of the line item before applying any adjustments. - type: number - format: double - example: - 49.99 - tax: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 50.00 - optionId: - description: |- - The ID of the option. - type: string - minLength: 1 - maxLength: 256 - example: - consoleWarranty - optionValueId: - description: |- - The ID of the option value. - type: string - minLength: 1 - maxLength: 256 - example: - "000" - priceAdjustments?: - description: |- - The price adjustments. - type: array - maxItems: 20 - items: - type: CreateOrderPriceAdjustment - productId: - description: |- - The ID of the product. - type: string - minLength: 1 - maxLength: 100 - example: - "000" - CreateOrderPaymentTransaction: - description: |- - Document representing an order payment transaction. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. - type: Status - transactionId: - description: |- - The payment service specific transaction ID. - type: string - maxLength: 256 - example: - 3226f0a3bc4b4f244d70dd1c2b \ No newline at end of file diff --git a/apis/checkout/orders/examples/order-confirmation-status-request.raml b/apis/checkout/orders/examples/order-confirmation-status-request.raml deleted file mode 100644 index ee599155..00000000 --- a/apis/checkout/orders/examples/order-confirmation-status-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "status": "confirmed" - } \ No newline at end of file diff --git a/apis/checkout/orders/examples/order-export-status-request.raml b/apis/checkout/orders/examples/order-export-status-request.raml deleted file mode 100644 index 2f93e390..00000000 --- a/apis/checkout/orders/examples/order-export-status-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "status": "exported" - } \ No newline at end of file diff --git a/apis/checkout/orders/examples/order-external-status-request.raml b/apis/checkout/orders/examples/order-external-status-request.raml deleted file mode 100644 index c30957d6..00000000 --- a/apis/checkout/orders/examples/order-external-status-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "status": "external status" - } \ No newline at end of file diff --git a/apis/checkout/orders/examples/order-get-response.raml b/apis/checkout/orders/examples/order-get-response.raml deleted file mode 100644 index 233f103b..00000000 --- a/apis/checkout/orders/examples/order-get-response.raml +++ /dev/null @@ -1,154 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 4.95, - "adjustedShippingTotalTax": 1.3, - "billingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "countryCode": "US", - "firstName": "Max", - "fullName": "Max Mustermann", - "lastName": "Mustermann", - "phone": "6175555555", - "postalCode": "05408", - "stateCode": "MA" - }, - "confirmationStatus": "confirmed", - "createdBy": "storefront", - "creationDate": "2015-05-19T15:23:18.000Z", - "currency": "USD", - "customerInfo": { - "customerId": "cdrjZ5iQeOQjpqKldaSzbvg2E8", - "customerName": "Max Mustermann", - "customerNo": "0002352", - "email": "no-reply@salesforce.com", - "guest": true - }, - "customerLocale": "en_US", - "exportStatus": "not_exported", - "invoiceNo": "00000001", - "lastModified": "2020-11-05T13:08:05.588Z", - "merchandizeTotalTax": 4.95, - "orderNo": "00000410", - "orderTotal": 110.24, - "paymentInstruments": [ - { - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": true, - "expirationMonth": 1, - "expirationYear": 2020, - "holder": "Max Mustermann", - "maskedNumber": "***************1111", - "numberLastDigits": "1111", - "validFromMonth": 1, - "validFromYear": 2018 - }, - "paymentInstrumentId": "2c36f04e453a2512fba74ae1ea", - "paymentMethodId": "CREDIT_CARD", - "paymentTransaction" : { - "amount": 110.24, - "transactionId": "40f07907428e23c4bbc6fb0446", - "c_authResult" : "AUTHORIZED" - }, - "c_issuerBank" : "JPMORGAN CHASE BANK, N.A." - } - ], - "paymentStatus": "not_paid", - "placeDate": "2015-05-19T15:23:18.000Z", - "productItems": [ - { - "adjustedTax": 4.95, - "basePrice": 99, - "bonusProductLineItem": false, - "gift": false, - "grossPrice": 103.95, - "itemId": "3390171e44271bad9c36592049", - "itemText": "Flat Front Pant", - "netPrice": 99, - "position": 1, - "priceAfterItemDiscount": 99, - "priceAfterOrderDiscount": 99, - "productId": "701643632930", - "productName": "Flat Front Pant", - "quantity": 1, - "shipmentId": "me", - "shippingItemId": "a46294cffd6945a511cb6fce05", - "tax": 4.95, - "taxBasis": 99, - "taxRate": 0.05 - } - ], - "productSubTotal": 99, - "productTotal": 99, - "remoteHost": "127.0.0.1", - "shipments": [ - { - "adjustedMerchandizeTotalTax": 4.95, - "adjustedShippingTotalTax": 1.3, - "gift": false, - "merchandizeTotalTax": 99, - "productSubTotal": 99, - "productTotal": 99, - "shipmentId": "me", - "shipmentNo": "00000001", - "shipmentTotal": 110.24, - "shippingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "countryCode": "US", - "firstName": "Max", - "fullName": "Max Mustermann", - "lastName": "Mustermann", - "phone": "6175555555", - "postalCode": "05408", - "stateCode": "MA" - }, - "shippingMethod": { - "id": "DefaultShippingMethod" - }, - "shippingStatus": "not_shipped", - "shippingTotal": 25.99, - "shippingTotalTax": 1.3, - "taxTotal": 5.25 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.3, - "basePrice": 5.99, - "grossPrice": 6.29, - "itemId": "4c3d46056d49226904ee61946c", - "itemText": "Shipping", - "netPrice": 5.99, - "priceAfterItemDiscount": 5.99, - "shipmentId": "me", - "tax": 0.3, - "taxBasis": 5.99, - "taxRate": 0.05, - "type": "fixed_price" - }, - { - "adjustedTax": 1, - "basePrice": 10, - "grossPrice": 21, - "itemId": "a46294cffd6945a511cb6fce05", - "itemText": "Item Shipping Cost (Surcharge)", - "netPrice": 20, - "priceAfterItemDiscount": 20, - "shipmentId": "me", - "tax": 1, - "taxBasis": 20, - "taxRate": 0.05, - "type": "surcharge" - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 25.99, - "shippingTotalTax": 1.3, - "siteId": "ShoppingSite", - "status": "new", - "taxation": "net", - "taxTotal": 5.25 - } \ No newline at end of file diff --git a/apis/checkout/orders/examples/order-payment-instrument-request.raml b/apis/checkout/orders/examples/order-payment-instrument-request.raml deleted file mode 100644 index e46d7226..00000000 --- a/apis/checkout/orders/examples/order-payment-instrument-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "c_giftCardNumber": "12kH5DSkfsaErrRjKheWqqZ" - } \ No newline at end of file diff --git a/apis/checkout/orders/examples/order-payment-status-request.raml b/apis/checkout/orders/examples/order-payment-status-request.raml deleted file mode 100644 index bb047ebd..00000000 --- a/apis/checkout/orders/examples/order-payment-status-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "status": "paid" - } \ No newline at end of file diff --git a/apis/checkout/orders/examples/order-payment-transaction-request.raml b/apis/checkout/orders/examples/order-payment-transaction-request.raml deleted file mode 100644 index 872edf5d..00000000 --- a/apis/checkout/orders/examples/order-payment-transaction-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "c_externalReferenceCode": "dfg73DsFgH93Lkj2SaArePos", - "c_processedDate": "2019-10-07", - "c_additionalInformation" : "Brunch enim ligula congue eu tempus craft beer tellus amet non urna sapien you probably haven’t heard of them eros ornare massa massa. Duis craft beer mattis pellentesque nulla risus arcu San Francisco adipiscing proin lorem sapien integer wire-rimmed glasses auctor ipsum cursus eget nam. Toms bibendum donec vivamus molestie vulputate fixie cursus amet eget nibh integer craft beer pellentesque odio mauris porttitor sodales." - } \ No newline at end of file diff --git a/apis/checkout/orders/examples/order-request.raml b/apis/checkout/orders/examples/order-request.raml deleted file mode 100644 index d0d0511c..00000000 --- a/apis/checkout/orders/examples/order-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "c_carrierCode": "DHL", - "c_weight": 2.4, - "c_review": null - } \ No newline at end of file diff --git a/apis/checkout/orders/examples/order-shipping-address-request.raml b/apis/checkout/orders/examples/order-shipping-address-request.raml deleted file mode 100644 index b439a457..00000000 --- a/apis/checkout/orders/examples/order-shipping-address-request.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "address1":"100 Presidential Way", - "address2":"100 Presidential Way 2", - "city":"Woburn", - "lastName":"Smith", - "title":"Prof. Dr.", - "countryCode":"US", - "phone":"+1 123 456789", - "companyName":"DWRE", - "secondName":"Daniel", - "salutation":"Mr.", - "stateCode":"MA", - "postalCode":"01801", - "firstName":"John", - "jobTitle":"Director", - "c_district": "South End", - "c_floor": 2, - "c_note": "Engineering" - } \ No newline at end of file diff --git a/apis/checkout/orders/examples/order-shipping-status-request.raml b/apis/checkout/orders/examples/order-shipping-status-request.raml deleted file mode 100644 index 53393b68..00000000 --- a/apis/checkout/orders/examples/order-shipping-status-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "status": "shipped" - } \ No newline at end of file diff --git a/apis/checkout/orders/examples/order-status-request.raml b/apis/checkout/orders/examples/order-status-request.raml deleted file mode 100644 index df72c45f..00000000 --- a/apis/checkout/orders/examples/order-status-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "status": "new" - } \ No newline at end of file diff --git a/apis/checkout/orders/examples/order_create/full-order.raml b/apis/checkout/orders/examples/order_create/full-order.raml deleted file mode 100644 index e9966d7a..00000000 --- a/apis/checkout/orders/examples/order_create/full-order.raml +++ /dev/null @@ -1,102 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "billingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "countryCode": "US", - "firstName": "John", - "fullName": "John Doe", - "jobTitle": "Product Manager", - "lastName": "Doe", - "phone": "6175555555", - "postalCode": "01803-2336", - "secondName": "Jr.", - "stateCode": "MA", - "suffix": "Jr.", - "suite": "suite", - "title": "M.Sc." - }, - "businessType": "b2c", - "channelType": "instagramcommerce", - "currency": "USD", - "customerLocale": "en_US", - "orderNo": "00000041", - "orderPriceAdjustments": [ - { - "amount": 5.00, - "basePrice": -6.00, - "grossPrice": -6.00, - "itemText": "5 off", - "netPrice": -5.00, - "reasonCode": "registered", - "tax": -1.00, - "taxBasis": 6.00 - } - ], - "orderTotal": 113.24, - "paymentInstruments": [ - { - "paymentMethodId": "CREDITCARD", - "paymentTransaction": { - "amount": 113.24, - "transactionId": "abc13384ajsgdk1" - } - } - ], - "paymentStatus": "paid", - "productItems": [ - { - "brand": "brand", - "basePrice": 99.00, - "grossPrice": 103.95, - "itemText": "Flat Front Pant", - "netPrice": 99.00, - "priceAdjustments": [ - { - "amount": 5.00, - "grossPrice": -6.00, - "itemText": "5 off", - "netPrice": -5.00, - "reasonCode": "registered", - "tax": -1.00 - } - ], - "productId": "701643632930", - "productName": "Flat Front Pant", - "quantity": 1, - "shipmentId": "00000001", - "tax": 4.95, - "taxBasis": 99.00, - "taxRate": 0.05 - } - ], - "shipments": [ - { - "shipmentId": "00000001", - "shippingAddress": { - "address1": "45 Main Rd.", - "address2": "road 2", - "salutation": "Mr.", - "postBox": "none", - "companyName": "Salesforce", - "city": "Burlington", - "countryCode": "US", - "firstName": "John", - "fullName": "John Doe", - "jobTitle": "Product Manager", - "lastName": "Doe", - "phone": "6175555555", - "postalCode": "01803-2336", - "stateCode": "MA", - "suffix": "Jr.", - "suite": "suite", - "title": "M.Sc." - }, - "shippingMethod": "EXPRESS", - "shippingTotal": 21.29, - "taxTotal": 4.95 - } - ], - "taxTotal": 7.90 - } \ No newline at end of file diff --git a/apis/checkout/orders/examples/order_create/full-payment-instrument.raml b/apis/checkout/orders/examples/order_create/full-payment-instrument.raml deleted file mode 100644 index b39ae18a..00000000 --- a/apis/checkout/orders/examples/order_create/full-payment-instrument.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "billingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "firstName": "John", - "lastName": "Doe" - }, - "channelType": "instagramcommerce", - "currency": "USD", - "orderNo": "0000091837", - "orderTotal": 66.91, - "taxTotal": 12.39, - "paymentInstruments": [ - { - "paymentMethodId": "CREDITCARD", - "paymentTransaction": { - "amount": 30.00, - "transactionId": "abc13384ajsgdk1", - "authorizationStatus": { - "code": "0", - "message": "credit card successfully authorized", - "status": 0 - } - } - }, - { - "paymentMethodId": "PAYPAL", - "paymentTransaction": { - "amount": 36.91, - "authorizationStatus": { - "code": "0", - "message": "paypal authorized", - "status": 0 - }, - "transactionId": "abceou98463" - } - } - ], - "paymentStatus": "paid", - "productItems": [ - { - "basePrice": 30.98, - "grossPrice": 61.96, - "netPrice": 49.57, - "productId": "black-shoe_97253-38", - "productName": "special edition shoe women 38", - "quantity": 2, - "shipmentId": "shipment1", - "tax": 12.39 - } - ], - "shipments": [ - { - "shipmentId": "shipment1", - "shippingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "firstName": "John", - "lastName": "Doe" - }, - "shippingMethod": "GROUND", - "shippingTotal": 4.95, - "taxTotal": 0.00 - } - ] -} \ No newline at end of file diff --git a/apis/checkout/orders/examples/order_create/multi-shipment.raml b/apis/checkout/orders/examples/order_create/multi-shipment.raml deleted file mode 100644 index 3bdfb51b..00000000 --- a/apis/checkout/orders/examples/order_create/multi-shipment.raml +++ /dev/null @@ -1,72 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "billingAddress": { - "address1": "43 Main Rd.", - "city": "Burlington", - "firstName": "Jane", - "lastName": "Doe" - }, - "channelType": "instagramcommerce", - "currency": "USD", - "orderNo": "000028376", - "orderTotal": 75.86, - "taxTotal": 12.38, - "paymentInstruments": [ - { - "paymentMethodId": "PAYPAL", - "paymentTransaction": { - "amount": 75.86, - "transactionId": "abc13384ajsgdk1" - } - } - ], - "productItems": [ - { - "basePrice": 30.98, - "grossPrice": 30.98, - "netPrice": 24.79, - "productId": "black-shoe_081273-38", - "productName": "special edition shoe women 38", - "quantity": 1, - "shipmentId": "shipment1", - "tax": 6.19 - }, - { - "basePrice": 30.98, - "grossPrice": 30.98, - "netPrice": 24.79, - "productId": "red-shirt_2937298-xl", - "productName": "t shirt XL", - "quantity": 1, - "shipmentId": "shipment2", - "tax": 6.19 - } - ], - "shipments": [ - { - "shipmentId": "shipment1", - "shippingAddress": { - "address1": "43 Main Rd.", - "city": "Burlington", - "firstName": "Jane", - "lastName": "Doe" - }, - "shippingMethod": "GROUND", - "shippingTotal": 4.95, - "taxTotal": 0.00 - }, - { - "shipmentId": "shipment2", - "shippingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "firstName": "John", - "lastName": "Doe" - }, - "shippingMethod": "EXPRESS", - "shippingTotal": 8.95, - "taxTotal": 0.00 - } - ] -} \ No newline at end of file diff --git a/apis/checkout/orders/examples/order_create/simple-order.raml b/apis/checkout/orders/examples/order_create/simple-order.raml deleted file mode 100644 index 5353f97a..00000000 --- a/apis/checkout/orders/examples/order_create/simple-order.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "billingAddress": { - "address1": "43 Main Rd.", - "city": "Burlington", - "firstName": "Jane", - "lastName": "Doe" - }, - "channelType": "instagramcommerce", - "currency": "USD", - "orderNo": "0000019373", - "orderTotal": 66.91, - "taxTotal": 12.39, - "paymentInstruments": [ - { - "paymentMethodId": "PAYPAL", - "paymentTransaction": { - "amount": 66.91, - "transactionId": "abc13384ajsgdk1" - } - } - ], - "productItems": [ - { - "basePrice": 30.98, - "grossPrice": 61.96, - "netPrice": 49.57, - "productId": "black-shoe_29347-38", - "productName": "special edition shoe women 38", - "quantity": 2, - "shipmentId": "shipment1", - "tax": 12.39 - } - ], - "shipments": [ - { - "shipmentId": "shipment1", - "shippingAddress": { - "address1": "43 Main Rd.", - "city": "Burlington", - "firstName": "Jane", - "lastName": "Doe" - }, - "shippingMethod": "EXPRESS", - "shippingTotal": 4.95, - "taxTotal": 0.00 - } - ] -} \ No newline at end of file diff --git a/apis/checkout/orders/examples/orders-get-response.raml b/apis/checkout/orders/examples/orders-get-response.raml deleted file mode 100644 index 653192f5..00000000 --- a/apis/checkout/orders/examples/orders-get-response.raml +++ /dev/null @@ -1,143 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": [ - { - "adjustedMerchandizeTotalTax": 4.95, - "adjustedShippingTotalTax": 0.3, - "billingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "countryCode": "US", - "firstName": "Max", - "fullName": "Max Mustermann", - "lastName": "Mustermann", - "phone": "6175555555", - "postalCode": "05408", - "stateCode": "MA" - }, - "confirmationStatus": "confirmed", - "createdBy": "storefront", - "creationDate": "2015-05-19T15:23:18.000Z", - "currency": "USD", - "customerInfo": { - "customerId": "abMKqMaNYOBMnNdDNzyC5oNTi5", - "customerName": "Max Mustermann", - "customerNo": "0002352", - "email": "no-reply@salesforce.com", - "guest": true - }, - "customerLocale": "en_US", - "exportStatus": "not_exported", - "invoiceNo": "00000001", - "lastModified": "2020-11-04T14:13:31.061Z", - "merchandizeTotalTax": 4.95, - "orderNo": "00000410", - "orderTotal": 110.24, - "paymentInstruments": [ - { - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": true, - "expirationMonth": 1, - "expirationYear": 2020, - "holder": "Max Mustermann", - "maskedNumber": "***************1111", - "numberLastDigits": "1111", - "validFromMonth": 1, - "validFromYear": 2018 - }, - "paymentInstrumentId": "21052ad719a076cdc83637851e", - "paymentMethodId": "CREDIT_CARD", - "paymentTransaction" : { - "amount": 110.24, - "transactionId": "40f07907428e23c4bbc6fb0446", - "c_authResult" : "AUTHORIZED" - }, - "c_issuerBank" : "JPMORGAN CHASE BANK, N.A." - } - ], - "paymentStatus": "not_paid", - "placeDate": "2015-05-19T15:23:18.000Z", - "productItems": [ - { - "adjustedTax": 4.95, - "basePrice": 99, - "bonusProductLineItem": false, - "gift": false, - "grossPrice": 103.95, - "itemId": "99e96c7f8b46b98de2bae5d778", - "itemText": "Flat Front Pant", - "netPrice": 99, - "position": 1, - "priceAfterItemDiscount": 99, - "priceAfterOrderDiscount": 99, - "productId": "701643632930", - "productName": "Flat Front Pant", - "quantity": 1, - "shipmentId": "me", - "tax": 4.95, - "taxBasis": 99, - "taxRate": 0.05 - } - ], - "productSubTotal": 99, - "productTotal": 99, - "remoteHost": "127.0.0.1", - "shipments": [ - { - "adjustedMerchandizeTotalTax": 4.95, - "adjustedShippingTotalTax": 0.3, - "gift": false, - "merchandizeTotalTax": 99, - "productSubTotal": 99, - "productTotal": 99, - "shipmentId": "me", - "shipmentNo": "00000001", - "shipmentTotal": 110.24, - "shippingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "countryCode": "US", - "firstName": "Max", - "fullName": "Max Mustermann", - "lastName": "Mustermann", - "phone": "6175555555", - "postalCode": "05408", - "stateCode": "MA" - }, - "shippingMethod": { - "id": "DefaultShippingMethod" - }, - "shippingStatus": "not_shipped", - "shippingTotal": 5.99, - "shippingTotalTax": 0.3, - "taxTotal": 5.25 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.3, - "basePrice": 5.99, - "grossPrice": 6.29, - "itemId": "23ace383d9355c881f1c00417a", - "itemText": "Shipping", - "netPrice": 5.99, - "priceAfterItemDiscount": 5.99, - "shipmentId": "me", - "tax": 0.3, - "taxBasis": 5.99, - "taxRate": 0.05, - "type": "fixed_price" - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 5.99, - "shippingTotalTax": 0.3, - "siteId": "ShoppingSite", - "status": "new", - "taxation": "net", - "taxTotal": 5.25 - } - ] - } \ No newline at end of file diff --git a/apis/checkout/orders/exchange.json b/apis/checkout/orders/exchange.json deleted file mode 100644 index 5c2d763a..00000000 --- a/apis/checkout/orders/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.4.4", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "orders.raml", - "backwardsCompatible": false, - "assetId": "orders", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Orders", - "tags": [] -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/checkout/orders/order-create-price-adjustments.md b/apis/checkout/orders/order-create-price-adjustments.md deleted file mode 100644 index 6d790109..00000000 --- a/apis/checkout/orders/order-create-price-adjustments.md +++ /dev/null @@ -1,6 +0,0 @@ -The Price Adjustment without Promotion and Coupon references - handled as `AdHocPriceAdjustments` internally. - -The following fields are set: -- manual = true -- custom = true -- promotionId = AD_HOC_PRICE_ADJUSTMENT \ No newline at end of file diff --git a/apis/checkout/orders/orders-description.md b/apis/checkout/orders/orders-description.md deleted file mode 100644 index 6bd1b89c..00000000 --- a/apis/checkout/orders/orders-description.md +++ /dev/null @@ -1,113 +0,0 @@ -# API Overview - -Use the Orders API to update order status and order payment status, edit shipping addresses and custom order properties, manage order payment instruments, and get order information. - -## Authentication & Authorization - -The client requesting the order information must have access to the Orders resource. The API requests pass a system-to-system bearer token in the header of the request. The `POST /orders` endpoint uses the [ShopperTokenTsob](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=security%3AShopperTokenTsob) security scheme. - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Update Order Statuses - -An order uses several status properties to define its workflow state. Some of them are used to trigger internal processes, such as inventory allocation. Others have no default function, but are available for use with customizations. - -### Order Status - -The Order Status reflects the overall status of the order. Transitions between Order Statuses trigger actions such as invoice generation and release of inventory reservations. - -Order Status can have one of these values: - -- `created` - Default value; denotes that the order was created in the system but is not yet placed. -- `new` - Set this value to place the order. When you set this value, the system generates shipment and invoice numbers. After the order is placed, you can’t change its Order Status to `created` or `failed`. -- `failed` - Set this value to fail the order, for example, when you reject the order or when its payment fails. When you set this value, the system releases the order’s inventory reservations and removes any coupon redemptions. You can only set this value if the current Order Status is `created`. If you change the Order Status from `failed` to `created`, the system tries to revert the actions taken when it was set to `failed`. If inventory isn’t available, the reversion can fail. -- `failed_with_reopen` - Set this value to fail the order and reopen the basket, if applicable. The order status is set to `failed`. -- `completed` - Set this value to mark the order as complete, based on your business process. For example, when the order is fully paid, exported, and shipped. -- `cancelled` - Set this value to cancel the order, for example, when the shopper requests it. When you set this value, the system releases the order’s inventory reservations, restores any wishlist items, and removes any coupon redemptions. If you change the Order Status from `cancelled` to `completed` or `new`, the system tries to revert the actions taken when it was set to `cancelled`. If inventory isn’t available, the reversion can fail. - -### Confirmation Status - -An order confirmation is a document the vendor sends to the shopper. It confirms that the order has been received and accepted. You can use Confirmation Status to reflect the state of the document, or for other customizations. This field is provided for use in customizations. It isn’t associated with any default functionality. - -Confirmation Status can have one of these values: - -- `not_confirmed` - Default value. -- `confirmed` - Set this value when the order confirmation is sent to the shopper. - -### Export Status - -After an order is placed, it must be fulfilled. If your process includes an external fulfillment system, such as a Warehouse Management System, you can use Export Status to manage the export of order data to the external system. For example, after using the GET /orders endpoint to get order data to export, set the order’s Export Status to `exported`. When identifying orders to export, your query can include orders with Export Status `ready` and exclude orders with Export Status `exported`. - -Export Status can have one of these values: - -- `not_exported` - Default value. -- `ready` - (custom purpose) Set this value when the order is ready for export. -- `exported` - Set this value when the order has been exported. When you set this value, the system finalizes the order’s inventory transactions. -- `failed` - (custom purpose) Set this value when the order export fails. - -### External Status - -The External Status field can hold any string value. For example, you can use it for values related to an external fulfillment system. This field is provided for use in customizations. It isn’t associated with any default functionality. - -### Payment Status - -Use Payment Status to denote whether an order is partially or fully paid. This field is provided for use in customizations. It isn’t associated with any default functionality. - -Payment Status can have one of these values: - -- `not_paid` - Default value. -- `part_paid` - Set this value when the order is partially paid. -- `paid` - Set this value when the order is fully paid. - -### Shipping Status - -Use Shipping Status to denote whether an order is partially or fully shipped. This field is provided for use in customizations. It isn’t associated with any default functionality. - -Shipping Status can have one of these values: - -- `not_shipped` - Default value. -- `part_shipped` - Set this value when the order is partially shipped. -- `shipped` - Set this value when the order is fully shipped. - -Here are some example scenarios: - -- After a successful fraud check and payment authorization, set the Order Status to `new`. -- After a failed fraud check or payment authorization, set the Order Status to `failed`. -- After an order’s information is exported to the warehouse system, set the Export Status to `exported`. -- After the warehouse ships an order, set the Shipping Status to `shipped`. - -## Change Shipping Address - -Use the Orders API to update the shipping address on an order. - -For example, a shopper places an order, then sends a request to change the shipping address on that order. - -## Get Order Data - -Use the Orders API system-to-system integration use cases for order retrieval, reporting, dashboards, and so on. You can get information about a single order by specifying the order number, or get information about multiple orders by searching with attribute filters. - -You can use these attribute filters: - -- order status -- export status -- external status -- confirmation status -- payment status -- shipping status -- creation date to/from -- last modified date to/from -- offset -- limit - -You can sort the results in ascending or descending order by these attributes (default: descending): - -- creation date -- last modified date - -## Create Orders - -Use the Create Order endpoint to create orders from a third-party system, such as a social media platform. Before using the endpoint, you must complete the checkout process first: apply all sanity checks, reserve inventory, authorize payment, apply promotions, and calculate the full cost of the order. Orders made by third-party systems are treated the same way as order made directly through the B2C Commerce platform, including how status updates and exports are handled. - -## Update Orders - -Use the Update Order endpoint to make changes to custom order attributes. \ No newline at end of file diff --git a/apis/checkout/orders/orders.raml b/apis/checkout/orders/orders.raml deleted file mode 100644 index ff585539..00000000 --- a/apis/checkout/orders/orders.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 -#In C4E review -title: Orders -description: !include orders-description.md -version: v1 -protocols: HTTPS -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/checkout/orders/{version} -baseUriParameters: - shortCode: - description: |- - Region-specific merchant identifier. - example: fd4gt8 - -uses: - StatusCodes: status-codes.raml - DataTypes: data-types.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -types: -'/organizations/{organizationId}': - type: CommerceCloudStandards.Organization - '/orders': - type: CommerceCloudStandards.Organization - get: - description: |- - Returns the details of orders that match the query filters. By default, calling this API with no filter returns the 100 most recently created orders. To return up to 200 orders, use the limit parameter. To return a page of results past the first page, use a resource offset. *Note* : The sum of the offset and limit parameters cannot be greater than 10000. - displayName: getOrders - queryParameters: - sortBy?: - description: |- - Sort results by creation date or last modified date. The default is creation date. - type: string - enum: - - creation_date - - last_modified_date - default: creation_date - sortOrder?: - description: |- - Sort results in ascending or descending order. The default is descending. - type: string - enum: - - asc - - desc - default: desc - status?: - description: |- - Filter results by status. Valid statuses are 'new', 'completed', and 'cancelled'. You can include up to two statuses as a comma-separated string. - type: string - pattern: '^(new|completed|cancelled)(,(?!\1)(new|completed|cancelled))?$' - example: - cancelled,completed - exportStatus?: - description: |- - Filter results by export status. Valid export statuses are 'not_exported', 'exported', 'ready', and 'failed'. You can include up to three export statuses as a comma-separated string. - type: string - pattern: '^(not_exported|exported|ready|failed)(,(?!\1)(not_exported|exported|ready|failed))?(,(?!\3)(?!\1)(not_exported|exported|ready|failed))?$' - example: - not_exported,ready,failed - externalStatus?: - description: |- - Filter results by external status. - type: string - confirmationStatus?: - description: |- - Filter results by confirmation status. Valid confirmation statuses are 'confirmed' and 'not_confirmed'. - type: DataTypes.OrderConfirmationStatus - paymentStatus?: - description: |- - Filter results by payment status. Valid payment statuses are 'not_paid', 'part_paid', and 'paid'. You can include up to two payment statuses as a comma-separated string. - type: string - pattern: '^(not_paid|part_paid|paid)(,(?!\1)(not_paid|part_paid|paid))?$' - example: - not_paid,part_paid - shippingStatus?: - description: |- - Filter results by shipping status. Valid shipping statuses are 'not_shipped', 'part_shipped', and 'shipped'. You can include up to two shipping statuses as a comma-separated string. - type: string - pattern: '^(not_shipped|part_shipped|shipped)(,(?!\1)(not_shipped|part_shipped|shipped))?$' - example: - not_shipped,part_shipped - is: - - StatusCodes.OK-Orders - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - - ApiStandards.DatetimeRangeFilter: - name: creationDate - - ApiStandards.DatetimeRangeFilter: - name: lastModifiedDate - - ApiStandards.OffsetPaginated: - maxLimit: 200 - defaultSize: 100 - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders", "sfcc.orders.rw" ] } - post: - description: !include create-order-description.md - displayName: createOrders - is: - - StatusCodes.OrderCreated - - StatusCodes.SiteNotFound - - StatusCodes.BadRequest - - StatusCodes.InvalidCurrency - - StatusCodes.InvalidOrderTotal - - StatusCodes.InvalidTaxTotal - - StatusCodes.ShipmentNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.CreateOrderRequest - examples: - minimalExample: !include examples/order_create/simple-order.raml - fullExample: !include examples/order_create/full-order.raml - multiShipmentExample: !include examples/order_create/multi-shipment.raml - fullPaymentInstrumentExample: !include examples/order_create/full-payment-instrument.raml - securedBy: - - CommerceCloudStandards.ShopperTokenTsob: { scopes: [ "sfcc.orders.rw" ] } - '/{orderNo}': - type: CommerceCloudStandards.Organization - uriParameters: - orderNo: - description: |- - The order number. - minLength: 1 - maxLength: 50 - type: string - example: "00000410" - get: - description: |- - Returns the details of the order with the specified order number. - is: - - StatusCodes.OK-Order - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - displayName: getOrder - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders", "sfcc.orders.rw" ] } - patch: - description: |- - Updates the order. - displayName: updateOrder - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.OrderUpdateRequest - examples: - DataTypes.OrderUpdateRequest: !include examples/order-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - - CommerceCloudStandards.ShopperTokenTsob: { scopes: [ "sfcc.orders.rw" ] } - /confirmation-status: - type: CommerceCloudStandards.Organization - put: - description: |- - Updates the order confirmation status. - displayName: updateOrderConfirmationStatus - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.OrderConfirmationStatusUpdateRequest - examples: - DataTypes.OrderConfirmationStatusUpdateRequest: !include examples/order-confirmation-status-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - /export-status: - type: CommerceCloudStandards.Organization - put: - description: |- - Updates the order export status. If on-order inventory is turned on for the associated inventory list, then setting the export status to EXPORTED finalizes on-order inventory transactions for this order by changing their type from on-order to final. - displayName: updateOrderExportStatus - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.OrderExportStatusUpdateRequest - examples: - DataTypes.OrderExportStatusUpdateRequest: !include examples/order-export-status-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - /external-status: - type: CommerceCloudStandards.Organization - put: - description: |- - Updates the order external status. - displayName: updateOrderExternalStatus - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.OrderExternalStatusUpdateRequest - examples: - DataTypes.OrderExternalStatusUpdateRequest: !include examples/order-external-status-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - /payment-status: - type: CommerceCloudStandards.Organization - put: - description: |- - Updates the order payment status. - displayName: updateOrderPaymentStatus - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.OrderPaymentStatusUpdateRequest - examples: - DataTypes.OrderPaymentStatusUpdateRequest: !include examples/order-payment-status-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - /shipping-status: - type: CommerceCloudStandards.Organization - put: - description: |- - Updates the order shipping status. - displayName: updateOrderShippingStatus - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.OrderShippingStatusUpdateRequest - examples: - DataTypes.OrderShippingStatusUpdateRequest: !include examples/order-shipping-status-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - /status: - type: CommerceCloudStandards.Organization - put: - description: |- - Updates the order status. Orders in status NEW, COMPLETED or CANCELLED can't be changed to status CREATED or FAILED. - - Changing the status processes different actions on inventory, coupons, wishlists and the order itself. Here are the supported actions: - - - Fail Order: Release inventory and remove coupon redemptions. (CREATED -> FAILED) - - Fail Order With Reopen Basket: Release inventory, remove coupon redemptions, and reopen the basket, if applicable. A basket can only be - reopened if no other basket for the customer exists at the moment of failing the order since a customer is limited to 1 storefront basket at a - time. (CREATED -> FAILED) - - Undo Fail Order: Reserve inventory and recreate coupon redemptions. (FAILED -> CREATED) - - Place Order: Generate Shipment and Invoice numbers. (CREATED -> NEW, COMPLETED or CANCELLED) - - Cancel Order: Release inventory, remove wishlist purchases, and remove coupon redemptions. (NEW, COMPLETED -> CANCELLED) - - Undo Cancel Order: Reserve inventory, add wishlist purchases, and recreate coupon redemptions. (CANCELLED -> NEW, COMPLETED) - - Actions can fail for example when inventory is not available anymore. - displayName: updateOrderStatus - is: - - StatusCodes.NoContent - - StatusCodes.BasketReopen - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - StatusCodes.StatusTransitionConflict - - StatusCodes.CancelOrderConflict - - StatusCodes.PlaceOrderConflict - - StatusCodes.UndoCancelOrderConflict - - StatusCodes.UndoFailOrderConflict - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.OrderStatusUpdateRequest - examples: - DataTypes.OrderStatusUpdateRequest: !include examples/order-status-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - '/payment-instruments/{paymentInstrumentId}': - type: CommerceCloudStandards.Organization - uriParameters: - paymentInstrumentId: - description: |- - ID of the payment instrument. - minLength: 1 - type: string - example: b7679bea661819b2de78b9de7d - patch: - description: |- - Updates the payment instrument of an order. - displayName: updateOrderPaymentInstrument - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - StatusCodes.PaymentInstrumentNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.PaymentInstrumentUpdateRequest - examples: - DataTypes.PaymentInstrumentUpdateRequest: !include examples/order-payment-instrument-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - /transaction: - type: CommerceCloudStandards.Organization - patch: - description: |- - Updates the transaction of an order payment instrument. - displayName: updateOrderPaymentTransaction - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - StatusCodes.PaymentInstrumentNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.PaymentTransactionUpdateRequest - examples: - DataTypes.PaymentTransactionUpdateRequest: !include examples/order-payment-transaction-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - '/shipments/{shipmentId}': - type: CommerceCloudStandards.Organization - uriParameters: - shipmentId: - description: |- - ID of the shipment. - minLength: 1 - type: string - example: me - /shipping-address: - type: CommerceCloudStandards.Organization - put: - description: |- - Creates or replaces the shipping address. - displayName: updateOrderShippingAddress - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - StatusCodes.ShipmentNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.ShippingAddressUpdateRequest - examples: - DataTypes.ShippingAddressUpdateRequest: !include examples/order-shipping-address-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } \ No newline at end of file diff --git a/apis/checkout/orders/status-codes.raml b/apis/checkout/orders/status-codes.raml deleted file mode 100644 index cad177dc..00000000 --- a/apis/checkout/orders/status-codes.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: Use the following traits for request and response status information. - -types: - ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml - -traits: - OK-Order: !include traits/ok-order.raml - OK-Orders: !include traits/ok-orders.raml - OrderCreated: !include traits/no-content-order-created.raml - NoContent: !include traits/no-content.raml - OrderNotFound: !include traits/order-not-found.raml - SiteNotFound: !include traits/site-not-found.raml - PaymentInstrumentNotFound: !include traits/payment-instrument-not-found.raml - ShipmentNotFound: !include traits/shipment-not-found.raml - InvalidCurrency: !include traits/invalid-currency.raml - InvalidOrderTotal: !include traits/invalid-order-total.raml - InvalidTaxTotal: !include traits/invalid-tax-total.raml - BadRequest: !include traits/bad-request.raml - StatusTransitionConflict: !include traits/status-transition-conflict.raml - CancelOrderConflict: !include traits/cancel-order-conflict.raml - PlaceOrderConflict: !include traits/place-order-conflict.raml - UndoCancelOrderConflict: !include traits/undo-cancel-order-conflict.raml - UndoFailOrderConflict: !include traits/undo-fail-order-conflict.raml - BasketReopen: !include traits/order-status-created.raml \ No newline at end of file diff --git a/apis/checkout/orders/traits/bad-request.raml b/apis/checkout/orders/traits/bad-request.raml deleted file mode 100644 index 3f36accd..00000000 --- a/apis/checkout/orders/traits/bad-request.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Orders API. - -responses: - 400: - description: | - Request body or path violate required syntax. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Bad Request", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "detail": "An invalid expand parameter 'link' was found." - } diff --git a/apis/checkout/orders/traits/cancel-order-conflict.raml b/apis/checkout/orders/traits/cancel-order-conflict.raml deleted file mode 100644 index 608f5052..00000000 --- a/apis/checkout/orders/traits/cancel-order-conflict.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 409 response when an order cancellation failed. - -responses: - 409: - description: | - The order cancellation failed. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Cancel Order", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/cancel-order", - "detail": "Order with number '00001547' can't be cancelled." - } - \ No newline at end of file diff --git a/apis/checkout/orders/traits/invalid-currency.raml b/apis/checkout/orders/traits/invalid-currency.raml deleted file mode 100644 index 6af374ff..00000000 --- a/apis/checkout/orders/traits/invalid-currency.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response due to a passed currency, which is not valid for the specific site. - -responses: - 400: - description: | - The passed currency is not configured in the specific site. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Invalid Currency", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-currency", - "detail": "An invalid currency 'EUR' was found." - } \ No newline at end of file diff --git a/apis/checkout/orders/traits/invalid-order-total.raml b/apis/checkout/orders/traits/invalid-order-total.raml deleted file mode 100644 index 7a59440b..00000000 --- a/apis/checkout/orders/traits/invalid-order-total.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response due to an invalid orderTotal passed in Orders API. - -responses: - 400: - description: | - The passed orderTotal is not equal to the calculated orderTotal. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Invalid Order Total", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-order-total", - "detail": "The passed order total '72.96' does not match the calculated order total '74.96'." - } \ No newline at end of file diff --git a/apis/checkout/orders/traits/invalid-tax-total.raml b/apis/checkout/orders/traits/invalid-tax-total.raml deleted file mode 100644 index 641224cc..00000000 --- a/apis/checkout/orders/traits/invalid-tax-total.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response due to invalid passed taxTotal in Orders API. - -responses: - 400: - description: | - The passed taxTotal is not equal to the calculated taxTotal. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Invalid Tax Total", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-total", - "detail": "The passed tax total '2.95' does not match the calculated tax total '5.56'." - } \ No newline at end of file diff --git a/apis/checkout/orders/traits/no-content-order-created.raml b/apis/checkout/orders/traits/no-content-order-created.raml deleted file mode 100644 index a64340b6..00000000 --- a/apis/checkout/orders/traits/no-content-order-created.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 201 response when an order is successful and no content is returned. The object created is accessible via the Location header. - -responses: - 201: - description: | - The operation was successful, no content is returned. - headers: - Location: - description: | - The location to access the created order. - example: | - /orders/000000001 \ No newline at end of file diff --git a/apis/checkout/orders/traits/no-content.raml b/apis/checkout/orders/traits/no-content.raml deleted file mode 100644 index e1dfd69b..00000000 --- a/apis/checkout/orders/traits/no-content.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 204 response when a operation was successful and no content is returned. - -responses: - 204: - description: | - The operation was successful, no content is returned. \ No newline at end of file diff --git a/apis/checkout/orders/traits/ok-order.raml b/apis/checkout/orders/traits/ok-order.raml deleted file mode 100644 index d7abdd45..00000000 --- a/apis/checkout/orders/traits/ok-order.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 200 response when an operation successfully returned content. - -uses: - DataTypes: ../data-types.raml - -responses: - 200: - description: |- - The operation was successful. - body: - application/json: - type: DataTypes.Order - examples: - DataTypes.Order: !include ../examples/order-get-response.raml \ No newline at end of file diff --git a/apis/checkout/orders/traits/ok-orders.raml b/apis/checkout/orders/traits/ok-orders.raml deleted file mode 100644 index 48c3b2e4..00000000 --- a/apis/checkout/orders/traits/ok-orders.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 200 response when an operation successfully returned content. - -uses: - DataTypes: ../data-types.raml - -responses: - 200: - description: |- - The operation was successful. - body: - application/json: - type: DataTypes.OrdersResponse - examples: - DataTypes.OrdersResponse: !include ../examples/orders-get-response.raml \ No newline at end of file diff --git a/apis/checkout/orders/traits/order-not-found.raml b/apis/checkout/orders/traits/order-not-found.raml deleted file mode 100644 index 8d7ff95b..00000000 --- a/apis/checkout/orders/traits/order-not-found.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response when an order was not found. - -responses: - 404: - description: | - The given order number does not reference an existing order. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Order not found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "detail": "No order with number '00001547' was found." - } diff --git a/apis/checkout/orders/traits/order-status-created.raml b/apis/checkout/orders/traits/order-status-created.raml deleted file mode 100644 index aa574ded..00000000 --- a/apis/checkout/orders/traits/order-status-created.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 201 response code, when an order failed and the basket has been reopened. The reopened basket is accessible via the Location header. - -responses: - 201: - description: | - The operation was successful. No content is returned. - headers: - Location: - description: | - The location to access the reopened basket. - example: | - /baskets/37e964f970721da52b0e004fd6 \ No newline at end of file diff --git a/apis/checkout/orders/traits/payment-instrument-not-found.raml b/apis/checkout/orders/traits/payment-instrument-not-found.raml deleted file mode 100644 index 5ef01d44..00000000 --- a/apis/checkout/orders/traits/payment-instrument-not-found.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response when a payment instrument was not found. - -responses: - 404: - description: | - The given payment instrument ID does not reference an existing payment instrument. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "PaymentInstrument Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found", - "detail": "The payment instrument with ID 'd98550eb1e1cf6db15dd655a9e' couldn't be found." - } diff --git a/apis/checkout/orders/traits/place-order-conflict.raml b/apis/checkout/orders/traits/place-order-conflict.raml deleted file mode 100644 index 80c64c6e..00000000 --- a/apis/checkout/orders/traits/place-order-conflict.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 409 response when an order placement failed. - -responses: - 409: - description: | - The order placement failed. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Place Order", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/place-order", - "detail": "Order with number '00001547' can't be placed." - } \ No newline at end of file diff --git a/apis/checkout/orders/traits/shipment-not-found.raml b/apis/checkout/orders/traits/shipment-not-found.raml deleted file mode 100644 index fc43ec81..00000000 --- a/apis/checkout/orders/traits/shipment-not-found.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response when a shipment was not found. - -responses: - 404: - description: | - The given shipment ID does not reference an existing shipment. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Shipment Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found", - "detail": "No shipment with ID 'express_shipment' could be found." - } diff --git a/apis/checkout/orders/traits/site-not-found.raml b/apis/checkout/orders/traits/site-not-found.raml deleted file mode 100644 index ed7e7c11..00000000 --- a/apis/checkout/orders/traits/site-not-found.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response when a site was not found. - -responses: - 404: - description: | - The given site ID does not reference an existing site. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Site Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found", - "detail": "No site with ID 'SiteGnesis' could be found." - } \ No newline at end of file diff --git a/apis/checkout/orders/traits/status-transition-conflict.raml b/apis/checkout/orders/traits/status-transition-conflict.raml deleted file mode 100644 index 7ea0375d..00000000 --- a/apis/checkout/orders/traits/status-transition-conflict.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 409 response when a order status change is not allowed. - -responses: - 409: - description: | - The requested order status change is not allowed. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Order Status Transition", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-status-transition", - "detail": "The order status change from 'NEW' to 'CREATED' for order with number '00001547' is not supported." - } \ No newline at end of file diff --git a/apis/checkout/orders/traits/undo-cancel-order-conflict.raml b/apis/checkout/orders/traits/undo-cancel-order-conflict.raml deleted file mode 100644 index 5c314549..00000000 --- a/apis/checkout/orders/traits/undo-cancel-order-conflict.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 409 response when an cancelled order can't be reopened. - -responses: - 409: - description: | - The cancelled order can't be reopened. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Undo Canel Order", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/undo-cancel-order", - "detail": "The cancelled order with number '00001547' cannot be reopened." - } \ No newline at end of file diff --git a/apis/checkout/orders/traits/undo-fail-order-conflict.raml b/apis/checkout/orders/traits/undo-fail-order-conflict.raml deleted file mode 100644 index 85f7f48d..00000000 --- a/apis/checkout/orders/traits/undo-fail-order-conflict.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 409 response when an failed order can't be reopened. - -responses: - 409: - description: | - The failed order can't be reopened. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Undo Fail Order", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/undo-fail-order", - "detail": "The failed order with number '00020029’ cannot be reopened." - } \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/.metadata.json b/apis/checkout/shopper-baskets/.metadata.json deleted file mode 100644 index d88db6e8..00000000 --- a/apis/checkout/shopper-baskets/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-baskets/2.0.10", - "name": "Shopper Baskets", - "description": "Build a checkout experience.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-baskets", - "version": "2.0.10", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Checkout" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/checkout/shopper-baskets/examples/basket/basket-get-response.raml b/apis/checkout/shopper-baskets/examples/basket/basket-get-response.raml deleted file mode 100644 index 5e49df0b..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/basket-get-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/basket-item-tax-get-response.raml b/apis/checkout/shopper-baskets/examples/basket/basket-item-tax-get-response.raml deleted file mode 100644 index 3d82986c..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/basket-item-tax-get-response.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "taxItems":[ - { - "id":"DE_7", - "rate":0.07, - "value":13.99 - }, - { - "id":"DE_19", - "rate":0.19 - } - ] - } diff --git a/apis/checkout/shopper-baskets/examples/basket/basket-item-tax-put-request.raml b/apis/checkout/shopper-baskets/examples/basket/basket-item-tax-put-request.raml deleted file mode 100644 index 3d82986c..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/basket-item-tax-put-request.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "taxItems":[ - { - "id":"DE_7", - "rate":0.07, - "value":13.99 - }, - { - "id":"DE_19", - "rate":0.19 - } - ] - } diff --git a/apis/checkout/shopper-baskets/examples/basket/basket-patch-request.raml b/apis/checkout/shopper-baskets/examples/basket/basket-patch-request.raml deleted file mode 100644 index 8753df99..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/basket-patch-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "c_textValue":"oak" - } diff --git a/apis/checkout/shopper-baskets/examples/basket/basket-patch-response.raml b/apis/checkout/shopper-baskets/examples/basket/basket-patch-response.raml deleted file mode 100644 index b23ffa41..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/basket-patch-response.raml +++ /dev/null @@ -1,149 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "7800e0f611dac6caf77afb9df9", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:53:30.993Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:53:35.747Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "2b76b8644eb6da43e7e223b48d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "43c38652bc3844e14cd482ff28", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "b4ff13039bc7abd1b9d933b871", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "193e99bc1205b870cebd36d970", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "ac7a3b62dc1df8de898d7a2141", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8, - "c_textValue":"oak" - } \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/examples/basket/basket-post-request.raml b/apis/checkout/shopper-baskets/examples/basket/basket-post-request.raml deleted file mode 100644 index b6ae7f5b..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/basket-post-request.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "customerInfo": { - "email": "shopper@salesforce-test.com", - "customerNo" : "000000001" - }, - "billingAddress": { - "firstName": "Stephanie", - "lastName": "Miller", - "address1": "104 Presidential Way", - "city": "Woburn", - "postalCode": "01801", - "stateCode": "MA", - "countryCode": "US" - }, - "shipments": [ - { - "shippingMethod": { - "id": "001" - }, - "shippingAddress": { - "firstName": "Agustin", - "lastName": "Estes", - "address1": "4162 Turkey Pen Road", - "city": "New York", - "postalCode": "10016", - "stateCode": "NY", - "countryCode": "US" - } - } - ], - "paymentInstruments": [ - { - "paymentMethodId": "CREDIT_CARD", - "paymentCard": { - "cardType": "Visa" - } - } - ], - "couponItems":[ - { "code" : "5ties" - } - ], - "productItems": [ - { - "productId": "green-umbrella", - "quantity": 3.00 - } - ] - } diff --git a/apis/checkout/shopper-baskets/examples/basket/basket-post-response.raml b/apis/checkout/shopper-baskets/examples/basket/basket-post-response.raml deleted file mode 100644 index 5e49df0b..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/basket-post-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/basket-put-agent-response.raml b/apis/checkout/shopper-baskets/examples/basket/basket-put-agent-response.raml deleted file mode 100644 index 65c1616c..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/basket-put-agent-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": true, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/basket-put-storefront-response.raml b/apis/checkout/shopper-baskets/examples/basket/basket-put-storefront-response.raml deleted file mode 100644 index 842b69b1..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/basket-put-storefront-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "callcenter", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/basket-tax-get-response.raml b/apis/checkout/shopper-baskets/examples/basket/basket-tax-get-response.raml deleted file mode 100644 index e7ed3196..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/basket-tax-get-response.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "taxes": { - "3d4e28425ce0b3a65b0ac4e163":{ - "taxItems":[ - { - "id":"DE_7", - "rate":0.07, - "value":13.99 - }, - { - "id":"DE_19", - "rate":0.19 - } - ] - }, - "ff9452ed11fcf5c80f9143a8f1":{ - "taxItems":[ - { - "id":"US_1", - "rate":0.01 - }, - { - "id":"US_5", - "rate":0.05 - } - ] - } - } - } \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/examples/basket/basket-tax-put-request.raml b/apis/checkout/shopper-baskets/examples/basket/basket-tax-put-request.raml deleted file mode 100644 index d3ef0414..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/basket-tax-put-request.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "taxes": { - "3d4e28425ce0b3a65b0ac4e163":{ - "taxItems":[ - { - "id":"DE_7", - "rate":0.07, - "value":13.99 - }, - { - "id":"DE_19", - "rate":0.19 - } - ] - }, - "ff9452ed11fcf5c80f9143a8f1":{ - "taxItems":[ - { - "id":"US_1", - "rate":0.01 - }, - { - "id":"US_5", - "rate":0.05 - } - ] - } - } - } \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/examples/basket/billing-address-put-request.raml b/apis/checkout/shopper-baskets/examples/basket/billing-address-put-request.raml deleted file mode 100644 index e4926ee8..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/billing-address-put-request.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "firstName": "Stephanie", - "lastName": "Miller", - "address1": "385 Prospect Valley Road", - "city": "Woburn", - "postalCode": "01801", - "stateCode": "MA", - "countryCode": "US" - } diff --git a/apis/checkout/shopper-baskets/examples/basket/billing-address-put-response.raml b/apis/checkout/shopper-baskets/examples/basket/billing-address-put-response.raml deleted file mode 100644 index 5ba49e38..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/billing-address-put-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "385 Prospect Valley Road", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "7800e0f611dac6caf77afb9df9", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:53:30.993Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:53:35.747Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "2b76b8644eb6da43e7e223b48d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "43c38652bc3844e14cd482ff28", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "b4ff13039bc7abd1b9d933b871", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "193e99bc1205b870cebd36d970", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "ac7a3b62dc1df8de898d7a2141", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/coupon-code-post-request.raml b/apis/checkout/shopper-baskets/examples/basket/coupon-code-post-request.raml deleted file mode 100644 index 0d84fee5..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/coupon-code-post-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "code": "10_percent_off" - } diff --git a/apis/checkout/shopper-baskets/examples/basket/coupon-code-post-response.raml b/apis/checkout/shopper-baskets/examples/basket/coupon-code-post-response.raml deleted file mode 100644 index d65a2e6b..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/coupon-code-post-response.raml +++ /dev/null @@ -1,154 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - }, - { - "code": "10_percent_off", - "couponItemId": "9372d0f511dac8caf77afc4kj2", - "statusCode": "applied", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/customer-put-request.raml b/apis/checkout/shopper-baskets/examples/basket/customer-put-request.raml deleted file mode 100644 index 096aa3dc..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/customer-put-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "email": "shopperUpdate@salesforce-test.com" - } diff --git a/apis/checkout/shopper-baskets/examples/basket/customer-put-response.raml b/apis/checkout/shopper-baskets/examples/basket/customer-put-response.raml deleted file mode 100644 index ace0a57a..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/customer-put-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopperUpdate@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/gift-cert-patch-request.raml b/apis/checkout/shopper-baskets/examples/basket/gift-cert-patch-request.raml deleted file mode 100644 index e5769816..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/gift-cert-patch-request.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount" : 1.00, - "recipientEmail" : "miller@salesforce-test.com" - } diff --git a/apis/checkout/shopper-baskets/examples/basket/gift-cert-patch-response.raml b/apis/checkout/shopper-baskets/examples/basket/gift-cert-patch-response.raml deleted file mode 100644 index 1b9f48f0..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/gift-cert-patch-response.raml +++ /dev/null @@ -1,156 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopperUpdate@salesforce-test.com" - }, - "giftCertificateItems": [ - { - "amount": 1, - "giftCertificateItemId": "83726a8351540534af93f3b15f", - "recipientEmail": "miller@salesforce-test.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/gift-cert-post-request.raml b/apis/checkout/shopper-baskets/examples/basket/gift-cert-post-request.raml deleted file mode 100644 index eb4500ea..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/gift-cert-post-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount" : 1.00, - "recipientEmail" : "miller@salesforce-test.com", - "shipmentId" : "me" - } diff --git a/apis/checkout/shopper-baskets/examples/basket/gift-cert-post-response.raml b/apis/checkout/shopper-baskets/examples/basket/gift-cert-post-response.raml deleted file mode 100644 index 897a1fd4..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/gift-cert-post-response.raml +++ /dev/null @@ -1,156 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopperUpdate@salesforce-test.com" - }, - "giftCertificateItems": [ - { - "amount": 2, - "giftCertificateItemId": "83726a8351540534af93f3b15f", - "recipientEmail": "miller@salesforce-test.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/item-patch-request.raml b/apis/checkout/shopper-baskets/examples/basket/item-patch-request.raml deleted file mode 100644 index 72ab20be..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/item-patch-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "quantity" : 1 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/item-patch-response.raml b/apis/checkout/shopper-baskets/examples/basket/item-patch-response.raml deleted file mode 100644 index 88a103b2..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/item-patch-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 10, - "adjustedShippingTotalTax": 0.4, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "7800e0f611dac6caf77afb9df9", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:53:30.993Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:58:39.498Z", - "merchandizeTotalTax": 10, - "notes": { - }, - "orderTotal": 218.38, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "2b76b8644eb6da43e7e223b48d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 10, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "43c38652bc3844e14cd482ff28", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "b4ff13039bc7abd1b9d933b871", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATre", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 1, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 199.99, - "priceAfterItemDiscount": 199.99, - "priceAfterOrderDiscount": 199.99, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 1, - "shipmentId": "me", - "tax": 10, - "taxBasis": 199.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 199.99, - "productTotal": 199.99, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 10, - "adjustedShippingTotalTax": 0.4, - "gift": false, - "merchandizeTotalTax": 10, - "productSubTotal": 199.99, - "productTotal": 199.99, - "shipmentId": "me", - "shipmentTotal": 218.38, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "193e99bc1205b870cebd36d970", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 7.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 7.99, - "shippingTotalTax": 0.4, - "taxTotal": 10.4 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.4, - "basePrice": 7.99, - "itemId": "ac7a3b62dc1df8de898d7a2141", - "itemText": "Shipping", - "price": 7.99, - "priceAfterItemDiscount": 7.99, - "shipmentId": "me", - "tax": 0.4, - "taxBasis": 7.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 7.99, - "shippingTotalTax": 0.4, - "taxation": "net", - "taxTotal": 10.4 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/item-post-request.raml b/apis/checkout/shopper-baskets/examples/basket/item-post-request.raml deleted file mode 100644 index d978549b..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/item-post-request.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [{ - "productId": "green-bag", - "quantity": 1 - }] diff --git a/apis/checkout/shopper-baskets/examples/basket/item-post-response.raml b/apis/checkout/shopper-baskets/examples/basket/item-post-response.raml deleted file mode 100644 index 258f6e4b..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/item-post-response.raml +++ /dev/null @@ -1,184 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 36.5, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "4 Main St.", - "address2": "Basement Flat", - "city": "Boston", - "companyName": "Flexo", - "countryCode": "US", - "firstName": "John", - "fullName": "John H. Smith", - "id": "0aa3fce01dec8a51ee50323c9c", - "jobTitle": "Sales Manager", - "lastName": "Smith", - "phone": "+1 33-33-33", - "postalCode": "40982", - "secondName": "H.", - "stateCode": "MA", - "title": "Mr" - }, - "channelType": "storefront", - "creationDate": "2019-10-17T10:59:24.503Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "" - }, - "giftCertificateItems": [ - { - "amount": 2, - "giftCertificateItemId": "a9c38be81002962a93310ffd66", - "recipientEmail": "benet@example.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-17T11:00:22.545Z", - "merchandizeTotalTax": 36.5, - "notes": { - }, - "orderTotal": 785.24, - "paymentInstruments": [ - { - "amount": 10.3, - "paymentInstrumentId": "19ceb7afa36ffe22fcd93c3518", - "paymentMethodId": "BML" - }, - { - "amount": 10.4, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "74c2fd8a9ede5712be8f18c638", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "051e908cca031ebf8ee80cbb0a", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "1b48e2474f18edefc34577daf8", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATre", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - }, - { - "adjustedTax": 1.5, - "basePrice": 29.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "32f71ef20eccbc9b75d2114352", - "itemText": "Green Bag", - "price": 29.99, - "priceAfterItemDiscount": 29.99, - "priceAfterOrderDiscount": 29.99, - "productId": "green-bag", - "productName": "Green Bag", - "quantity": 1, - "shipmentId": "me", - "tax": 1.5, - "taxBasis": 29.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 729.95, - "productTotal": 729.95, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 36.5, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 36.5, - "productSubTotal": 729.95, - "productTotal": 729.95, - "shipmentId": "me", - "shipmentTotal": 785.24, - "shippingAddress": { - "address1": "4 Main St.", - "address2": "Basement Flat", - "city": "Boston", - "companyName": "Flexo", - "countryCode": "US", - "firstName": "John", - "fullName": "John H. Smith", - "id": "c27620f32e6e607c04a35fc2c7", - "jobTitle": "Sales Manager", - "lastName": "Smith", - "phone": "+1 33-33-33", - "postalCode": "40982", - "secondName": "H.", - "stateCode": "MA", - "title": "Mr" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 37.3 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "bf466b517f08b5fae8d553b36c", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 37.3 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/items-patch-request.raml b/apis/checkout/shopper-baskets/examples/basket/items-patch-request.raml deleted file mode 100644 index e5edfae2..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/items-patch-request.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [{ - "itemId": "051e908cca031ebf8ee80cbb0a", - "productId": "green-bag", - "quantity": 1 - },{ - "itemId": "078a492cca031ebf8ee80739ab", - "optionItems" : [{ - "optionId":"Option1", - "optionValueId":"ValueA" - }], - "quantity": 1 - }] diff --git a/apis/checkout/shopper-baskets/examples/basket/items-patch-response.raml b/apis/checkout/shopper-baskets/examples/basket/items-patch-response.raml deleted file mode 100644 index 258f6e4b..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/items-patch-response.raml +++ /dev/null @@ -1,184 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 36.5, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "4 Main St.", - "address2": "Basement Flat", - "city": "Boston", - "companyName": "Flexo", - "countryCode": "US", - "firstName": "John", - "fullName": "John H. Smith", - "id": "0aa3fce01dec8a51ee50323c9c", - "jobTitle": "Sales Manager", - "lastName": "Smith", - "phone": "+1 33-33-33", - "postalCode": "40982", - "secondName": "H.", - "stateCode": "MA", - "title": "Mr" - }, - "channelType": "storefront", - "creationDate": "2019-10-17T10:59:24.503Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "" - }, - "giftCertificateItems": [ - { - "amount": 2, - "giftCertificateItemId": "a9c38be81002962a93310ffd66", - "recipientEmail": "benet@example.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-17T11:00:22.545Z", - "merchandizeTotalTax": 36.5, - "notes": { - }, - "orderTotal": 785.24, - "paymentInstruments": [ - { - "amount": 10.3, - "paymentInstrumentId": "19ceb7afa36ffe22fcd93c3518", - "paymentMethodId": "BML" - }, - { - "amount": 10.4, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "74c2fd8a9ede5712be8f18c638", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "051e908cca031ebf8ee80cbb0a", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "1b48e2474f18edefc34577daf8", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATre", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - }, - { - "adjustedTax": 1.5, - "basePrice": 29.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "32f71ef20eccbc9b75d2114352", - "itemText": "Green Bag", - "price": 29.99, - "priceAfterItemDiscount": 29.99, - "priceAfterOrderDiscount": 29.99, - "productId": "green-bag", - "productName": "Green Bag", - "quantity": 1, - "shipmentId": "me", - "tax": 1.5, - "taxBasis": 29.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 729.95, - "productTotal": 729.95, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 36.5, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 36.5, - "productSubTotal": 729.95, - "productTotal": 729.95, - "shipmentId": "me", - "shipmentTotal": 785.24, - "shippingAddress": { - "address1": "4 Main St.", - "address2": "Basement Flat", - "city": "Boston", - "companyName": "Flexo", - "countryCode": "US", - "firstName": "John", - "fullName": "John H. Smith", - "id": "c27620f32e6e607c04a35fc2c7", - "jobTitle": "Sales Manager", - "lastName": "Smith", - "phone": "+1 33-33-33", - "postalCode": "40982", - "secondName": "H.", - "stateCode": "MA", - "title": "Mr" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 37.3 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "bf466b517f08b5fae8d553b36c", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 37.3 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/payment-instrument-patch-request.raml b/apis/checkout/shopper-baskets/examples/basket/payment-instrument-patch-request.raml deleted file mode 100644 index 8d4b3bd6..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/payment-instrument-patch-request.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount": 0, - "paymentCard": - { - "holder": "Miller", - "cardType": "Visa" - }, - "paymentMethodId": "CREDIT_CARD" - } diff --git a/apis/checkout/shopper-baskets/examples/basket/payment-instrument-patch-response.raml b/apis/checkout/shopper-baskets/examples/basket/payment-instrument-patch-response.raml deleted file mode 100644 index 42132b31..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/payment-instrument-patch-response.raml +++ /dev/null @@ -1,149 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false, - "holder": "Miller" - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/payment-instrument-post-request.raml b/apis/checkout/shopper-baskets/examples/basket/payment-instrument-post-request.raml deleted file mode 100644 index 23ae4593..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/payment-instrument-post-request.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount": 1, - "paymentCard":{ - "expirationYear":1990, - "expirationMonth":7, - "validFromMonth":8, - "validFromYear":2007, - "issueNumber":"i117", - "maskedNumber":"*********1234", - "holder":"Miller", - "cardType":"Visa" - }, - "paymentMethodId": "CREDIT_CARD" - } diff --git a/apis/checkout/shopper-baskets/examples/basket/payment-instrument-post-response.raml b/apis/checkout/shopper-baskets/examples/basket/payment-instrument-post-response.raml deleted file mode 100644 index afd944b2..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/payment-instrument-post-response.raml +++ /dev/null @@ -1,164 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false, - "holder": "Miller" - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - }, - { - "amount": 1, - "paymentCard": { - "expirationYear":1990, - "expirationMonth":7, - "validFromMonth":8, - "validFromYear":2007, - "issueNumber":"i117", - "maskedNumber":"************1234", - "holder":"Miller", - "cardType":"Visa" - }, - "paymentInstrumentId": "9f21f0b51f206fbde2ff5789e5", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/payment-methods-get-response.raml b/apis/checkout/shopper-baskets/examples/basket/payment-methods-get-response.raml deleted file mode 100644 index ff069f62..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/payment-methods-get-response.raml +++ /dev/null @@ -1,77 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "applicablePaymentMethods": [ - { - "id": "GIFT_CERTIFICATE", - "name": "Gift Certificate", - "paymentProcessorId": "BASIC_GIFT_CERTIFICATE" - }, - { - "cards": [ - { - "cardType": "Visa", - "checksumVerificationEnabled": true, - "name": "Visa", - "numberLengths": [ - "13", - "16" - ], - "numberPrefixes": [ - "4" - ] - }, - { - "cardType": "Amex", - "checksumVerificationEnabled": true, - "name": "American Express", - "numberLengths": [ - "15" - ], - "numberPrefixes": [ - "34", - "37" - ] - }, - { - "cardType": "Master Card", - "checksumVerificationEnabled": true, - "name": "MasterCard", - "numberLengths": [ - "16" - ], - "numberPrefixes": [ - "51-55" - ] - }, - { - "cardType": "Discover", - "checksumVerificationEnabled": true, - "name": "Discover", - "numberLengths": [ - "16" - ], - "numberPrefixes": [ - "6011", - "622126-622925", - "644-649", - "65" - ] - } - ], - "id": "CREDIT_CARD", - "name": "Credit Card", - "paymentProcessorId": "BASIC_CREDIT" - }, - { - "id": "PayPal", - "name": "Pay Pal", - "paymentProcessorId": "PAYPAL_EXPRESS" - }, - { - "id": "BML", - "name": "Bill Me Later", - "paymentProcessorId": "CYBERSOURCE_BML" - } - ] - } diff --git a/apis/checkout/shopper-baskets/examples/basket/price-adjustment-patch-request.raml b/apis/checkout/shopper-baskets/examples/basket/price-adjustment-patch-request.raml deleted file mode 100644 index 7840a62a..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/price-adjustment-patch-request.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "appliedDiscount" : - { - "amount" : 15, - "type" : "amount" - }, - "itemText" : "AgentOrderAdjustment", - "reasonCode" : "override manual promo" - - } \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/examples/basket/price-adjustment-patch-response.raml b/apis/checkout/shopper-baskets/examples/basket/price-adjustment-patch-response.raml deleted file mode 100644 index 9d472e87..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/price-adjustment-patch-response.raml +++ /dev/null @@ -1,167 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderPriceAdjustments" : [ - { - "appliedDiscount" : - { - "amount" : 15, - "type" : "amount" - }, - "createdBy" : "testWapiAgent", - "creationDate" : "2017-03-14T09:15:35.543Z", - "custom" : true, - "itemText" : "MyOrderAdjustment", - "lastModified" : "2017-03-14T09:15:35.594Z", - "manual" : true, - "price" : -15.00, - "priceAdjustmentId" : "e397cd21f9a9c0643277ba1011", - "promotionId" : "manual adjustment", - "reasonCode" : "override manual promo", - } - ], - "orderTotal": 631.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/price-adjustment-post-request.raml b/apis/checkout/shopper-baskets/examples/basket/price-adjustment-post-request.raml deleted file mode 100644 index 7e90954c..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/price-adjustment-post-request.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - - "discount" : - { - "value" : 5, - "type" : "percentage" - }, - "itemText" : "MyOrderAdjustment", - "level" : "order", - "promotionId" : "manual adjustment" - - } \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/examples/basket/price-adjustment-post-response.raml b/apis/checkout/shopper-baskets/examples/basket/price-adjustment-post-response.raml deleted file mode 100644 index 6bc8d800..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/price-adjustment-post-response.raml +++ /dev/null @@ -1,166 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 28.45, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderPriceAdjustments" : [ - { - "appliedDiscount" : - { - "amount" : 0.05, - "percentage" : 5, - "type" : "percentage" - }, - "createdBy" : "testAgent", - "creationDate" : "2015-05-25T09:13:10.942Z", - "custom" : true, - "itemText" : "MyOrderAdjustment", - "manual" : true, - "price" : -30.00, - "promotionId" : "manual adjustment", - "priceAdjustmentId" : "cdzoAiWbOmbiUaaadlfSpMDgNw" - } - ], - "orderTotal": 615.21, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 569.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 569.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 569.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/price-books.raml b/apis/checkout/shopper-baskets/examples/basket/price-books.raml deleted file mode 100644 index ebb96e82..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/price-books.raml +++ /dev/null @@ -1,3 +0,0 @@ -#%RAML 1.0 NamedExample -value: - ["price-book-id1", "price-book-id2"] \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/examples/basket/shipments-address-put-request.raml b/apis/checkout/shopper-baskets/examples/basket/shipments-address-put-request.raml deleted file mode 100644 index ca67814f..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/shipments-address-put-request.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "firstName": "Ward J", - "lastName": "Adamek", - "address1": "4911 Lincoln Street", - "city": "IDANHA", - "postalCode": "97350", - "stateCode": "OR", - "countryCode": "US" - } diff --git a/apis/checkout/shopper-baskets/examples/basket/shipments-address-put-response.raml b/apis/checkout/shopper-baskets/examples/basket/shipments-address-put-response.raml deleted file mode 100644 index fa1f64a5..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/shipments-address-put-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4911 Lincoln Street", - "postalCode": "97350", - "city": "IDANHA", - "countryCode": "US", - "firstName": "Ward J", - "fullName": "Ward J Adamek", - "id": "b3e1269a2c1d0ad56694206741", - "lastName": "Adamek", - "stateCode": "OR" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/shipments-method-get-response.raml b/apis/checkout/shopper-baskets/examples/basket/shipments-method-get-response.raml deleted file mode 100644 index 3de8667d..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/shipments-method-get-response.raml +++ /dev/null @@ -1,32 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "applicableShippingMethods": [ - { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - { - "description": "Order received in 2 business days", - "id": "002", - "name": "2-Day Express", - "price": 20.99 - }, - { - "description": "Order received the next business day", - "id": "003", - "name": "Overnight", - "price": 29.99 - }, - { - "description": "Store Pickup", - "id": "005", - "name": "Store Pickup", - "price": 0, - "c_storePickupEnabled": true - } - ], - "defaultShippingMethodId": "001" - } diff --git a/apis/checkout/shopper-baskets/examples/basket/shipments-method-put-request.raml b/apis/checkout/shopper-baskets/examples/basket/shipments-method-put-request.raml deleted file mode 100644 index 6ce43159..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/shipments-method-put-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "003" - } diff --git a/apis/checkout/shopper-baskets/examples/basket/shipments-method-put-response.raml b/apis/checkout/shopper-baskets/examples/basket/shipments-method-put-response.raml deleted file mode 100644 index f10a672e..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/shipments-method-put-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4911 Lincoln Street", - "postalCode": "97350", - "city": "IDANHA", - "countryCode": "US", - "firstName": "Ward J", - "fullName": "Ward J Adamek", - "id": "b3e1269a2c1d0ad56694206741", - "lastName": "Adamek", - "stateCode": "OR" - }, - "shippingMethod": { - "description": "Order received the next business day", - "id": "003", - "name": "Overnight", - "price": 29.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 29.99, - "shippingTotalTax": 1.5, - "taxTotal": 36.5 - } - ], - "shippingItems": [ - { - "adjustedTax": 1.5, - "basePrice": 29.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 29.99, - "priceAfterItemDiscount": 29.99, - "shipmentId": "me", - "tax": 1.5, - "taxBasis": 29.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 29.99, - "shippingTotalTax": 1.5, - "taxation": "net", - "taxTotal": 36.5 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/shipments-patch-request.raml b/apis/checkout/shopper-baskets/examples/basket/shipments-patch-request.raml deleted file mode 100644 index b89e6fb5..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/shipments-patch-request.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "shipmentId": "me", - "shipmentNo": "ignored shipment no", - "shippingMethod": { - "id": "003" - }, - "shippingAddress": { - "firstName": "Ward J", - "lastName": "Adamek", - "address1": "4911 Lincoln Street", - "city": "IDANHA", - "postalCode": "97350", - "stateCode": "OR", - "countryCode": "US" - }, - "c_wapi-string": "shipment_custom_property" - } diff --git a/apis/checkout/shopper-baskets/examples/basket/shipments-patch-response.raml b/apis/checkout/shopper-baskets/examples/basket/shipments-patch-response.raml deleted file mode 100644 index 5acb7dd0..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/shipments-patch-response.raml +++ /dev/null @@ -1,146 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4911 Lincoln Street", - "city": "IDANHA", - "countryCode": "US", - "firstName": "Ward J", - "fullName": "Ward J Adamek", - "id": "b3e1269a2c1d0ad56694206741", - "lastName": "Adamek" - }, - "shippingMethod": { - "description": "Order received in 2 business days", - "id": "002", - "name": "2-Day Express", - "price": 20.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 20.99, - "shippingTotalTax": 1.05, - "taxTotal": 36.05 - } - ], - "shippingItems": [ - { - "adjustedTax": 1.05, - "basePrice": 20.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 20.99, - "priceAfterItemDiscount": 20.99, - "shipmentId": "me", - "tax": 1.05, - "taxBasis": 20.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 20.99, - "shippingTotalTax": 1.05, - "taxation": "net", - "taxTotal": 36.05 - } diff --git a/apis/checkout/shopper-baskets/examples/basket/shipments-post-request.raml b/apis/checkout/shopper-baskets/examples/basket/shipments-post-request.raml deleted file mode 100644 index 8eaf4f83..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/shipments-post-request.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "shipmentId": "me2", - "shippingMethod": { - "id": "001" - }, - "shippingAddress": { - "firstName": "Stephanie", - "lastName": "Miller", - "address1": "385 Prospect Valley Road", - "city": "Woburn", - "postalCode": "01801", - "stateCode": "MA", - "countryCode": "US" - } - } diff --git a/apis/checkout/shopper-baskets/examples/basket/shipments-post-response.raml b/apis/checkout/shopper-baskets/examples/basket/shipments-post-response.raml deleted file mode 100644 index 65f16783..00000000 --- a/apis/checkout/shopper-baskets/examples/basket/shipments-post-response.raml +++ /dev/null @@ -1,189 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4911 Lincoln Street", - "city": "IDANHA", - "countryCode": "US", - "firstName": "Ward J", - "fullName": "Ward J Adamek", - "id": "b3e1269a2c1d0ad56694206741", - "lastName": "Adamek" - }, - "shippingMethod": { - "description": "Order received in 2 business days", - "id": "002", - "name": "2-Day Express", - "price": 20.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 20.99, - "shippingTotalTax": 1.05, - "taxTotal": 36.05 - }, - { - "adjustedMerchandizeTotalTax": 35, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 35, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me2", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "385 Prospect Valley Road", - "city": "Woburn", - "stateCode": "MA", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "84f06786daa68ae33af7e21ec6", - "lastName": "Miller" - }, - "shippingMethod": { - "description": "Order received in 2 business days", - "id": "001", - "name": "2-Day Express", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 35 - } - ], - "shippingItems": [ - { - "adjustedTax": 1.05, - "basePrice": 20.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 20.99, - "priceAfterItemDiscount": 20.99, - "shipmentId": "me", - "tax": 1.05, - "taxBasis": 20.99, - "taxClassId": "standard", - "taxRate": 0.05 - }, - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "6fea9966277c94e06b482a5c43", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 36.98, - "shippingTotalTax": 1.35, - "taxation": "net", - "taxTotal": 36.35 - } diff --git a/apis/checkout/shopper-baskets/examples/error/basket-merge-exception.raml b/apis/checkout/shopper-baskets/examples/error/basket-merge-exception.raml deleted file mode 100644 index 4083fc13..00000000 --- a/apis/checkout/shopper-baskets/examples/error/basket-merge-exception.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-merge-no-current-basket-exception", - "title": "Conflict", - "detail": "The current customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has no active basket." - } \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/examples/error/basket-transfer-exception.raml b/apis/checkout/shopper-baskets/examples/error/basket-transfer-exception.raml deleted file mode 100644 index ff3e25ad..00000000 --- a/apis/checkout/shopper-baskets/examples/error/basket-transfer-exception.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-transfer-basket-already-exists-exception", - "title": "Conflict", - "detail": "The current customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has an active basket." - } \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/examples/error/customer-basket-quota-exceeded-exception.raml b/apis/checkout/shopper-baskets/examples/error/customer-basket-quota-exceeded-exception.raml deleted file mode 100644 index 5cb4942c..00000000 --- a/apis/checkout/shopper-baskets/examples/error/customer-basket-quota-exceeded-exception.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "title": "Customer Baskets Quota Exceeded", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-baskets-quota-exceeded", - "detail": "The maximum number of baskets per customer was exceeded. Please reuse or delete one of the existing baskets (40e91e04aba6e42a6836f79308).", - "basketIds": "40e91e04aba6e42a6836f79308" -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/examples/error/customer-temporary-basket-quota-exceeded-exception.raml b/apis/checkout/shopper-baskets/examples/error/customer-temporary-basket-quota-exceeded-exception.raml deleted file mode 100644 index 61dc2410..00000000 --- a/apis/checkout/shopper-baskets/examples/error/customer-temporary-basket-quota-exceeded-exception.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "title": "Customer Temporary Baskets Quota Exceeded", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-temporary-baskets-quota-exceeded", - "detail": "The maximum number of temporary baskets per customer was exceeded. Please reuse or delete one of the existing temporary baskets (40e91e04aba6e42a6836f79308, 73ca0f0860a67df946782c2688).", - "basketIds": "40e91e04aba6e42a6836f79308, 73ca0f0860a67df946782c2688" -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/examples/error/price-adjustment-id-not-found-exception.raml b/apis/checkout/shopper-baskets/examples/error/price-adjustment-id-not-found-exception.raml deleted file mode 100644 index 3844d9b3..00000000 --- a/apis/checkout/shopper-baskets/examples/error/price-adjustment-id-not-found-exception.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/price-adjustment-not-found", - "title": "Price Adjustment Not Found", - "detail": "No price adjustment with ID '453599643347eac5e4ebd85b49' could be found." - } \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/examples/error/slas-jwt-exception.raml b/apis/checkout/shopper-baskets/examples/error/slas-jwt-exception.raml deleted file mode 100644 index f8ee55bc..00000000 --- a/apis/checkout/shopper-baskets/examples/error/slas-jwt-exception.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "title": "Forbidden", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "detail": "Your access-token is valid, but it contains no previous customer to process this action." - } diff --git a/apis/checkout/shopper-baskets/examples/error/source-basket-exception.raml b/apis/checkout/shopper-baskets/examples/error/source-basket-exception.raml deleted file mode 100644 index 6b9972b2..00000000 --- a/apis/checkout/shopper-baskets/examples/error/source-basket-exception.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/no-source-basket-exception", - "title": "Conflict", - "detail": "The previous customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has no active basket." - } \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange.json b/apis/checkout/shopper-baskets/exchange.json deleted file mode 100644 index cb2e81c2..00000000 --- a/apis/checkout/shopper-baskets/exchange.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.6", - "assetId": "checkout-data-types", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "2.0.10", - "originalFormatVersion": "1.0", - "apiVersion": "v2", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-baskets.raml", - "backwardsCompatible": false, - "assetId": "shopper-baskets", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Baskets", - "tags": [] -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml deleted file mode 100644 index 3d3d9c1d..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml +++ /dev/null @@ -1,2364 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not - including service charges such as shipping. If the Discount Taxation preference is set to Tax - Products and Shipping Only Based on Adjusted Price, this amount also includes prorated - order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - agentBasket?: - description: |- - Is the basket created by an agent? It is read only. - type: boolean - example: - true - basketId?: - description: |- - The unique identifier for the basket. It is read only. - type: string - example: - "e78aa5646a8efebdd9cdd38be7" - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - creationDate?: - description: |- - The timestamp when the basket was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information, if the customer is logged in. - type: CustomerInfo - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - inventoryReservationExpiry?: - description: |- - The expiration datetime of the inventory reservation. It is read only. - type: datetime - example: - 2015-05-19T15:30:18.000Z - lastModified?: - description: |- - The timestamp when the basket was last modified. It is read only. - type: datetime - example: - 2015-05-19T15:25:18.000Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. - Merchandise total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. It is read only. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: SimpleLink - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and tax. It is read only. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping - charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 88.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - sourceCode?: - description: |- - The source code assigned to the basket. It is read only. - type: string - example: - "OUTDOOR1" - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. - type: boolean - example: - true - temporaryBasket?: - description: |- - If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. It is read only. - type: boolean - example: - true - BasketPaymentInstrumentRequest: - description: |- - Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - example: - "AFGRTUZ" - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - example: - "5ties" - id?: - description: |- - The ID of the line item. It is read only. - type: string - example: - "91f4dd8bfa0653d58b7783b04f" - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - example: - "Buy1Get2" - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: |- - The coupon code. - maxLength: 256 - type: string - example: - "5ties" - couponItemId?: - description: |- - The coupon item ID. It is read only. - type: string - example: - "d4c9c0141e9c74c150225580f3" - statusCode?: - description: |- - The status of the coupon item. It is read only. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - "no_applicable_promotion" - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". It is read only. - type: boolean - example: - true - CustomerInfo: - description: |- - The customer information for guest or logged-in customers. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: |- - The customer ID. It is read only. - maxLength: 100 - type: string - example: - "abMKqMaNYOBMnNdDNzyC5oNTi5" - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - customerNo?: - description: |- - The customer number. - maxLength: 100 - type: string - example: - "0002352" - email: - description: |- - The customer's email address. - type: string - example: - no-reply@salesforce.com - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. It is read only. - type: number - format: double - example: - 130.88 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. It is read only. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The price book ID that is used with some types. It is read only. - type: string - example: - "usd-sale-prices" - type: - description: |- - The type of discount. It is read only. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - "fixed_price" - DiscountRequest: - description: |- - Request that represents a discount to be applied to a custom price adjustment. - type: - CommerceCloudStandards.ClosedObject - properties: - type: - description: |- - The type of discount. - - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. - - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. - - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. - type: string - enum: - - percentage - - fixed_price - - amount - example: - "percentage" - value: - description: |- - The amount of the discount. - type: number - format: double - example: - 20.00 - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate item amount. - type: number - format: double - example: - 20.00 - giftCertificateItemId?: - description: |- - The item ID. It is read only. - type: string - example: - "629dea6e7b61e58da629b57b21" - message?: - description: |- - The gift certificate message. - maxLength: 4000 - type: string - example: - "Birthday present." - recipientEmail: - description: |- - The recipient email. - minLength: 1 - type: string - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient's name. - type: string - example: - "Daniel Mustermann" - senderName?: - description: |- - The sender's name. - type: string - example: - "Max Mustermann" - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - GroupedTaxItem: - description: |- - Document representing the grouped tax item. - type: - CommerceCloudStandards.ClosedObject - properties: - taxRate?: - description: |- - The tax rate. It is read only. - type: number - format: double - example: - 0.10 - taxValue?: - description: |- - The summed up tax total for the tax rate. It is read only. - type: number - format: double - example: - 10.03 - Note: - description: |- - Document representing a note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The author of the note. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - id?: - description: |- - The ID of the note. - type: string - example: - "49b5c6c8340e432a7bfab9ff3a" - subject?: - description: |- - The note subject. - maxLength: 256 - type: string - example: - "Order was created." - text?: - description: |- - The note text. - maxLength: 4000 - type: string - example: - "Order was created." - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: |- - The notes. It is read only. - type: array - items: - type: Note - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product - item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - example: - "ba248414e3eee797f062162f8b" - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. It is read only. - type: boolean - example: - false - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. It is read only. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - example: - "The item text." - optionId: - description: |- - The ID of the option. It is read only. - maxLength: 256 - type: string - example: - consoleWarranty - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - optionValueId: - description: |- - The ID of the option value. It is read only. - maxLength: 256 - type: string - example: - "000" - price?: - description: |- - The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 150.99 - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or - shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not - including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 40.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The ordered quantity of the products represented by this item. - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a - surcharge applied to individual products using a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax on the line item before applying any adjustments. It is read only. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. It is read only. - type: number - format: double - example: - 50.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.19 - Order: - description: |- - Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as - shipping. It is read only. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. It is read only. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - confirmationStatus?: - description: |- - The confirmation status. - type: string - enum: - - not_confirmed - - confirmed - example: - "confirmed" - couponItems?: - description: |- - The coupon items. It is read only. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. - If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. It is read only. - type: string - example: - "Customer" - creationDate?: - description: |- - The timestamp when the order was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. It is read only. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information for guest or logged-in customers. It is read only. - type: CustomerInfo - customerName?: - description: |- - The customer name. It is read only. - type: string - example: - "Max Mustermann" - exportStatus?: - description: |- - The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - example: - "exported" - externalOrderStatus?: - description: |- - The external status of the order. - type: string - example: - "Submitted" - giftCertificateItems?: - description: |- - The gift certificate line items. It is read only. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. It is read only. - type: string - example: - "GP_1234" - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - guest?: - description: |- - The registration status of the customer. It is read only. - type: boolean - example: - true - lastModified?: - description: |- - The timestamp when the order was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices - not including shipping or adjustments. It is read only. - type: number - format: double - example: - 1.50 - notes?: - description: |- - The notes. - type: SimpleLink - orderNo?: - description: |- - The order number. - type: string - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. It is read only. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. It is read only. - type: string - orderTotal?: - description: |- - The total price, including products, shipping, and tax. It is read only. - type: number - format: double - example: - 110.24 - orderViewCode?: - description: |- - The order view code used to secure the order lookup of an order using Order Lookup API. - The order view code contains only URL safe characters. - Warning : Order view code must not be exposed in the URL and must only be displayed to the shopper or sent as an email. - Order view code must not be logged in the code. It is read only. - type: string - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: string - enum: - - not_paid - - part_paid - - paid - example: - "paid" - productItems?: - description: |- - The product items. It is read only. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipments?: - description: |- - The shipments. It is read only. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. It is read only. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: string - enum: - - not_shipped - - part_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - siteId?: - description: |- - The order's site. It is read only. - type: string - example: - "ShoppingSite" - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. It is read only. - type: string - example: - "OUTDOOR1" - status?: - description: |- - The status. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - example: - "created" - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. - type: boolean - example: - true - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - OrderAddress: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - example: - "45 Main Rd." - address2?: - description: |- - The second address line. - type: string - example: - "Apartment 204" - city?: - description: |- - The city. - type: string - example: - "Boston" - companyName?: - description: |- - The company name. - type: string - example: - "Salesforce" - countryCode?: - description: |- - The ISO Country Code. - type: CommerceCloudStandards.CountryCode - example: - "US" - firstName?: - description: |- - The first name. - type: string - example: - "Max" - fullName?: - description: |- - The full name. - type: string - example: - "Max Mustermann" - id?: - description: |- - The ID of the address. - type: string - example: - "me" - jobTitle?: - description: |- - The job title. - type: string - example: - "Software Engineer" - lastName?: - description: |- - The last name. - type: string - example: - "Mustermann" - phone?: - description: |- - The phone number. - type: string - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - example: - "PO BOX 109" - postalCode?: - description: |- - The postal code. - type: string - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - example: - "Mr" - secondName?: - description: |- - The second name. - type: string - stateCode?: - description: |- - The state code. - type: string - example: - "MA" - suffix?: - description: |- - The suffix. - type: string - example: - "Sr" - suite?: - description: |- - The suite. - type: string - example: - "24A" - title?: - description: |- - The title. - type: string - example: - "Dr." - OrderLookupRequest: - description: |- - Document representing an order lookup request. - type: - CommerceCloudStandards.ClosedObject - properties: - email: - description: |- - The customer's email address associated with order to be looked up. - type: string - example: - no-reply@salesforce.com - orderViewCode: - description: |- - The order view code associated with the order to be looked up. - type: string - OrderPaymentCardRequest: - description: |- - Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - maxLength: 256 - type: string - example: - "Visa" - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - example: - "*********4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - OrderPaymentInstrument: - description: |- - Document representing an order payment instrument. - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. It is read only. - type: Status - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the last 4 characters not masked. - type: string - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. It is read only. - type: string - example: - "ba248424e3eee797f062162f8b" - paymentMethodId?: - description: |- - The payment method ID. It is read only. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - OrderPaymentInstrumentRequest: - description: |- - Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - CREDIT_CARD - PaymentCard: - description: |- - Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type. - maxLength: 256 - type: string - example: - "Visa" - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. It is read only. - type: boolean - example: - true - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - "Max Mustermann" - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 4000 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of the payment card number. It is read only. - maxLength: 4000 - type: string - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2015 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: |- - The payment card type. It is read only. - type: string - example: - "Visa" - checksumVerificationEnabled?: - description: |- - A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. - type: boolean - example: - true - description?: - description: |- - The localized description of the payment card. It is read only. - type: string - image?: - description: |- - The URL to the image that represents the payment card. It is read only. - type: string - name?: - description: |- - The localized name of the payment card. It is read only. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). It is read only. - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). It is read only. - type: array - items: - type: string - securityCodeLength?: - description: |- - The length of the security code for this card. It is read only. - type: integer - format: int32 - PaymentMethod: - description: |- - Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: |- - The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. - type: array - items: - type: PaymentCardSpec - description?: - description: |- - The localized description of the payment method or card. It is read only. - type: string - id: - description: |- - The ID of the payment method or card. It is read only. - maxLength: 256 - type: string - image?: - description: |- - The URL to the image that represents the payment method or card. It is read only. - type: string - name?: - description: |- - The localized name of the payment method or card. It is read only. - type: string - paymentProcessorId?: - description: |- - The payment processor ID. It is read only. It is read only. - type: string - PaymentMethodResult: - description: |- - Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: |- - The applicable payment methods. It is read only. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments - not based on a discount, this value is null. - type: Discount - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments - not based on a coupon, this value is null. It is read only. - type: string - example: - "5ties" - createdBy?: - description: |- - The user who created the price adjustment. It is read only. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the price adjustment was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This - flag is set to true unless the price adjustment was created by the promotion - engine. - type: boolean - example: - true - itemText?: - description: |- - The text describing the item. - type: string - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. - If the price adjustment was created by the promotion engine, this value is always - false. - type: boolean - example: - true - price?: - description: |- - The adjustment price. It is read only. - type: number - format: double - example: - 120.88 - priceAdjustmentId?: - description: |- - The price adjustment ID. It is read only. - type: string - example: - "ba248424e3eee797f062161f8b" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: |- - The URL addressing the related promotion. It is read only. - type: string - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - PriceAdjustmentRequest: - description: |- - Request that represents a price adjustment. - type: - CommerceCloudStandards.OpenObject - properties: - discount?: - description: |- - A discount that can be specified instead of a price. - type: DiscountRequest - itemId?: - description: |- - The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. - type: string - example: - "93196fae953cbedbe54d67e760" - itemText?: - description: |- - The text describing the item in more detail. - type: string - example: - "A discounted item" - level: - description: |- - The level at which the adjustment is applied. - - `order` indicates that the price adjustment should be added directly to basket. - - `product` indicates that the price adjustment should be added to the product item. - - `shipping` indicates that the price adjustment is added to the shipping item. - type: string - enum: - - product - - shipping - - order - example: - "order" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. - type: string - example: - "Shipping100" - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - example: - "Shipping promotion on order above $1,000 USD" - PriceBookIds: - description: |- - Array of price book IDs to use for the basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: |- - Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: |- - The description of the product. - type: string - example: - "Nintendo DS revolutionizes handheld gameplay." - productId: - description: |- - The ID of the product. - type: string - example: - "nintendo-ds-console" - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - title?: - description: |- - The link title. - type: string - example: - "Nintendo DS Game Console" - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including - adjustments. If the taxation policy is net, it doesn't include tax. If the - taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 130.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - true - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or - creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not - including order-level adjustments or shipping charges. If the taxation policy is - net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 20.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation - policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 15.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference - to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The quantity of the products represented by this item. - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A - related shipping item represents a surcharge applied to individual products using - a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax for the product item, not including price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The price used to calculate the tax for this product item. It is read only. - type: number - format: double - example: - 30.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.90 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The ID of the product list item. It is read only. - type: string - example: - "ba248424e3fee797f062162f8b" - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - example: - 1 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: |- - A reference to the associated product list. It is read only. - type: ProductListLink - public?: - type: boolean - example: - false - purchasedQuantity?: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0.00 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListLink: - description: |- - Document representing a link to a product list. - properties: - description?: - description: |- - The description of this product list. - type: string - name?: - description: |- - The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. It is read only. - type: boolean - example: - true - title?: - description: |- - The link title. - type: string - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - "shopping_list" - PromotionLink: - description: |- - Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - name?: - description: |- - The localized name of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$50FixedProductsAmountAbove100" - title?: - description: |- - The title. - type: string - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including - service charges such as shipping. If the Discount Taxation preference is set to Tax Products and - Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as - shipping. It is read only. - type: number - format: double - example: - 4.95 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If - the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipmentId?: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - example: - "me" - shipmentNo?: - description: |- - The shipment number of this shipment. This number is automatically generated. It is read only. - type: string - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, - and tax. It is read only. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: OrderAddress - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethod - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the - taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as - shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on - Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a - custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the shipping item. - type: string - example: - "Shipping" - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level - adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - shipmentId?: - description: |- - The identifier of the shipment to which this item belongs. - type: string - example: - "me" - tax?: - description: |- - The tax on the product item, not including adjustments. It is read only. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The price used to calculate the tax for this shipping item. It is read only. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. - type: number - format: double - ShippingMethod: - description: |- - Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: |- - The localized description of the shipping method. - type: string - example: - "Order received within 7-10 business days" - externalShippingMethod?: - description: |- - The external shipping method. - type: string - id: - description: |- - The shipping method ID. - maxLength: 256 - type: string - example: - "001" - name?: - description: |- - The localized name of the shipping method. - type: string - example: - "Ground" - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. It is read only. - type: number - format: double - example: - 15.00 - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: |- - Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: |- - The applicable shipping method documents. It is read only. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: |- - The default shipping method. It is read only. - type: string - example: - "me" - ShippingPromotion: - description: |- - Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$30FixedShippingAmountAbove150" - promotionName?: - description: |- - The localized promotion name. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - SimpleLink: - description: |- - Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: |- - Document representing an object status. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - message?: - description: |- - The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: |- - Document representing the tax rates and (optionally) amounts for all items in a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - TaxItems: - description: |- - Taxation for a line item. - properties: - taxItems?: - description: |- - The list of tax items. It is read only. - type: array - items: - type: TaxItem - TaxItem: - description: |- - Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The taxation identifier. - type: string - rate: - description: |- - The taxation rate. - type: number - format: double - example: - 0.13 - value?: - description: |- - The tax amount. Will be computed if not set. - type: number - format: double diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/order-not-found.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml deleted file mode 100644 index 452c2569..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled", - "title": "Unsupported Request If SCAPI Hooks Enabled", - "detail": "You can't call this endpoint because Salesforce Commerce API hook execution is enabled." - } diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/exchange.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/exchange.json deleted file mode 100644 index 39a5e446..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"dependencies":[{"version":"2.0.1","assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"}],"version":"2.0.6","originalFormatVersion":"1.0","apiVersion":"v1","descriptorVersion":"0.1.0","classifier":"raml-fragment","main":"checkout-data-types.raml","assetId":"checkout-data-types","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","name":"Checkout Data Types","tags":[],"metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"v2","commitId":"c2e92b6a330fb7dda1e494b148c506dc9e44ab0f"}} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/shopper-baskets-description.md b/apis/checkout/shopper-baskets/shopper-baskets-description.md deleted file mode 100644 index 6781a540..00000000 --- a/apis/checkout/shopper-baskets/shopper-baskets-description.md +++ /dev/null @@ -1,108 +0,0 @@ -# API Overview - -Shopper Baskets V2 provides all Shopper Basket V1 functionality and adds support for temporary baskets. -Temporary baskets can perform calculations to generate totals, line items, promotions, and item availability without affecting the shopper’s storefront cart, and you can use those calculations for temporary basket checkout. You can also use a temporary basket for an immediate order request. - -**Note**: `dw.ocapi.shop.basket.beforePOST` hook is no longer supported and is replaced by the `dw.ocapi.shop.basket.beforePOST_v2` hook. - -Use the Shopper Baskets API to create a basket in the B2C Commerce system and populate it with all the data required to ready the basket for checkout. - -To create a basket, start with the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets-v2?meta=createBasket) endpoint. The endpoint creates the basket in the B2C Commerce system and returns a JSON representation of the basket with a `basketId` property. - -If you provide the JSON for a prepopulated basket to the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets-v2?meta=createBasket) endpoint, you can create a basket using a single API request. - -You can also create a basket and gradually populate it with data using subsequent API requests that reference the same `basketId`. The gradual approach allows you to validate the input data as you go. - -The Shopper Baskets API includes endpoints to populate each part of a basket separately, including: - -- Billing address -- Customer information -- Line items - - Products - - Coupons - - Gift certificates -- Payment methods -- Price books -- Shipments -- Taxation (for items and the basket itself) - -In addition to creating a basket, the main `/baskets` resource offers endpoints to get, transfer, merge, and delete baskets, depending on the HTTP method that you use and the parameters that you supply. These endpoints can you help you handle a variety of complex scenarios, such as when a user starts shopping as a guest and then logs in before checkout. - -You can also use the main `/baskets` resource to add custom properties to your basket, prefixed with `c_` (example: `c_faxNumber`). - -When your basket is fully populated, you can use its `basketId` property to create an order with the [Shopper Orders API](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-orders?meta=Summary). - -## Authentication & Authorization - -The client requesting the basket information must have access to the `/baskets` resource. The Shopper Baskets API requires a shopper access token from the Shopper Login and API Access Service (SLAS). - -For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -The following resources require an Account Manager OAuth token with a client ID: - -- `/baskets/{basketId}/taxes` -- `/baskets/{basketId}/items/{itemId}/taxes` -- `/baskets/{basketId}/price-books` - -## Use Cases - -### Use Hooks - -For details on working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) - -## Basket Calculation - -Unless you’re using [hooks](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html), each modification to a basket triggers the following calculations: - -1. Calculate product prices: - - Iterate through the product line items and determine the base price of each using its price model. If multiple price books apply to a product, the lowest price is used. - - Calculate product option line item prices using the product option model. - - For bonus products, check dependent adjustments in the basket to determine the price. -2. Iterate through the gift certificate line items and calculate the price of each by multiplying the base price by the quantity. -3. Recalculate for all promotions, adding and removing them as appropriate. -4. Apply product-specific shipping costs. -5. Calculate the total shipping cost. -6. Recalculate for all promotions, adding and removing them as appropriate. -7. Calculate prices for products added by the promotion engine. -8. Calculate taxes using line item tax class codes. - - For internal tax mode, use the tax tables. - - For external tax mode, use the tax rates returned by the tax API endpoints. -9. Calculate the order’s net, tax, and gross totals by adding up the line totals. - -## External Taxation - -The B2C Commerce API calculates taxes internally using tax tables. If you want to integrate with a third-party tax provider, or calculate tax on your own, you can use the external taxation feature to add a taxation rate and optional taxation value. When setting a taxation rate, the taxation is calculated for this specific rate. If you pass a value, this value is used as taxation value, as well, without recalculation. To use this feature, set the `taxMode` parameter to `external` when creating the basket. - -When using external taxation, you must set a tax rate either in one request to the `/baskets/{basketId}/taxes` or with separate requests for each line item, using `/baskets/{basketId}/items/{lineItemId}/taxes`. - -If the tax mode of a basket is set to `external`, a tax item is required for all line items even for zero-tax items to avoid oversights. - -### External Taxation with Hooks Enabled - -To use external tax calculation with [hooks](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html), use the following API methods in the [Calculate Hook](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html#calculate-hook): -- `dw.order.LineItemCtnr#isExternallyTaxed`: Returns true if the basket was created with `taxMode = external` -- `dw.order.TaxMgr#applyExternalTax`: Applies externally set tax rates to the given basket. Only use when `dw.order.LineItemCtnr#isExternallyTaxed` returns true. - -The following example shows an implementation of external tax calculation with hooks enabled in the [Calculate Hook](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html#calculate-hook): - - exports.calculate = function (basket) { - if ( basket.isExternallyTaxed() ) - { - TaxMgr.applyExternalTaxation( basket ); // apply the external tax calculation based on the tax rates set by the SCAPI external taxation APIs - } - else - { - // calculation with tax tables or customization - } - } - -## Temporary Baskets - -A temporary basket is populated with all the data required to ready the basket for checkout, but differs from a shopper basket in the following ways: -- Basket lifetime is limited to 15 minutes. -- The shopper can have up to 10 (default 4) temporary baskets, which can be configured via Basket Preferences (Sites -> Merchant Tools -> Basket Preferences) and specifying the preference **Temporary Baskets per Customer**. -- Available to all shoppers (guest and registered shoppers), as well as agents. - -To create a temporary basket, set the `temporary` parameter to `true` with the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets-v2?meta=createBasket) endpoint. diff --git a/apis/checkout/shopper-baskets/shopper-baskets-traits.raml b/apis/checkout/shopper-baskets/shopper-baskets-traits.raml deleted file mode 100644 index 4140ddcc..00000000 --- a/apis/checkout/shopper-baskets/shopper-baskets-traits.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 Library - -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -traits: - LocaleSpecific: - usage: This trait should be used whenever a resource uses the context of a locale associated with its request. This will add a locale query parameter. - queryParameters: - locale?: - type: CommerceCloudStandards.LocaleCode - description: |- - A descriptor to provide locale context for a geographical region by both a language and/or country code. The locale pattern in the query param follows the ISO 639-1 for the language code (e.g. en, de, fr) and ISO 3166-1 for the country code (e.g. US, DE, AT). The param can be a combination of language code and country code or can just refer to the language code. - Below are some valid examples: - - en-US - - de-AT - - de - - default - example: - en-US \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/shopper-baskets.raml b/apis/checkout/shopper-baskets/shopper-baskets.raml deleted file mode 100644 index a59374bf..00000000 --- a/apis/checkout/shopper-baskets/shopper-baskets.raml +++ /dev/null @@ -1,1718 +0,0 @@ -#%RAML 1.0 -#In C4E review -title: Shopper Baskets - -version: v2 -description: !include shopper-baskets-description.md -protocols: [HTTPS] -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-baskets/{version} -baseUriParameters: - shortCode: - description: Region-specific merchant identifier. - example: 0dnz6oep - -uses: - BasketTraits: shopper-baskets-traits.raml - dataTypes: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - ErrorResponse: ApiStandards.ErrorResponse - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /baskets: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Creates a new basket. - - The created basket is initialized with default values. Optional JSON data provided in the request body is populated into the created basket. It can be updated with other endpoints offered by the Shopper Baskets API. - - Each customer can have just one open basket. When a basket is created, it is said to be open. It remains open until either an order is created from it or it is deleted. - displayName: createBasket - responses: - '200': - description: The initialized basket. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '400': - description: |- - Possible reasons: - - the provided payment method is invalid or not applicable. - - the customerId URL parameter does not match the verified customer - represented by the JSON Web Token (JWT). - - a new basket cannot be created because the maximum number - of baskets per customer would be exceeded. - - a new temporary basket cannot be created because the maximum number - of temporary baskets per customer would be exceeded. - - the same shipment ID appeared twice in the body. - - the coupon number is not provided. - - a fixed price adjustment was added at order level which is disallowed. - - a promotion ID was - used twice, while attempting to add a price adjustment. - - a system promotion - ID was used as a manual promotion ID, while attempting to add a price adjustment. - - more than one hundred price adjustments would have been - created. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse1: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - dataTypes.ErrorResponse2: !include examples/error/customer-basket-quota-exceeded-exception.raml - dataTypes.ErrorResponse3: !include examples/error/customer-temporary-basket-quota-exceeded-exception.raml - '404': - description: Thrown if the shipment with the given shipment ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml - queryParameters: - taxMode?: - type: string - enum: - - internal - - external - default: internal - description: |- - Determines how taxes are calculated. - - The default value is `internal` where the tax calculation is done automatically based on internal tax tables. Setting `taxMode` to `external` allows manual modification of the tax rates and values. External tax data is mandatory for product line items, option line items, shipping line items, coupon line items, and bonus discount line item. Gift certificate line items are optional and use zero tax rate by default, which can be overwritten. Price adjustments cannot be set because they are either calculated or inherited. Depending on the type, the tax rate is either obtained from the related line item or computed as a prorate of the basket. - temporary?: - type: boolean - default: false - description: |- - If set to true, the basket created is a temporary basket. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /actions/transfer: - type: CommerceCloudStandards.Organization - post: - displayName: transferBasket - description: |- - Transfer the previous shopper's basket to the current shopper by updating the basket's owner. No other values change. You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token. - - A success response contains the transferred basket. - - If the current shopper has an active basket, and the `overrideExisting` request parameter is `false`, then the transfer request returns a BasketTransferException (HTTP status 409). You can proceed with one of these options: - - Keep the current shopper's active basket. - - Merge the previous and current shoppers' baskets by calling the `baskets/merge` endpoint. - - Force the transfer by calling the `baskets/transfer` endpoint again, with the parameter `overrideExisting=true`. Forcing the transfer deletes the current shopper's active basket. - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - responses: - '200': - description: |- - The transferred basket. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '403': - description: |- - The call returns this error if no SLAS token for a registered shopper is available. - body: - type: ErrorResponse - examples: - SLASJWTException: !include examples/error/slas-jwt-exception.raml - '409': - description: |- - The call returns this response in either of these cases: - - The previous shopper has no active basket. - - The current shopper has an active basket and the `overrideExisting` query parameter was `false` (default value). - body: - application/problem+json: - type: ErrorResponse - examples: - SourceBasketException: !include examples/error/source-basket-exception.raml - BasketTransferException: !include examples/error/basket-transfer-exception.raml - queryParameters: - overrideExisting?: - description: |- - If the current shopper has no active basket, this parameter is ignored. If the current shopper has an active basket, this parameter controls the behavior: - - `false` (default): Return a BasketTransferException (HTTP status 409). The basket owner doesn't change. - - `true`: Force the transfer by deleting the current shopper's active basket and making the current shopper the owner of the previous shopper's basket. Returns the transferred basket (HTTP status 200). - type: boolean - default: false - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /actions/merge: - type: CommerceCloudStandards.Organization - post: - displayName: mergeBasket - description: |- - Merge data from the previous shopper's basket into the current shopper's active basket and delete the previous shopper's basket. This endpoint doesn't merge Personally Identifiable Information (PII). You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token. After the merge, all basket amounts are recalculated and totaled, including lookups for prices, taxes, shipping, and promotions, unless hooks are enabled. - - The following information is merged: - - custom attributes on the basket and on all copied records - - product items - - gift certificate items - - coupon items - - shipments - - ad-hoc price adjustments - - To control the merging of products that exist in both baskets, use the `productItemMergeMode` parameter. By default, the higher of the two basket quantities is used for each product. Products in both baskets are considered to be the same when all of the following values match (if one product doesn't have a value, the other product is a match only if it also doesn't have that value): - - shipment - - productId - - option values - - wishlist reference - - inventory list id - - gift flag & message - - ad-hoc price adjustments - - If any of the listed values don't match, then the item in the previous shopper's basket is copied to a new line item in the current shopper's basket. If the listed values all match, but the matching products have different values for any custom attribute, the merged line item keeps the custom attribute value from the current shopper's basket. - - A success response contains the current shopper's active basket. The previous guest shopper's active basket is deleted. - - If the current shopper doesn't have an active basket, and the createDestinationBasket request parameter is false, then the merge request returns a BasketMergeException (HTTP status 409). You can proceed with one of these options: - - Transfer the previous shopper's active basket to the current logged-in shopper by calling the `baskets/transfer` endpoint. - - Force the merge by calling the `baskets/merge` endpoint again, with the parameter `createDestinationBasket=true`. Forcing the merge creates a new basket for the current shopper and copies information from the previous shopper's basket into it. Because the merge doesn't copy all basket data, a forced merge is not the same as a transfer. For example, the new basket doesn't contain any Personally Identifiable Information (PII) from the previous basket. - - ### before merge - | Previous Shopper's Basket, SKU: Quantity, Custom Attributes | Current Shopper's Basket, SKU: Quantity, Custom Attributes | - |-------------------------------------------------------------|-------------------------------------------------------------| - | SKU_A: 5
SKU_B: 3
SKU_C: 4
c_customAttr_1: 'ABC'
c_customAttr_2: 'DEF' | SKU_A: 2
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_3: 'XYZ' | - - ### after merge - (previous shopper's basket is deleted) - | productItemMergeMode | Current Shopper's Basket - SKU: Quantity, Custom Attributes | - |----------------------|--------------------------------------------------------------| - | sum_quantities | SKU_A: 7
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | - | higher_quantity | SKU_A: 5
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | - | saved_quantity | SKU_A: 2
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | - | separate_item | SKU_A: 5
SKU_B: 3
SKU_C: 4
SKU_A: 2
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - responses: - '200': - description: |- - The current shopper's active basket, including items merged from the previous shopper's basket. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '403': - description: |- - The call returns this error if no SLAS token for a registered shopper is available. - body: - type: ErrorResponse - examples: - SLASJWTException: !include examples/error/slas-jwt-exception.raml - '409': - description: |- - The call returns this response in either of these cases: - - The previous shopper has no active basket. - - The current shopper has no active basket and the `createDestinationBasket` query parameter was `false` (default value). - body: - application/problem+json: - type: ErrorResponse - examples: - SourceBasketException: !include examples/error/source-basket-exception.raml - BasketMergeException: !include examples/error/basket-merge-exception.raml - queryParameters: - createDestinationBasket?: - description: |- - If the current shopper has an active basket, this parameter is ignored. If the current shopper has no active basket, this parameter controls the behavior: - - `false` (default): Return a BasketMergeException (HTTP status 409). - - `true`: Force the merge by creating a basket for the current shopper and copying information from the previous shopper's basket into it. Return success (HTTP status 200). - type: boolean - default: false - productItemMergeMode?: - description: |- - This parameter controls the quantity calculation for products that exist in both baskets. - - higher_quantity (default): Compare the product's quantities in each basket, and use the higher value. - - sum_quantities: Use the sum of the product's quantities from both baskets. - - saved_quantity: Use the product's quantity in the current shopper's active basket. Ignore the quantity from the previous shopper's basket. - - separate_item: Add a separate product item to the current shopper's basket for the quantity in the previous shopper's basket. - type: string - enum: - - higher_quantity - - sum_quantities - - saved_quantity - - separate_item - default: higher_quantity - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{basketId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - description: Removes a basket. - displayName: deleteBasket - responses: - '204': - description: Success, without a body. - '400': - description: |- - The customer assigned to the basket does not - match the verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - get: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Gets a basket. - displayName: getBasket - responses: - '200': - description: Success, the response body contains the retrieved basket. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-get-response.raml - '400': - description: |- - The customer assigned to the basket does not match the verified - customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Updates a basket. Only the currency of the basket, source code, the custom - properties of the basket, and the shipping items will be considered. - displayName: updateBasket - responses: - '200': - description: Success, the response body contains the updated basket. - body: - type: dataTypes.Basket - examples: - Basket: !include examples/basket/basket-patch-response.raml - '400': - description: |- - Possible reasons: - - the customer assigned to the basket does not - match the verified customer represented by the JSON Web Token (JWT). - - the basket cannot be updated because the - requested currency is not supported by the site. - - the given shipping item ID is null or empty. - - a few shipping items with the same item ID are - provided. - - the provided code is not currently active. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the shipping item with the given item ID is - unknown for the basket. - - the provided code was not found. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - queryParameters: - removeExternalTax?: - description: |- - If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the `currency` triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values. - type: boolean - default: true - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - - uriParameters: - basketId: - description: The ID of the basket to be modified. - minLength: 1 - type: string - example: a10ff320829cb0eef93ca5310a - /agent: - type: CommerceCloudStandards.Organization - put: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Marks a basket as an agent basket. - displayName: updateAsAgentBasket - responses: - '200': - description: Success, the response body contains basket that is set as an agent basket. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-put-agent-response.raml - '400': - description: Marking this basket as an agent basket would exceed the open agent basket limit for the basket customer. - body: - application/problem+json: - type: ErrorResponse - examples: - datatypes.ErrorResponse: !include examples/error/customer-basket-quota-exceeded-exception.raml - '404': - description: The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperTokenTaob: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /billing-address: - type: CommerceCloudStandards.Organization - put: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Sets the billing address of a basket. - displayName: updateBillingAddressForBasket - responses: - '200': - description: Success, the response body contains basket with the added billing address. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/billing-address-put-response.raml - '400': - description: |- - The customer assigned to the basket does not - match the verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - queryParameters: - useAsShipping?: - type: boolean - removeExternalTax?: - description: |- - If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the billing/shipping address triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values. - type: boolean - default: true - body: - type: dataTypes.OrderAddress - examples: - dataTypes.OrderAddress: !include examples/basket/billing-address-put-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /coupons: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Adds a coupon to an existing basket. - displayName: addCouponToBasket - responses: - '200': - description: Success, the response body contains the basket with the added coupon. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/coupon-code-post-response.raml - '400': - description: |- - Possible Reasons: - - the customer assigned to the basket does not - match the verified customer represented by the JSON Web Token (JWT). - - the coupon number is not provided. - - the coupon code specified is invalid. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.CouponItem - examples: - dataTypes.CouponItem: !include examples/basket/coupon-code-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{couponItemId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Removes a coupon from the basket. - displayName: removeCouponFromBasket - responses: - '200': - description: Success, the response body contains the basket without the deleted coupon. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '400': - description: |- - The customer assigned to the basket does not - match the verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the couponItemId URL parameter does not match any - coupon item ID in the basket. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - uriParameters: - couponItemId: - description: The ID of the coupon item to be removed. - minLength: 1 - type: string - example: 9372d0f511dac8caf77afc4kj2 - /customer: - type: CommerceCloudStandards.Organization - put: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Sets customer information for an existing basket. - displayName: updateCustomerForBasket - responses: - '200': - description: Success, the response body contains the basket with the added customer information. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/customer-put-response.raml - '400': - description: |- - Possible reasons: - - the customer assigned to the basket does not match the verified - customer represented by the JSON Web Token (JWT). - - the customer cannot be set to the basket because the - max number of baskets per customer would be exceeded. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - Possible reasons: - - the customer with the given customer number is unknown. - - the basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.CustomerInfo - examples: - dataTypes.CustomerInfo: !include examples/basket/customer-put-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /gift-certificate-items: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Adds a gift certificate item to an existing basket. - displayName: addGiftCertificateItemToBasket - responses: - '200': - description: Success, the response body contains the basket with the added gift certificate. - body: - type: dataTypes.Basket - examples: - Basket: !include examples/basket/gift-cert-post-response.raml - '400': - description: The gift certificate item amount is negative. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the shipment with the given shipment ID is - unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.GiftCertificateItem - examples: - dataTypes.GiftCertificateItem: !include examples/basket/gift-cert-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{giftCertificateItemId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Deletes a gift certificate item from an existing basket. - displayName: removeGiftCertificateItemFromBasket - responses: - '200': - description: Success, the response body contains the basket without the deleted gift certificate. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the gift certificate item with the given gift certificate item ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Updates a gift certificate item of an existing basket. - displayName: updateGiftCertificateItemInBasket - responses: - '200': - description: Success, the response body contains the basket with the updated gift certificate. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/gift-cert-patch-response.raml - '400': - description: The gift certificate item amount is negative. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the gift certificate item with the given gift certificate item ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.GiftCertificateItem - examples: - dataTypes.GiftCertificateItem: !include examples/basket/gift-cert-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - uriParameters: - giftCertificateItemId: - description: the ID of the gift certificate item to be updated. - minLength: 1 - type: string - example: 83726a8351540534af93f3b15f - /items: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Adds new items to a basket. The added items are associated with the - specified shipment. If no shipment id is specified, the added items are associated with the default shipment. - Considered values from the request body, for each item are: - - - productId: a valid product ID. This is the ID of the product to be added to the basket. If the - product is already in the basket, the API either increments the quantity of the existing product line item or - creates a new product line item, based on the site preference 'Add Product Behavior'. For option products and - product bundles containing variation masters, the API creates a new product line item regardless of the site - preference. - - shipmentId: a valid shipment ID (optional). This is the ID of the shipment in which the product item - is created. - - quantity: a number between 0.01 and 999. This is the quantity of the product to order. - - inventoryId: a valid inventory ID (optional). This is the ID of the inventory from which the item is - allocated. - - bonusDiscountLineItemId: a valid bonus discount line item ID (optional). This is the ID of the - bonus discount line item for which the added product is a selected bonus product. - - optionItems/optionValueId: a valid option value ID. This is an option value for an option item of - an option product. This is only possible if the product item is an option - product. To set option values, you must specify a collection of option items in the optionItems - property. These option items must contain optionId and optionValueId. Also, - the values you specify must be valid for the option product that this product item represents. Otherwise, the - server throws an InvalidProductOptionItemException or an - InvalidProductOptionValueItemException. - - custom properties in the form c_: the custom property must correspond to a custom - attribute () defined for ProductLineItem. The value of this property must be valid for the - type of custom attribute defined for ProductLineItem. - - displayName: addItemToBasket - responses: - '200': - description: Success, the response body contains the basket with the added items. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/item-post-response.raml - '400': - description: |- - Possible reasons: - - the given product ID is null or invalid. - - the product with the given product ID is unknown, offline or - not assigned to site catalog or the given product item quantity is null or invalid. - - a null quantity value. - - the requested product quantity is not available. - - the product cannot be added to the basket because of its type. - - an option with the specified option ID is unknown. - - an option with the specified option value ID is - unknown. - - the maximum allowed number of products added to the basket, - has been exceeded. - - the customer assigned to the basket does not match the verified - customer represented by the JSON Web Token (JWT). - - the provided bonus discount line item ID is not - present in the current basket. - - the quantity of the product to be added will result in the - number of selected bonus choice products to exceed the amount that the user is permitted to select. - - the selected bonus product is not an applicable product for - the bonus discount line item provided. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the basket does not contain a shipment with the given shipment ID. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: array - items: dataTypes.ProductItem - examples: - dataTypes.ProductItem: !include examples/basket/item-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Updates multiple items in a basket. This behaviour matches that of updating a - single item, but the body contains an array of ProductItems to be updated that are identified by `itemId`. - The items to update can include bundled product items, although the - kind of update supported for bundled product items is limited to `productId`, `gift`, `giftMessage` - and custom properties. - The following values in the request body are considered by the server: - - - `itemId` (mandatory): identifies an item to be updated. - - `productId`: a valid product ID. The purpose of this - value is to change the variation of a variation product. - - `shipmentId`: a valid shipment ID. The purpose of - this value is to move a product item to another shipment. - - `quantity`: a number between 0 and 999. The purpose of - this value is to change the quantity of the product item. If the quantity is 0, - the product item is removed. - - `optionItems`/`optionValueId`: a valid option value - ID. The purpose of this value is to exchange an option value for an - option item of an option product. - This is only possible if the product item is an option product. To change - option values, a collection of the option items to be changed must be - provided in the property `optionItems`. Those - `optionItems` must contain `optionId` - and `optionValueId`. The provided values must be valid - for the option product that this product item represents. Otherwise, - `InvalidProductOptionItemException` or - `InvalidProductOptionValueItemException` is thrown. - - custom properties `c_`: a - value corresponding to the type defined for custom attribute - `` of the ProductLineItem. The purpose of this value is to - add or change the value of a custom attribute defined for the - ProductLineItem. - - `gift`: a boolean value that specifies whether the item is a gift. - - `giftMessage`: a message to include with the gift. - - displayName: updateItemsInBasket - responses: - '200': - description: Success, the response body contains the basket with the updated item. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/items-patch-response.raml - '400': - description: |- - Possible reasons: - - no product item with a given item ID was found for the basket. - - the product with the given product ID in the - request body is invalid. - - a null quantity value. - - an option with a specified option ID is unknown. - - an option with a specified option value ID is unknown. - - the given shipment ID is invalid. - - the customer assigned to the basket does not - match the verified customer represented by the JWT token. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: basket not found - queryParameters: - removeExternalTax?: - description: |- - If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the product line item quantity triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values. - type: boolean - default: true - body: - type: array - items: dataTypes.ProductItem - examples: - dataTypes.ProductItem: !include examples/basket/items-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{itemId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Removes a product item from the basket. - displayName: removeItemFromBasket - responses: - '200': - description: Success, the response body contains the basket without the deleted item. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '400': - description: |- - The customer assigned to the basket doesn't - match the verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Updates an item in a basket. The item to be updated can be a bundled product item, although the - kind of update supported for bundled product items is limited to `productId` (to support - variation products), `gift`, `giftMessage` and custom properties. - The following values in the request body are considered by the server: - - - `productId`: a valid product ID. The purpose of this - value is to exchange a variation of a variation product. - - `shipmentId`: a valid shipment ID. The purpose of - this value is to move a product item to another shipment. - - `quantity`: a number between 0 and 999. The purpose of - this value is to change quantity of the product item. If quantity is 0, - the product item is removed. - - `optionItems`/`optionValueId`: a valid option value - ID. The purpose of this value is to exchange an option value for an - option item of an option product. - This is only possible if the product item is an option product. To change - option values a collection of option items to be changed need to be - provided in property optionItems. Those - optionItems need to contain optionId - and `optionValueId`. The provided values must be valid - for the option product that this product item represents. Otherwise, - `InvalidProductOptionItemException` or - `InvalidProductOptionValueItemException` is thrown. - - custom properties `c_`: a - value corresponding to the type defined for custom attribute - `` of ProductLineItem. The purpose of this value is to - add or change the value of a custom attribute defined for - ProductLineItem. - - `gift`: a boolean value that specifies whether the item is a gift - - `giftMessage`: a message for the gift - - displayName: updateItemInBasket - responses: - '200': - description: Success, the response body contains the basket with the updated item. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/item-patch-response.raml - '400': - description: |- - Possible reasons: - - no product item with given item ID was found for the basket. - - the product with the given product ID in the - request body is invalid. - - a null quantity value. - - an option with the specified option id is unknown. - - an option with the specified option value id is unknown. - - the given shipment ID is invalid. - - the customer assigned to the basket does not. - match the verified customer represented by the JWT token. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - a shipment with it's given ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - queryParameters: - removeExternalTax?: - description: |- - If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the product line item quantity triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values. - type: boolean - default: true - body: - type: dataTypes.ProductItem - examples: - dataTypes.ProductItem: !include examples/basket/item-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - uriParameters: - itemId: - description: The ID of the item to be updated. - minLength: 1 - type: string - example: 43c38652bc3844e14cd482ff28 - /taxes: - type: CommerceCloudStandards.Organization - put: - is: - - CommerceCloudStandards.SiteSpecific: - description: This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for a specific taxable line item. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. - displayName: addTaxesForBasketItem - responses: - '204': - description: Success, without body. - '404': - description: |- - Possible reasons: - - The basket with the given basket ID is unknown. - - The item with the given item ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - '409': - description: |- - Possible Reasons: - - The tax mode of the referenced basket is not set to EXTERNAL. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml - body: - type: dataTypes.TaxItems - examples: - dataTypes.TaxItems: !include examples/basket/basket-item-tax-put-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /payment-instruments: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Adds a payment instrument to a basket. - displayName: addPaymentInstrumentToBasket - responses: - '200': - description: Success, the response body contains the basket with the added payment instrument. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/payment-instrument-post-response.raml - '400': - description: |- - Possible reasons: - - the provided payment method is invalid or not applicable. - - the customer assigned to the basket does not match the verified - customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: The basket with the given basket ID is unknown. - - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.BasketPaymentInstrumentRequest - examples: - dataTypes.BasketPaymentInstrumentRequest: !include examples/basket/payment-instrument-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{paymentInstrumentId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Removes a payment instrument of a basket. - displayName: removePaymentInstrumentFromBasket - responses: - '200': - description: Success, the response body contains the basket without the deleted payment instrument. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '400': - description: |- - The customer assigned to the basket does not match the verified - customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the payment instrument with the given basket payment - instrument ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - responseStatus: 404 - description: Updates payment instrument of an existing basket. - displayName: updatePaymentInstrumentInBasket - responses: - '200': - description: Success, the response body contains the basket with the updated payment instrument. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/payment-instrument-patch-response.raml - '400': - description: |- - Possible reasons: - - the provided payment method is invalid or not applicable. - - the basket payment intsrument with the given id is already permanently masked. - - The customer assigned to the basket does not match the - verified customer represented by the JSON Web Token (JWT). - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the payment instrument item with the given payment instrument ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - queryParameters: - removeExternalTax?: - description: |- - If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the payment instrument triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values. - type: boolean - default: true - body: - type: dataTypes.OrderPaymentInstrument - examples: - dataTypes.OrderPaymentInstrument: !include examples/basket/payment-instrument-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /payment-methods: - type: CommerceCloudStandards.Organization - get: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Gets applicable payment methods for an existing basket considering the open payment amount only. - displayName: getPaymentMethodsForBasket - responses: - '200': - description: Success, the response body contains the applicable payment methods for the basket. - body: - type: dataTypes.PaymentMethodResult - examples: - dataTypes.PaymentMethodResult: !include examples/basket/payment-methods-get-response.raml - '400': - description: |- - The customer assigned to the basket does not match the - verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - /price-adjustments: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Adds a custom manual price adjustment to the basket. - displayName: addPriceAdjustmentToBasket - responses: - '200': - description: Success, the response body contains the basket with added price adjustment. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/price-adjustment-post-response.raml - '400': - description: |- - Possible reasons: - - a fixed price adjustment was already created for the given level. - - a fixed price adjustment was added at `order` level. - - a promotion ID was used twice. - - a system promotion ID was used as a manual promotion ID. - - more than one hundred price adjustments would have been created. - - the price adjustment limit had exceeded. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.PriceAdjustmentRequest - examples: - dataTypes.PriceAdjustmentRequest: !include examples/basket/price-adjustment-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperTokenTaob: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{priceAdjustmentId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Removes a custom manual price adjustment from the basket. - displayName: removePriceAdjustmentFromBasket - responses: - '200': - description: Success, the response body contains the basket without the deleted price adjustment. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '400': - description: |- - The priceAdjustmentId is missing, empty or whitespace. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperTokenTaob: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - description: |- - Updates a custom manual price adjustment on the basket. Only the following path values are considered for the update; all other attributes are ignored. - - `discount` - - `itemText` - - `reasonCode` - - `custom properties` - The discount `type` of a price adjustment cannot be updated and therefore, the value of the existing type must be passed. For an adjustment of type `percentage`, the `percentage` attribute is mandatory. For adjustments of type `amount` and `fixed_price`, the `amount` attribute is mandatory. - displayName: updatePriceAdjustmentInBasket - responses: - '200': - description: Success, the response body contains the basket with the updated price adjustment. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/price-adjustment-patch-response.raml - '400': - description: |- - Possible reasons: - - the price adjustment is not manual and cannot be updated. - - the expected attributes are missing in the input. - - the type of a price adjustment does not match the adjustment type of the input data. - - the price adjustment limit is exceeded. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - The price adjustment ID is not found. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include examples/error/price-adjustment-id-not-found-exception.raml - body: - type: dataTypes.PriceAdjustment - examples: - dataTypes.PriceAdjustment: !include examples/basket/price-adjustment-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperTokenTaob: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /price-books: - type: CommerceCloudStandards.Organization - get: - is: - - CommerceCloudStandards.SiteSpecific: - description: ( DEPRECATED ) Gets applicable price books for an existing basket. This endpoint is deprecated. Use [Shopper Context](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-context?meta=Summary), hooks or `dw.catalog.PriceBookMgr#getApplicablePriceBooks()` instead. - displayName: getPriceBooksForBasket - responses: - '200': - description: Success, the response body contains the priceBookIds for the basket. - body: - type: dataTypes.PriceBookIds - examples: - dataTypes.PriceBookIds: !include examples/basket/price-books.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - put: - is: - - CommerceCloudStandards.SiteSpecific: - description: ( DEPRECATED ) This method allows you to put an array of priceBookIds to an existing basket, which will be used for basket calculation. This endpoint is deprecated. Use [Shopper Context](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-context?meta=Summary), hooks or `dw.catalog.PriceBookMgr#setApplicablePriceBooks()` instead. - displayName: addPriceBooksToBasket - responses: - '204': - description: Success, without body. - '404': - description: The basket with the given basket ID is unknown or contains a price book ID that does not correspond to an existing price book. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.PriceBookIds - examples: - dataTypes.PriceBookIds: !include examples/basket/price-books.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /shipments: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Creates a new shipment for a basket. - - The created shipment is initialized with values provided in the body - document and can be updated with further data API calls. Considered from - the body are the following properties if specified: - - - the ID - - the shipping address - - the shipping method - - gift boolean flag - - gift message - - custom properties - - displayName: createShipmentForBasket - responses: - '200': - description: Success, the response body contains the basket with added shipment. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/shipments-post-response.raml - '400': - description: |- - Possible reasons: - - a shipment id is not provided. - - a shipment with the provided ID already. - exists for the basket. - - a shipment with the provided shipment number - already exists for the basket. - - a shipping method with an ID was specified - which is not a valid shipping method ID. - - the customer assigned to the basket does not match the - verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - The basket with the given basket ID is - unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.Shipment - examples: - dataTypes.Shipment: !include examples/basket/shipments-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{shipmentId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Removes a specified shipment and all associated product, gift certificate, - shipping, and price adjustment line items from a basket. - It is not allowed to remove the default shipment. - displayName: removeShipmentFromBasket - responses: - '200': - description: Success, the response body contains the basket without the deleted shipment. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '400': - description: |- - Possible reasons: - - the given shipment ID is invalid. - - the customer assigned to the basket does not match the - verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '403': - description: |- - The given shipment ID corresponds to the - default shipment and cannot be removed. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml - '404': - description: |- - The basket with the given basket ID is - unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Updates a shipment for a basket. - - The shipment is initialized with values provided in the body - document and can be updated with further data API calls. Considered from - the body are the following properties if specified: - - the ID - - the shipping address - - the shipping method - - gift boolean flag - - gift message - - custom properties - - displayName: updateShipmentForBasket - responses: - '200': - description: Success, the response body contains the basket with the updated shipment. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/shipments-patch-response.raml - '400': - description: |- - Possible reasons: - - the given shipment ID was invalid. - - a shipment with the provided ID already - exists for the basket. - - a shipment with the provided shipment number - already exists for the basket. - - a missing shipping method. - - an invalid shipping method. - - the customer assigned to the basket does not match the - verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.Shipment - examples: - dataTypes.Shipment: !include examples/basket/shipments-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - uriParameters: - shipmentId: - description: The ID of the shipment to be modified. - minLength: 1 - type: string - example: me - /shipping-address: - type: CommerceCloudStandards.Organization - put: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Sets a shipping address of a specific shipment of a basket. - displayName: updateShippingAddressForShipment - responses: - '200': - description: Success, the response body contains the basket with the added shipping address. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/shipments-address-put-response.raml - '400': - description: |- - Possible reasons: - - the shipment with the given shipment ID is unknown. - - the customer assigned to the basket does not - match the verified customer represented by the JSON Web Token (JWT). - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: The basket with the given basket ID is unknown. - - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - queryParameters: - useAsBilling?: - type: boolean - removeExternalTax?: - description: |- - If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the shipping/billing address triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values. - type: boolean - default: true - body: - type: dataTypes.OrderAddress - examples: - dataTypes.OrderAddress: !include examples/basket/shipments-address-put-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /shipping-method: - type: CommerceCloudStandards.Organization - put: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Sets a shipping method to a specific shipment of a basket. - displayName: updateShippingMethodForShipment - responses: - '200': - description: Success, the response body contains the basket with the added shipping method. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/shipments-method-put-response.raml - '400': - description: |- - Possible reasons: - - the id of the shipping method is missing. - - a shipping method with an ID was specified - which is not a valid shipping method ID. - - the customer assigned to the basket does not match the - verified customer represented by the JSON Web Token (JWT). - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.ShippingMethod - examples: - dataTypes.ShippingMethod: !include examples/basket/shipments-method-put-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /shipping-methods: - type: CommerceCloudStandards.Organization - get: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Gets the applicable shipping methods for a certain shipment of a basket. - displayName: getShippingMethodsForShipment - responses: - '200': - description: Success, the response body contains the applicable shipping methods for a certain shipment of the basket. - body: - type: dataTypes.ShippingMethodResult - examples: - dataTypes.ShippingMethodResult: !include examples/basket/shipments-method-get-response.raml - '400': - description: |- - The customer assigned to the basket does not match the - verified customer represented by the JSON Web Token (JWT). - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - Possible reasons: - - The basket with the given basket ID is unknown. - - The shipment with the given shipment ID is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - /storefront: - type: CommerceCloudStandards.Organization - put: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Marks a basket as a storefront basket. - displayName: updateAsStorefrontBasket - responses: - '200': - description: Success, the response body contains a basket that is set as a storefront basket. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-put-storefront-response.raml - '400': - description: Thrown if a storefront basket already exists and the query parameter `exchange` is false. - body: - application/problem+json: - type: ErrorResponse - examples: - datatypes.ErrorResponse: !include examples/error/customer-basket-quota-exceeded-exception.raml - '404': - description: The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - queryParameters: - exchange?: - type: boolean - description: If true, an existing storefront basket is exchanged and marked as an agent basket. If false, a `CustomerBasketsQuotaExceededException` is thrown. - securedBy: - - CommerceCloudStandards.ShopperTokenTaob: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /taxes: - type: CommerceCloudStandards.Organization - get: - is: - - CommerceCloudStandards.SiteSpecific: - description: This method gives you the external taxation data set by the PUT taxes API. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. - displayName: getTaxesFromBasket - responses: - '200': - description: Success, the response body contains the external taxation from all line items from the referenced basket. - body: - type: dataTypes.Taxes - examples: - dataTypes.Taxes: !include examples/basket/basket-tax-get-response.raml - '404': - description: The basket with the given basket ID is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - '409': - description: |- - Possible Reasons: - - The tax mode of the referenced basket is not set to EXTERNAL. - body: - type: ErrorResponse - examples: - dataTypes.InvalidTaxMode: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml - dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - put: - is: - - CommerceCloudStandards.SiteSpecific: - description: This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for all taxable line items. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. - displayName: addTaxesForBasket - responses: - '204': - description: Success, without body. - '404': - description: The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - '409': - description: |- - Possible Reasons: - - The tax mode of the referenced basket is not set to EXTERNAL. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml - body: - type: dataTypes.Taxes - examples: - dataTypes.Taxes: !include examples/basket/basket-tax-put-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } \ No newline at end of file diff --git a/apis/checkout/shopper-orders/.metadata.json b/apis/checkout/shopper-orders/.metadata.json deleted file mode 100644 index 8f3fade1..00000000 --- a/apis/checkout/shopper-orders/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-orders/0.4.8", - "name": "Shopper Orders", - "description": "Finish the shopper checkout experience resulting in an order.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-orders", - "version": "0.4.8", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Checkout" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/checkout/shopper-orders/examples/order/order-get-response.raml b/apis/checkout/shopper-orders/examples/order/order-get-response.raml deleted file mode 100644 index da546ea0..00000000 --- a/apis/checkout/shopper-orders/examples/order/order-get-response.raml +++ /dev/null @@ -1,195 +0,0 @@ -#%RAML 1.0 NamedExample -order-get-response: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "confirmationStatus": "not_confirmed", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "d3f7ae47e5897a6b5d2fd541f0", - "statusCode": "applied", - "valid": true - } - ], - "createdBy": "Customer", - "creationDate": "2019-10-22T12:17:28.341Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "customerName": "Stephanie Miller", - "email": "shopper@salesforce-test.com" - }, - "customerName": "Stephanie Miller", - "exportStatus": "not_exported", - "grouped_tax_items": [ - { - "_type": "grouped_tax", - "tax_rate": 0.05, - "tax_value": 30.80 - } - ], - "guest": true, - "giftCertificateItems": [ - { - "amount": 1.00, - "giftCertificateItemId": "540db3ffe58bfb04ab673757d7", - "recipientEmail": "miller@salesforce-test.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-22T12:17:28.376Z", - "merchandizeTotalTax": 30.00, - "notes": { - }, - "orderNo": "00000410", - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 10, - "type": "amount" - }, - "reasonCode": "customer service", - "createdBy": "support", - "creationDate": "2019-10-22T12:17:28.347Z", - "custom": true, - "lastModified": "2019-10-22T12:17:28.349Z", - "manual": true, - "price": -10, - "priceAdjustmentId": "63b9eb9b4a92bd3e5c6ee804c2", - "promotionId": "5ties" - } - ], - "orderToken": "7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I", - "orderTotal": 586.76, - "orderViewCode": "YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc", - "paymentInstruments": [ - { - "amount": 20, - "paymentInstrumentId": "ca47e0da3d49b067b630db624a", - "paymentMethodId": "BML" - }, - { - "amount": 566.76, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "6b970a04ca8a468a64b9936764", - "paymentMethodId": "CREDIT_CARD" - } - ], - "paymentStatus": "not_paid", - "productItems": [ - { - "adjustedTax": 30.00, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "d9516eecc64bd90b0022714d26", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0.00, - "basePrice": 0.00, - "bonusProductLineItem": false, - "gift": false, - "itemId": "8991e8d7adf0f46ffbc584e175", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0.00, - "priceAfterItemDiscount": 0.00, - "priceAfterOrderDiscount": 0.00, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0.00, - "taxBasis": 0.00, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.99, - "priceAfterItemDiscount": 599.99, - "priceAfterOrderDiscount": 589.99, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30.00, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 37.00, - "adjustedShippingTotalTax": 0.50, - "gift": false, - "merchandizeTotalTax": 30.00, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "d5d95acf5381dc6e273b4336a7", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "768abee75aa8015239a9696c7e", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "status": "created", - "taxation": "net", - "taxTotal": 30.8 -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/examples/order/order-lookup-request.raml b/apis/checkout/shopper-orders/examples/order/order-lookup-request.raml deleted file mode 100644 index 8afe39ed..00000000 --- a/apis/checkout/shopper-orders/examples/order/order-lookup-request.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -order-lookup-request: - { - "email": "no-reply@salesforce.com", - "orderViewCode": "YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc" - } \ No newline at end of file diff --git a/apis/checkout/shopper-orders/examples/order/order-patch-response.raml b/apis/checkout/shopper-orders/examples/order/order-patch-response.raml deleted file mode 100644 index 232c7165..00000000 --- a/apis/checkout/shopper-orders/examples/order/order-patch-response.raml +++ /dev/null @@ -1,195 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "resourceState": "bcd8438d70b68b8d7a2967bb5623f90b33882da52a11c130d84abc55004addcb", - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "confirmationStatus": "not_confirmed", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "d3f7ae47e5897a6b5d2fd541f0", - "statusCode": "applied", - "valid": true - } - ], - "createdBy": "Customer", - "creationDate": "2019-10-22T12:17:28.341Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "customerName": "Stephanie Miller", - "email": "shopper@salesforce-test.com" - }, - "customerName": "Stephanie Miller", - "exportStatus": "not_exported", - "grouped_tax_items": [ - { - "_type": "grouped_tax", - "tax_rate": 0.05, - "tax_value": 30.80 - } - ], - "guest": true, - "giftCertificateItems": [ - { - "amount": 1.00, - "giftCertificateItemId": "540db3ffe58bfb04ab673757d7", - "recipientEmail": "miller@salesforce-test.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-22T12:17:28.376Z", - "merchandizeTotalTax": 30.00, - "notes": { - }, - "orderNo": "00000410", - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 10, - "type": "amount" - }, - "reasonCode": "customer service", - "createdBy": "support", - "creationDate": "2019-10-22T12:17:28.347Z", - "custom": true, - "lastModified": "2019-10-22T12:17:28.349Z", - "manual": true, - "price": -10, - "priceAdjustmentId": "63b9eb9b4a92bd3e5c6ee804c2", - "promotionId": "5ties" - } - ], - "orderToken": "7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I", - "orderTotal": 586.76, - "paymentInstruments": [ - { - "amount": 20, - "paymentInstrumentId": "ca47e0da3d49b067b630db624a", - "paymentMethodId": "BML" - }, - { - "amount": 566.76, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "6b970a04ca8a468a64b9936764", - "paymentMethodId": "CREDIT_CARD" - } - ], - "paymentStatus": "not_paid", - "productItems": [ - { - "adjustedTax": 30.00, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "d9516eecc64bd90b0022714d26", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0.00, - "basePrice": 0.00, - "bonusProductLineItem": false, - "gift": false, - "itemId": "8991e8d7adf0f46ffbc584e175", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0.00, - "priceAfterItemDiscount": 0.00, - "priceAfterOrderDiscount": 0.00, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0.00, - "taxBasis": 0.00, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.99, - "priceAfterItemDiscount": 599.99, - "priceAfterOrderDiscount": 589.99, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30.00, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 37.00, - "adjustedShippingTotalTax": 0.50, - "gift": false, - "merchandizeTotalTax": 30.00, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "d5d95acf5381dc6e273b4336a7", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "768abee75aa8015239a9696c7e", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "status": "failed", - "taxation": "net", - "taxTotal": 30.8 -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/examples/order/order-post-request.raml b/apis/checkout/shopper-orders/examples/order/order-post-request.raml deleted file mode 100644 index bc7a4b69..00000000 --- a/apis/checkout/shopper-orders/examples/order/order-post-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "basketId":"a10ff320829cb0eef93ca5310a" - } diff --git a/apis/checkout/shopper-orders/examples/order/order-post-response.raml b/apis/checkout/shopper-orders/examples/order/order-post-response.raml deleted file mode 100644 index 0e62bbc5..00000000 --- a/apis/checkout/shopper-orders/examples/order/order-post-response.raml +++ /dev/null @@ -1,195 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "confirmationStatus": "not_confirmed", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "d3f7ae47e5897a6b5d2fd541f0", - "statusCode": "applied", - "valid": true - } - ], - "createdBy": "Customer", - "creationDate": "2019-10-22T12:17:28.341Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "customerName": "Stephanie Miller", - "email": "shopper@salesforce-test.com" - }, - "customerName": "Stephanie Miller", - "exportStatus": "not_exported", - "grouped_tax_items": [ - { - "_type": "grouped_tax", - "tax_rate": 0.05, - "tax_value": 30.80 - } - ], - "guest": true, - "giftCertificateItems": [ - { - "amount": 1.00, - "giftCertificateItemId": "540db3ffe58bfb04ab673757d7", - "recipientEmail": "miller@salesforce-test.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-22T12:17:28.376Z", - "merchandizeTotalTax": 30.00, - "notes": { - }, - "orderNo": "00000410", - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 10, - "type": "amount" - }, - "reasonCode": "customer service", - "createdBy": "support", - "creationDate": "2019-10-22T12:17:28.347Z", - "custom": true, - "lastModified": "2019-10-22T12:17:28.349Z", - "manual": true, - "price": -10, - "priceAdjustmentId": "63b9eb9b4a92bd3e5c6ee804c2", - "promotionId": "5ties" - } - ], - "orderToken": "7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I", - "orderTotal": 586.76, - "orderViewCode": "YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc", - "paymentInstruments": [ - { - "amount": 20, - "paymentInstrumentId": "ca47e0da3d49b067b630db624a", - "paymentMethodId": "BML" - }, - { - "amount": 566.76, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "6b970a04ca8a468a64b9936764", - "paymentMethodId": "CREDIT_CARD" - } - ], - "paymentStatus": "not_paid", - "productItems": [ - { - "adjustedTax": 30.00, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "d9516eecc64bd90b0022714d26", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0.00, - "basePrice": 0.00, - "bonusProductLineItem": false, - "gift": false, - "itemId": "8991e8d7adf0f46ffbc584e175", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0.00, - "priceAfterItemDiscount": 0.00, - "priceAfterOrderDiscount": 0.00, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0.00, - "taxBasis": 0.00, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.99, - "priceAfterItemDiscount": 599.99, - "priceAfterOrderDiscount": 589.99, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30.00, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 37.00, - "adjustedShippingTotalTax": 0.50, - "gift": false, - "merchandizeTotalTax": 30.00, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "d5d95acf5381dc6e273b4336a7", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "768abee75aa8015239a9696c7e", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "status": "created", - "taxation": "net", - "taxTotal": 30.8 -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/examples/order/order-tax-get-response.raml b/apis/checkout/shopper-orders/examples/order/order-tax-get-response.raml deleted file mode 100644 index d3ef0414..00000000 --- a/apis/checkout/shopper-orders/examples/order/order-tax-get-response.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "taxes": { - "3d4e28425ce0b3a65b0ac4e163":{ - "taxItems":[ - { - "id":"DE_7", - "rate":0.07, - "value":13.99 - }, - { - "id":"DE_19", - "rate":0.19 - } - ] - }, - "ff9452ed11fcf5c80f9143a8f1":{ - "taxItems":[ - { - "id":"US_1", - "rate":0.01 - }, - { - "id":"US_5", - "rate":0.05 - } - ] - } - } - } \ No newline at end of file diff --git a/apis/checkout/shopper-orders/examples/order/payment-instrument-patch-request.raml b/apis/checkout/shopper-orders/examples/order/payment-instrument-patch-request.raml deleted file mode 100644 index f61682c9..00000000 --- a/apis/checkout/shopper-orders/examples/order/payment-instrument-patch-request.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount": 2, - "paymentMethodId": "CREDIT_CARD", - "paymentCard": { - "cardType": "Visa", - "maskedNumber" : "****-****-****-4567" - } - } \ No newline at end of file diff --git a/apis/checkout/shopper-orders/examples/order/payment-instrument-patch-response.raml b/apis/checkout/shopper-orders/examples/order/payment-instrument-patch-response.raml deleted file mode 100644 index e73843e7..00000000 --- a/apis/checkout/shopper-orders/examples/order/payment-instrument-patch-response.raml +++ /dev/null @@ -1,210 +0,0 @@ -#%RAML 1.0 NamedExample -order-get-response: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "confirmationStatus": "not_confirmed", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "d3f7ae47e5897a6b5d2fd541f0", - "statusCode": "applied", - "valid": true - } - ], - "createdBy": "Customer", - "creationDate": "2019-10-22T12:17:28.341Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "customerName": "Stephanie Miller", - "email": "shopper@salesforce-test.com" - }, - "customerName": "Stephanie Miller", - "exportStatus": "not_exported", - "grouped_tax_items": [ - { - "_type": "grouped_tax", - "tax_rate": 0.05, - "tax_value": 30.80 - } - ], - "guest": true, - "giftCertificateItems": [ - { - "amount": 1.00, - "giftCertificateItemId": "540db3ffe58bfb04ab673757d7", - "recipientEmail": "miller@salesforce-test.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-22T12:17:28.376Z", - "merchandizeTotalTax": 30.00, - "notes": { - }, - "orderNo": "00000410", - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 10, - "type": "amount" - }, - "reasonCode": "customer service", - "createdBy": "support", - "creationDate": "2019-10-22T12:17:28.347Z", - "custom": true, - "lastModified": "2019-10-22T12:17:28.349Z", - "manual": true, - "price": -10, - "priceAdjustmentId": "63b9eb9b4a92bd3e5c6ee804c2", - "promotionId": "5ties" - } - ], - "orderToken": "7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I", - "orderTotal": 586.76, - "orderViewCode": "YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc", - "paymentInstruments": [ - { - "amount": 20, - "paymentInstrumentId": "ca47e0da3d49b067b630db624a", - "paymentMethodId": "BML" - }, - { - "amount": 566.76, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "6b970a04ca8a468a64b9936764", - "paymentMethodId": "CREDIT_CARD" - }, - { - "amount": 2, - "paymentCard": { - "expirationYear":1990, - "expirationMonth":7, - "validFromMonth":8, - "validFromYear":2007, - "issueNumber":"i117", - "maskedNumber":"******4567", - "holder":"Miller", - "cardType":"Visa" - }, - "paymentInstrumentId": "9f21f0b51f206fbde2ff5789e5", - "paymentMethodId": "CREDIT_CARD" - } - ], - "paymentStatus": "not_paid", - "productItems": [ - { - "adjustedTax": 30.00, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "d9516eecc64bd90b0022714d26", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0.00, - "basePrice": 0.00, - "bonusProductLineItem": false, - "gift": false, - "itemId": "8991e8d7adf0f46ffbc584e175", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0.00, - "priceAfterItemDiscount": 0.00, - "priceAfterOrderDiscount": 0.00, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0.00, - "taxBasis": 0.00, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.99, - "priceAfterItemDiscount": 599.99, - "priceAfterOrderDiscount": 589.99, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30.00, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 37.00, - "adjustedShippingTotalTax": 0.50, - "gift": false, - "merchandizeTotalTax": 30.00, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "d5d95acf5381dc6e273b4336a7", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "768abee75aa8015239a9696c7e", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "status": "new", - "taxation": "net", - "taxTotal": 30.8 -} diff --git a/apis/checkout/shopper-orders/examples/order/payment-instrument-post-request.raml b/apis/checkout/shopper-orders/examples/order/payment-instrument-post-request.raml deleted file mode 100644 index 4890b36e..00000000 --- a/apis/checkout/shopper-orders/examples/order/payment-instrument-post-request.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount": 700, - "paymentCard":{ - "expirationYear":1990, - "expirationMonth":7, - "validFromMonth":8, - "validFromYear":2007, - "issueNumber":"i117", - "maskedNumber":"************4567", - "holder":"Miller", - "cardType":"Visa" - }, - "paymentMethodId": "CREDIT_CARD" - } \ No newline at end of file diff --git a/apis/checkout/shopper-orders/examples/order/payment-instrument-post-response.raml b/apis/checkout/shopper-orders/examples/order/payment-instrument-post-response.raml deleted file mode 100644 index ff09d9f9..00000000 --- a/apis/checkout/shopper-orders/examples/order/payment-instrument-post-response.raml +++ /dev/null @@ -1,210 +0,0 @@ -#%RAML 1.0 NamedExample -order-get-response: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "confirmationStatus": "not_confirmed", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "d3f7ae47e5897a6b5d2fd541f0", - "statusCode": "applied", - "valid": true - } - ], - "createdBy": "Customer", - "creationDate": "2019-10-22T12:17:28.341Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "customerName": "Stephanie Miller", - "email": "shopper@salesforce-test.com" - }, - "customerName": "Stephanie Miller", - "exportStatus": "not_exported", - "grouped_tax_items": [ - { - "_type": "grouped_tax", - "tax_rate": 0.05, - "tax_value": 30.80 - } - ], - "guest": true, - "giftCertificateItems": [ - { - "amount": 1.00, - "giftCertificateItemId": "540db3ffe58bfb04ab673757d7", - "recipientEmail": "miller@salesforce-test.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-22T12:17:28.376Z", - "merchandizeTotalTax": 30.00, - "notes": { - }, - "orderNo": "00000410", - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 10, - "type": "amount" - }, - "reasonCode": "customer service", - "createdBy": "support", - "creationDate": "2019-10-22T12:17:28.347Z", - "custom": true, - "lastModified": "2019-10-22T12:17:28.349Z", - "manual": true, - "price": -10, - "priceAdjustmentId": "63b9eb9b4a92bd3e5c6ee804c2", - "promotionId": "5ties" - } - ], - "orderToken": "7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I", - "orderTotal": 586.76, - "orderViewCode": "YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc", - "paymentInstruments": [ - { - "amount": 20, - "paymentInstrumentId": "ca47e0da3d49b067b630db624a", - "paymentMethodId": "BML" - }, - { - "amount": 566.76, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "6b970a04ca8a468a64b9936764", - "paymentMethodId": "CREDIT_CARD" - }, - { - "amount": 700, - "paymentCard": { - "expirationYear":1990, - "expirationMonth":7, - "validFromMonth":8, - "validFromYear":2007, - "issueNumber":"i117", - "maskedNumber":"************4567", - "holder":"Miller", - "cardType":"Visa" - }, - "paymentInstrumentId": "9f21f0b51f206fbde2ff5789e5", - "paymentMethodId": "CREDIT_CARD" - } - ], - "paymentStatus": "not_paid", - "productItems": [ - { - "adjustedTax": 30.00, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "d9516eecc64bd90b0022714d26", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0.00, - "basePrice": 0.00, - "bonusProductLineItem": false, - "gift": false, - "itemId": "8991e8d7adf0f46ffbc584e175", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0.00, - "priceAfterItemDiscount": 0.00, - "priceAfterOrderDiscount": 0.00, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0.00, - "taxBasis": 0.00, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.99, - "priceAfterItemDiscount": 599.99, - "priceAfterOrderDiscount": 589.99, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30.00, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 37.00, - "adjustedShippingTotalTax": 0.50, - "gift": false, - "merchandizeTotalTax": 30.00, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "d5d95acf5381dc6e273b4336a7", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "768abee75aa8015239a9696c7e", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "status": "new", - "taxation": "net", - "taxTotal": 30.8 -} diff --git a/apis/checkout/shopper-orders/examples/order/payment-methods-get-response.raml b/apis/checkout/shopper-orders/examples/order/payment-methods-get-response.raml deleted file mode 100644 index d9b4b5ac..00000000 --- a/apis/checkout/shopper-orders/examples/order/payment-methods-get-response.raml +++ /dev/null @@ -1,81 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "applicablePaymentMethods": [ - { - "id": "GIFT_CERTIFICATE", - "name": "Gift Certificate", - "paymentProcessorId": "BASIC_GIFT_CERTIFICATE" - }, - { - "cards": [ - { - "cardType": "Visa", - "checksumVerificationEnabled": true, - "name": "Visa", - "numberLengths": [ - "13", - "16" - ], - "numberPrefixes": [ - "4" - ], - "securityCodeLength": 3 - }, - { - "cardType": "Amex", - "checksumVerificationEnabled": true, - "name": "American Express", - "numberLengths": [ - "15" - ], - "numberPrefixes": [ - "34", - "37" - ], - "securityCodeLength": 4 - }, - { - "cardType": "Master Card", - "checksumVerificationEnabled": true, - "name": "MasterCard", - "numberLengths": [ - "16" - ], - "numberPrefixes": [ - "51-55" - ], - "securityCodeLength": 3 - }, - { - "cardType": "Discover", - "checksumVerificationEnabled": true, - "name": "Discover", - "numberLengths": [ - "16" - ], - "numberPrefixes": [ - "6011", - "622126-622925", - "644-649", - "65" - ], - "securityCodeLength": 3 - } - ], - "id": "CREDIT_CARD", - "name": "Credit Card", - "paymentProcessorId": "BASIC_CREDIT" - }, - { - "id": "PayPal", - "name": "Pay Pal", - "paymentProcessorId": "PAYPAL_EXPRESS" - }, - { - "id": "BML", - "name": "Bill Me Later", - "paymentProcessorId": "CYBERSOURCE_BML" - } - ] -} diff --git a/apis/checkout/shopper-orders/exchange.json b/apis/checkout/shopper-orders/exchange.json deleted file mode 100644 index 4603ef9c..00000000 --- a/apis/checkout/shopper-orders/exchange.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.5", - "assetId": "checkout-data-types", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "0.4.8", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-orders.raml", - "backwardsCompatible": false, - "assetId": "shopper-orders", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper orders", - "tags": [] -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml deleted file mode 100644 index 9e059569..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml +++ /dev/null @@ -1,2364 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not - including service charges such as shipping. If the Discount Taxation preference is set to Tax - Products and Shipping Only Based on Adjusted Price, this amount also includes prorated - order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - agentBasket?: - description: |- - Is the basket created by an agent? It is read only. - type: boolean - example: - true - basketId?: - description: |- - The unique identifier for the basket. It is read only. - type: string - example: - "e78aa5646a8efebdd9cdd38be7" - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - creationDate?: - description: |- - The timestamp when the basket was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information, if the customer is logged in. - type: CustomerInfo - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - inventoryReservationExpiry?: - description: |- - The expiration datetime of the inventory reservation. It is read only. - type: datetime - example: - 2015-05-19T15:30:18.000Z - lastModified?: - description: |- - The timestamp when the basket was last modified. It is read only. - type: datetime - example: - 2015-05-19T15:25:18.000Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. - Merchandise total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. It is read only. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: SimpleLink - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and tax. It is read only. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping - charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 88.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - sourceCode?: - description: |- - The source code assigned to the basket. It is read only. - type: string - example: - "OUTDOOR1" - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. - type: boolean - example: - true - temporaryBasket?: - description: |- - If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. It is read only. - type: boolean - example: - true - BasketPaymentInstrumentRequest: - description: |- - Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - example: - "AFGRTUZ" - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - example: - "5ties" - id?: - description: |- - The ID of the line item. It is read only. - type: string - example: - "91f4dd8bfa0653d58b7783b04f" - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - example: - "Buy1Get2" - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: |- - The coupon code. - maxLength: 256 - type: string - example: - "5ties" - couponItemId?: - description: |- - The coupon item ID. It is read only. - type: string - example: - "d4c9c0141e9c74c150225580f3" - statusCode?: - description: |- - The status of the coupon item. It is read only. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - "no_applicable_promotion" - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". It is read only. - type: boolean - example: - true - CustomerInfo: - description: |- - The customer information for guest or logged-in customers. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: |- - The customer ID. It is read only. - maxLength: 100 - type: string - example: - "abMKqMaNYOBMnNdDNzyC5oNTi5" - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - customerNo?: - description: |- - The customer number. - maxLength: 100 - type: string - example: - "0002352" - email: - description: |- - The customer's email address. - type: string - example: - no-reply@salesforce.com - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. It is read only. - type: number - format: double - example: - 130.88 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. It is read only. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The price book ID that is used with some types. It is read only. - type: string - example: - "usd-sale-prices" - type: - description: |- - The type of discount. It is read only. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - "fixed_price" - DiscountRequest: - description: |- - Request that represents a discount to be applied to a custom price adjustment. - type: - CommerceCloudStandards.ClosedObject - properties: - type: - description: |- - The type of discount. - - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. - - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. - - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. - type: string - enum: - - percentage - - fixed_price - - amount - example: - "percentage" - value: - description: |- - The amount of the discount. - type: number - format: double - example: - 20.00 - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate item amount. - type: number - format: double - example: - 20.00 - giftCertificateItemId?: - description: |- - The item ID. It is read only. - type: string - example: - "629dea6e7b61e58da629b57b21" - message?: - description: |- - The gift certificate message. - maxLength: 4000 - type: string - example: - "Birthday present." - recipientEmail: - description: |- - The recipient email. - minLength: 1 - type: string - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient's name. - type: string - example: - "Daniel Mustermann" - senderName?: - description: |- - The sender's name. - type: string - example: - "Max Mustermann" - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - GroupedTaxItem: - description: |- - Document representing the grouped tax item. - type: - CommerceCloudStandards.ClosedObject - properties: - taxRate?: - description: |- - The tax rate. It is read only. - type: number - format: double - example: - 0.10 - taxValue?: - description: |- - The summed up tax total for the tax rate. It is read only. - type: number - format: double - example: - 10.03 - Note: - description: |- - Document representing a note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The author of the note. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - id?: - description: |- - The ID of the note. - type: string - example: - "49b5c6c8340e432a7bfab9ff3a" - subject?: - description: |- - The note subject. - maxLength: 256 - type: string - example: - "Order was created." - text?: - description: |- - The note text. - maxLength: 4000 - type: string - example: - "Order was created." - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: |- - The notes. It is read only. - type: array - items: - type: Note - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product - item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - example: - "ba248414e3eee797f062162f8b" - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. It is read only. - type: boolean - example: - false - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. It is read only. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - example: - "The item text." - optionId: - description: |- - The ID of the option. It is read only. - maxLength: 256 - type: string - example: - consoleWarranty - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - optionValueId: - description: |- - The ID of the option value. It is read only. - maxLength: 256 - type: string - example: - "000" - price?: - description: |- - The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 150.99 - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or - shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not - including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 40.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The ordered quantity of the products represented by this item. - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a - surcharge applied to individual products using a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax on the line item before applying any adjustments. It is read only. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. It is read only. - type: number - format: double - example: - 50.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.19 - Order: - description: |- - Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as - shipping. It is read only. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. It is read only. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - confirmationStatus?: - description: |- - The confirmation status. - type: string - enum: - - not_confirmed - - confirmed - example: - "confirmed" - couponItems?: - description: |- - The coupon items. It is read only. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. - If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. It is read only. - type: string - example: - "Customer" - creationDate?: - description: |- - The timestamp when the order was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. It is read only. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information for guest or logged-in customers. It is read only. - type: CustomerInfo - customerName?: - description: |- - The customer name. It is read only. - type: string - example: - "Max Mustermann" - exportStatus?: - description: |- - The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - example: - "exported" - externalOrderStatus?: - description: |- - The external status of the order. - type: string - example: - "Submitted" - giftCertificateItems?: - description: |- - The gift certificate line items. It is read only. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. It is read only. - type: string - example: - "GP_1234" - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - guest?: - description: |- - The registration status of the customer. It is read only. - type: boolean - example: - true - lastModified?: - description: |- - The timestamp when the order was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices - not including shipping or adjustments. It is read only. - type: number - format: double - example: - 1.50 - notes?: - description: |- - The notes. - type: SimpleLink - orderNo?: - description: |- - The order number. - type: string - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. It is read only. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. It is read only. - type: string - orderTotal?: - description: |- - The total price, including products, shipping, and tax. It is read only. - type: number - format: double - example: - 110.24 - orderViewCode?: - description: |- - The order view code used to secure the order lookup of an order using Order Lookup API. - The order view code contains only URL safe characters. - Warning : Order view code must not be exposed in the URL and must only be displayed to the shopper or sent as an email. - Order view code must not be logged in the code. It is read only. - type: string - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: string - enum: - - not_paid - - part_paid - - paid - example: - "paid" - productItems?: - description: |- - The product items. It is read only. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipments?: - description: |- - The shipments. It is read only. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. It is read only. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: string - enum: - - not_shipped - - part_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - siteId?: - description: |- - The order's site. It is read only. - type: string - example: - "ShoppingSite" - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. It is read only. - type: string - example: - "OUTDOOR1" - status?: - description: |- - The status. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - example: - "created" - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. - type: boolean - example: - true - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - OrderAddress: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - example: - "45 Main Rd." - address2?: - description: |- - The second address line. - type: string - example: - "Apartment 204" - city?: - description: |- - The city. - type: string - example: - "Boston" - companyName?: - description: |- - The company name. - type: string - example: - "Salesforce" - countryCode?: - description: |- - The ISO Country Code. - type: CommerceCloudStandards.CountryCode - example: - "US" - firstName?: - description: |- - The first name. - type: string - example: - "Max" - fullName?: - description: |- - The full name. - type: string - example: - "Max Mustermann" - id?: - description: |- - The ID of the address. - type: string - example: - "me" - jobTitle?: - description: |- - The job title. - type: string - example: - "Software Engineer" - lastName?: - description: |- - The last name. - type: string - example: - "Mustermann" - phone?: - description: |- - The phone number. - type: string - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - example: - "PO BOX 109" - postalCode?: - description: |- - The postal code. - type: string - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - example: - "Mr" - secondName?: - description: |- - The second name. - type: string - stateCode?: - description: |- - The state code. - type: string - example: - "MA" - suffix?: - description: |- - The suffix. - type: string - example: - "Sr" - suite?: - description: |- - The suite. - type: string - example: - "24A" - title?: - description: |- - The title. - type: string - example: - "Dr." - OrderLookupRequest: - description: |- - Document representing an order lookup request. - type: - CommerceCloudStandards.ClosedObject - properties: - email: - description: |- - The customer's email address associated with order to be looked up. - type: string - example: - no-reply@salesforce.com - orderViewCode: - description: |- - The order view code associated with the order to be looked up. - type: string - OrderPaymentCardRequest: - description: |- - Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - maxLength: 256 - type: string - example: - "Visa" - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - example: - "*********4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - OrderPaymentInstrument: - description: |- - Document representing an order payment instrument. - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. It is read only. - type: Status - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the last 4 characters not masked. - type: string - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. It is read only. - type: string - example: - "ba248424e3eee797f062162f8b" - paymentMethodId?: - description: |- - The payment method ID. It is read only. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - OrderPaymentInstrumentRequest: - description: |- - Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - CREDIT_CARD - PaymentCard: - description: |- - Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type. - maxLength: 256 - type: string - example: - "Visa" - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. It is read only. - type: boolean - example: - true - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. It is read only. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - "Max Mustermann" - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 4000 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of the payment card number. It is read only. - maxLength: 4000 - type: string - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2015 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: |- - The payment card type. It is read only. - type: string - example: - "Visa" - checksumVerificationEnabled?: - description: |- - A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. - type: boolean - example: - true - description?: - description: |- - The localized description of the payment card. It is read only. - type: string - image?: - description: |- - The URL to the image that represents the payment card. It is read only. - type: string - name?: - description: |- - The localized name of the payment card. It is read only. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). It is read only. - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). It is read only. - type: array - items: - type: string - securityCodeLength?: - description: |- - The length of the security code for this card. It is read only. - type: integer - format: int32 - PaymentMethod: - description: |- - Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: |- - The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. - type: array - items: - type: PaymentCardSpec - description?: - description: |- - The localized description of the payment method or card. It is read only. - type: string - id: - description: |- - The ID of the payment method or card. It is read only. - maxLength: 256 - type: string - image?: - description: |- - The URL to the image that represents the payment method or card. It is read only. - type: string - name?: - description: |- - The localized name of the payment method or card. It is read only. - type: string - paymentProcessorId?: - description: |- - The payment processor ID. It is read only. It is read only. - type: string - PaymentMethodResult: - description: |- - Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: |- - The applicable payment methods. It is read only. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments - not based on a discount, this value is null. - type: Discount - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments - not based on a coupon, this value is null. It is read only. - type: string - example: - "5ties" - createdBy?: - description: |- - The user who created the price adjustment. It is read only. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the price adjustment was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This - flag is set to true unless the price adjustment was created by the promotion - engine. - type: boolean - example: - true - itemText?: - description: |- - The text describing the item. - type: string - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. - If the price adjustment was created by the promotion engine, this value is always - false. - type: boolean - example: - true - price?: - description: |- - The adjustment price. It is read only. - type: number - format: double - example: - 120.88 - priceAdjustmentId?: - description: |- - The price adjustment ID. It is read only. - type: string - example: - "ba248424e3eee797f062161f8b" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: |- - The URL addressing the related promotion. It is read only. - type: string - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - PriceAdjustmentRequest: - description: |- - Request that represents a price adjustment. - type: - CommerceCloudStandards.OpenObject - properties: - discount?: - description: |- - A discount that can be specified instead of a price. - type: DiscountRequest - itemId?: - description: |- - The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. - type: string - example: - "93196fae953cbedbe54d67e760" - itemText?: - description: |- - The text describing the item in more detail. - type: string - example: - "A discounted item" - level: - description: |- - The level at which the adjustment is applied. - - `order` indicates that the price adjustment should be added directly to basket. - - `product` indicates that the price adjustment should be added to the product item. - - `shipping` indicates that the price adjustment is added to the shipping item. - type: string - enum: - - product - - shipping - - order - example: - "order" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. - type: string - example: - "Shipping100" - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - example: - "Shipping promotion on order above $1,000 USD" - PriceBookIds: - description: |- - Array of price book IDs to use for the basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: |- - Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: |- - The description of the product. - type: string - example: - "Nintendo DS revolutionizes handheld gameplay." - productId: - description: |- - The ID of the product. - type: string - example: - "nintendo-ds-console" - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - title?: - description: |- - The link title. - type: string - example: - "Nintendo DS Game Console" - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including - adjustments. If the taxation policy is net, it doesn't include tax. If the - taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 130.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - true - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or - creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not - including order-level adjustments or shipping charges. If the taxation policy is - net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 20.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation - policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 15.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference - to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The quantity of the products represented by this item. - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A - related shipping item represents a surcharge applied to individual products using - a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax for the product item, not including price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The price used to calculate the tax for this product item. It is read only. - type: number - format: double - example: - 30.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.90 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The ID of the product list item. It is read only. - type: string - example: - "ba248424e3fee797f062162f8b" - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - example: - 1 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: |- - A reference to the associated product list. It is read only. - type: ProductListLink - public?: - type: boolean - example: - false - purchasedQuantity?: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0.00 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListLink: - description: |- - Document representing a link to a product list. - properties: - description?: - description: |- - The description of this product list. - type: string - name?: - description: |- - The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. It is read only. - type: boolean - example: - true - title?: - description: |- - The link title. - type: string - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - "shopping_list" - PromotionLink: - description: |- - Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - name?: - description: |- - The localized name of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$50FixedProductsAmountAbove100" - title?: - description: |- - The title. - type: string - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including - service charges such as shipping. If the Discount Taxation preference is set to Tax Products and - Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as - shipping. It is read only. - type: number - format: double - example: - 4.95 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If - the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipmentId?: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - example: - "me" - shipmentNo?: - description: |- - The shipment number of this shipment. This number is automatically generated. It is read only. - type: string - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, - and tax. It is read only. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: OrderAddress - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethod - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the - taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as - shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on - Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a - custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the shipping item. - type: string - example: - "Shipping" - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level - adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - shipmentId?: - description: |- - The identifier of the shipment to which this item belongs. - type: string - example: - "me" - tax?: - description: |- - The tax on the product item, not including adjustments. It is read only. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The price used to calculate the tax for this shipping item. It is read only. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. - type: number - format: double - ShippingMethod: - description: |- - Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: |- - The localized description of the shipping method. - type: string - example: - "Order received within 7-10 business days" - externalShippingMethod?: - description: |- - The external shipping method. - type: string - id: - description: |- - The shipping method ID. - maxLength: 256 - type: string - example: - "001" - name?: - description: |- - The localized name of the shipping method. - type: string - example: - "Ground" - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. It is read only. - type: number - format: double - example: - 15.00 - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: |- - Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: |- - The applicable shipping method documents. It is read only. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: |- - The default shipping method. It is read only. - type: string - example: - "me" - ShippingPromotion: - description: |- - Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$30FixedShippingAmountAbove150" - promotionName?: - description: |- - The localized promotion name. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - SimpleLink: - description: |- - Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: |- - Document representing an object status. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - message?: - description: |- - The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: |- - Document representing the tax rates and (optionally) amounts for all items in a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - TaxItems: - description: |- - Taxation for a line item. - properties: - taxItems?: - description: |- - The list of tax items. It is read only. - type: array - items: - type: TaxItem - TaxItem: - description: |- - Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The taxation identifier. - type: string - rate: - description: |- - The taxation rate. - type: number - format: double - example: - 0.13 - value?: - description: |- - The tax amount. Will be computed if not set. - type: number - format: double diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/forbidden.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/shipment-not-found.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml deleted file mode 100644 index 452c2569..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled", - "title": "Unsupported Request If SCAPI Hooks Enabled", - "detail": "You can't call this endpoint because Salesforce Commerce API hook execution is enabled." - } diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/exchange.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/exchange.json deleted file mode 100644 index 25886b6a..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"dependencies":[{"version":"2.0.1","assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"}],"version":"2.0.5","originalFormatVersion":"1.0","apiVersion":"v1","descriptorVersion":"0.1.0","classifier":"raml-fragment","main":"checkout-data-types.raml","assetId":"checkout-data-types","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","name":"Checkout Data Types","tags":[],"metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"v2","commitId":"e7cad8834ddd908357c9160b31f3f9de2939fa01"}} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/checkout/shopper-orders/order-lookup-description.md b/apis/checkout/shopper-orders/order-lookup-description.md deleted file mode 100644 index 8c9455b9..00000000 --- a/apis/checkout/shopper-orders/order-lookup-description.md +++ /dev/null @@ -1,9 +0,0 @@ -Use this endpoint to lookup a guest order. - -**Important**: This endpoint uses the [ShopperTokenTsob](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=security%3AShopperTokenTsob) security scheme. Always check the Security section of the endpoint documentation, which is hidden by default. - -The API uses the `orderViewCode` generated during the order creation and the `email` of the order customer to lookup a guest order. If email is not provided on the order, the field can be left blank in the lookup request. -**Note**: In the no email on order scenario, the custom implementation must include an additional verification of an order attribute. For example, a postal code or mobile number. - -This API can also be used for looking up an order for a registered customer. In addition to the verification steps used for guest order lookup, the API also verifies that the customer ID of the order matches with the customer ID supplied in the `ShopperTokenTsob`. - diff --git a/apis/checkout/shopper-orders/shopper-orders-description.md b/apis/checkout/shopper-orders/shopper-orders-description.md deleted file mode 100644 index ab1cbc46..00000000 --- a/apis/checkout/shopper-orders/shopper-orders-description.md +++ /dev/null @@ -1,18 +0,0 @@ -# API Overview - -The Shopper Orders API enables you to: - -- Create orders based on baskets prepared using the Shopper Baskets API. -- Add a customer's payment instrument to an order. - -You can choose to supply the full payment information or supply only a customer payment instrument ID and amount. If the customer payment instrument ID is set, all the other properties (except amount) are ignored and the payment data is resolved from the stored customer payment information. - -**Note:** The API doesn’t allow the storage of credit card numbers. The endpoint provides the storage of masked credit card numbers only. - -To update the payment status, use the Orders API. - -## Use Cases - -### Use Hooks - -For details on working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) \ No newline at end of file diff --git a/apis/checkout/shopper-orders/shopper-orders-traits.raml b/apis/checkout/shopper-orders/shopper-orders-traits.raml deleted file mode 100644 index 4140ddcc..00000000 --- a/apis/checkout/shopper-orders/shopper-orders-traits.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 Library - -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -traits: - LocaleSpecific: - usage: This trait should be used whenever a resource uses the context of a locale associated with its request. This will add a locale query parameter. - queryParameters: - locale?: - type: CommerceCloudStandards.LocaleCode - description: |- - A descriptor to provide locale context for a geographical region by both a language and/or country code. The locale pattern in the query param follows the ISO 639-1 for the language code (e.g. en, de, fr) and ISO 3166-1 for the country code (e.g. US, DE, AT). The param can be a combination of language code and country code or can just refer to the language code. - Below are some valid examples: - - en-US - - de-AT - - de - - default - example: - en-US \ No newline at end of file diff --git a/apis/checkout/shopper-orders/shopper-orders.raml b/apis/checkout/shopper-orders/shopper-orders.raml deleted file mode 100644 index 1ca41a26..00000000 --- a/apis/checkout/shopper-orders/shopper-orders.raml +++ /dev/null @@ -1,345 +0,0 @@ -#%RAML 1.0 -#In C4E review -title: Shopper Orders - -version: v1 -description: !include shopper-orders-description.md -protocols: [HTTPS] -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-orders/{version} -baseUriParameters: - shortCode: - description: Region-specific merchant identifier. - example: fd4gt8 - -uses: - OrderTraits: shopper-orders-traits.raml - dataTypes: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - ErrorResponse: ApiStandards.ErrorResponse - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /orders: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - OrderTraits.LocaleSpecific: - description: |- - Submits an order based on a prepared basket. The only considered value from the request body is basketId. - displayName: createOrder - responses: - '200': - description: |- - Success, the response body contains the submitted order. - body: - type: dataTypes.Order - examples: - dataTypes.Order: !include examples/order/order-post-response.raml - '400': - description: |- - Possible reasons: - - a failure during the creation of a gift certificate - for a gift certificate item. - - the basket ID in the request body is null or - empty. - - an invalid product item. - - an option with the specified option ID is - unknown. - - an option with the specified option value ID - is unknown. - - a product item is not available. - - the customer assigned to the basket does not - match the verified customer represented by the JWT token. - - the basket contains flashes. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/order/order-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{orderNo}': - type: CommerceCloudStandards.Organization - uriParameters: - orderNo: - description: The order number of the order to be modified. - minLength: 1 - type: string - example: "00000410" - get: - is: - - CommerceCloudStandards.SiteSpecific: - - OrderTraits.LocaleSpecific: - description: |- - Gets information for an order. - displayName: getOrder - responses: - '200': - description: |- - Success, the response body contains the order. - body: - type: dataTypes.Order - examples: - dataTypes.Order: !include examples/order/order-get-response.raml - '404': - description: |- - The order with the given order number is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - /lookup: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - OrderTraits.LocaleSpecific: - description: !include order-lookup-description.md - displayName: guestOrderLookup - responses: - '200': - description: |- - Success, the response body contains the order found with the order view code. - body: - type: dataTypes.Order - examples: - dataTypes.Order: !include examples/order/order-post-response.raml - '400': - description: |- - Possible reasons: - - order view code or email is missing. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml - '404': - description: |- - Order was not found. Possible reasons: - - the order with the given order no is unknown. - - the given order view code does not match the one in the order. - - the given email does not match the one in the order. - - the authorized customer of a registered customer order lookup does not match the customer in the order. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml - body: - type: dataTypes.OrderLookupRequest - examples: !include examples/order/order-lookup-request.raml - securedBy: - - CommerceCloudStandards.ShopperTokenTsob: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - /payment-instruments: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - OrderTraits.LocaleSpecific: - description: |- - Adds a payment instrument to an order. - - Details: - - The payment instrument is added with the provided details. The payment method must be applicable for the order see GET - /baskets/{basketId}/payment-methods, if the payment method is 'CREDIT_CARD' a paymentCard must be specified in the request. - - displayName: createPaymentInstrumentForOrder - responses: - '200': - description: |- - Success, the response body contains the order with the added payment instrument. - body: - type: dataTypes.Order - examples: - dataTypes.Order: !include examples/order/payment-instrument-post-response.raml - '400': - description: |- - Possible reasons: - - the given order number is invalid. - - the provided payment method is invalid or not applicable. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml - '404': - description: |- - The order with the given order number is unknown. - - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml - body: - type: dataTypes.OrderPaymentInstrumentRequest - examples: - dataTypes.OrderPaymentInstrumentRequest: !include examples/order/payment-instrument-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{paymentInstrumentId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - - OrderTraits.LocaleSpecific: - description: |- - Removes a payment instrument of an order. - displayName: removePaymentInstrumentFromOrder - responses: - '200': - description: Success, the response body contains the order without the deleted payment instrument. - body: - type: dataTypes.Order - '404': - description: |- - Possible reasons: - - The order with the given order number is unknown. - - The payment instrument with the given order payment - instrument ID is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - - OrderTraits.LocaleSpecific: - description: |- - Updates a payment instrument of an order. - - Details: - - The payment instrument is updated with the provided details. The payment method must be applicable for the - order see GET /baskets/{basketId}/payment-methods, if the payment method is 'CREDIT_CARD' a - paymentCard must be specified in the request. - - displayName: updatePaymentInstrumentForOrder - responses: - '200': - description: |- - Success, the response body contains the order with the updated payment instrument. - body: - type: dataTypes.Order - examples: - dataTypes.Order: !include examples/order/payment-instrument-patch-response.raml - '400': - description: |- - Possible reasons: - - the basket payment instrument with the given - ID already is permanently masked. - - the provided payment method is invalid or not applicable. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: - - The order with the given order number is unknown. - - The payment instrument with the given payment - instrument ID is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml - body: - type: dataTypes.OrderPaymentInstrumentRequest - examples: - dataTypes.Order: !include examples/order/payment-instrument-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - uriParameters: - paymentInstrumentId: - description: |- - The ID of the payment instrument to be updated. - minLength: 1 - type: string - example: b7679bea661819b2de78b9de7d - /payment-methods: - type: CommerceCloudStandards.Organization - get: - is: - - CommerceCloudStandards.SiteSpecific: - - OrderTraits.LocaleSpecific: - description: |- - Gets the applicable payment methods for an existing order considering the open payment amount only. - displayName: getPaymentMethodsForOrder - responses: - '200': - description: |- - Success, the response body contains the applicable payment methods for the order. - body: - type: dataTypes.PaymentMethodResult - examples: - dataTypes.PaymentMethodResult: !include examples/order/payment-methods-get-response.raml - '400': - description: |- - The customer assigned to the order does not - match the verified customer represented by the JSON Web Token (JWT). - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml - '404': - description: |- - The order with the given order number is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - /taxes: - type: CommerceCloudStandards.Organization - get: - is: - - CommerceCloudStandards.SiteSpecific: - description: |- - This method gives you the external taxation data of the order transferred from the basket during - order creation. This endpoint can be called only if external taxation was used. See POST /baskets - for more information. - displayName: getTaxesFromOrder - responses: - '200': - description: |- - Success, the response body contains the external taxation from all items from the referenced - order. - body: - type: dataTypes.Taxes - examples: - dataTypes.Taxes: !include examples/order/order-tax-get-response.raml - '404': - description: |- - The order with the given order number is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml - '409': - description: |- - Possible Reasons: - - The tax mode of the referenced basket is not set to EXTERNAL. - body: - type: ErrorResponse - examples: - dataTypes.InvalidTaxMode: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml - dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } \ No newline at end of file diff --git a/apis/coupons-oas/coupons-oas-1.0.38/.metadata.json b/apis/coupons-oas/coupons-oas-1.0.38/.metadata.json new file mode 100644 index 00000000..97680fbd --- /dev/null +++ b/apis/coupons-oas/coupons-oas-1.0.38/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/coupons-oas/1.0.38", + "name": "Coupons OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "coupons-oas", + "version": "1.0.38", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/coupons-oas/coupons-oas-1.0.38/coupons-oas-v1-internal.yaml b/apis/coupons-oas/coupons-oas-1.0.38/coupons-oas-v1-internal.yaml new file mode 100644 index 00000000..52654b1c --- /dev/null +++ b/apis/coupons-oas/coupons-oas-1.0.38/coupons-oas-v1-internal.yaml @@ -0,0 +1,1470 @@ +openapi: 3.0.3 +info: + title: Coupons + version: v1 + description: |- + # API Overview + + Use the Coupons API to create, modify, retrieve, and delete coupons for a given channel. You can also use it to create and retrieve coupon codes using a couponID. + + Coupons _must_ be added as a qualifier to a campaign before they can be used. + + For more information, see [Using Coupons as Qualifiers](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Promotions/UsingCouponsasQualifiers.html) in the Salesforce B2C Commerce Infocenter. + + ## Authentication & Authorization + + The client requesting the coupon's information must have access to the Coupon resource. For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request. The client must first authenticate against Account manager to log in. + + You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + For detailed setup instructions, see [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html). + + ## Use Cases + + ### Single-Use Coupon + + Single-use coupons are your standard coupons, which you can only use once per customer. + + For example, use the Coupons API to create a coupon with a single coupon code that can be applied only once per order per customer. + + ### Multiple-Use Coupon + + A multiple-use coupon can be used any number of times by any number of customers. + + For example, use the Coupons API to create a coupon that can be applied once per order and has system-generated codes. + + ### Search Coupon + + Use the Coupons API to search for coupons using simple or complex querying. + + ### Search Coupon Redemptions + + Use the Coupons API to search for coupon redemptions using simple or complex querying. + + For more detail, see [Coupon Redemption](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Coupons/CouponRedemption.html) in the Salesforce B2C Commerce Infocenter. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/coupons/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/coupons: + post: + summary: Search for coupons. + description: |- + The Coupon Search document contains a search object that allows filtering on various attributes. + + The following searchable query attributes can be used to narrow the search: + + | Attribute | Type | + |-----------|--------| + | couponId| String | + | description | String | + | type | one of {"single_code", "multiple_codes", "system_codes"} | + | enabled | Boolean | + + Note that only searchable attributes can be used in sorting. + operationId: couponsSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + responses: + '200': + description: Coupon information successfully retrieved. + content: + application/json: + schema: + $ref: '#/components/schemas/CouponSearchResult' + '400': + description: Thrown when the query is ill-formed. + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + /organizations/{organizationId}/coupons/redemptions: + post: + summary: Search for coupon redemptions. + description: |- + The Coupon Redemption Search document contains a search object that allows filtering on various attributes. + + + The following searchable query attributes can be used to narrow down the search: + + | Attribute | Type | + |-----------|--------| + | code| String | + | couponId | String | + | customerEmail | String | + | orderNo | String | + + Note that only searchable attributes can be used in sorting. + + If the user role does not have the `View_Coupon_Codes` permission, then the returned coupon codes are masked. + operationId: couponRedemptionsSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + responses: + '200': + description: Coupon redemption information successfully retrieved. + content: + application/json: + schema: + $ref: '#/components/schemas/CouponRedemptionSearchResult' + '400': + description: Thrown when the query is ill-formed. + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + /organizations/{organizationId}/coupons/actions/redeem: + post: + summary: Redeem a coupon code for an existing coupon for the specified site. + description: |- + The coupon code must be redeemable. + --- + ***Note: Coupon redemptions are evaluated during checkout. A large number of coupon redemptions negatively impacts order creation performance and scale.*** + 1. Avoid importing unnecessary coupon redemptions. + 2. Clean up coupon codes and related redemptions when they are no longer required. + --- + operationId: redeemCoupon + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CouponCodeRedemptionRequest' + examples: + PostRedeemCoupon: + $ref: '#/components/examples/PostRedeemCoupon' + responses: + '201': + description: | + Coupon was successfully redeemed and a redemption record created. + '400': + description: | + Thrown when the coupon code can not be redeemed, for example, if it is disabled, + already redeemed, if the redemption limit (maximum number or timeframe) is + exceeded or if it has no assigned active promotion. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdConflict400: + $ref: '#/components/examples/CouponCodeNotRedeemable400' + '404': + description: | + Thrown when the site does not contain a coupon, which + defines whether the coupon code requested can be redeemed. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdConflict400: + $ref: '#/components/examples/CouponCodeNotFound404' + security: + - AmOAuth2: + - sfcc.promotions.rw + /organizations/{organizationId}/coupons/{couponId}: + get: + summary: Return coupon information for the specified coupon ID. + description: If the user role does not have the View_Coupon_Codes permission, then the returned coupon codes are masked. + operationId: getCoupon + parameters: + - $ref: '#/components/parameters/couponId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Coupon information for the specified coupon ID successfully returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Coupon' + examples: + GetCoupon: + $ref: '#/components/examples/Coupon' + '404': + description: | + Thrown when the coupon does not exist matching the given ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCoupon404: + $ref: '#/components/examples/CouponNotFound404' + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + put: + summary: |- + Create a coupon using the information provided. If a coupon with the specified identifier already exists, + the existing coupon is replaced. + operationId: createCoupon + parameters: + - $ref: '#/components/parameters/couponId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Coupon' + responses: + '200': + description: Coupon successfully created. + content: + application/json: + schema: + $ref: '#/components/schemas/Coupon' + examples: + CreateCoupon: + $ref: '#/components/examples/Coupon' + '400': + description: |- + Thrown when the coupon passed is not valid (the argument indicates + which field is invalid). + Possible reasons: + - The code provided is in use by another coupon. + - A single code coupon set the coupon code improperly. + - The ID in the request does not match the ID in the document. + - A quota for system-generated coupons is violated. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CouponCodeDuplicate400: + $ref: '#/components/examples/CouponCodeDuplicate400' + '403': + description: Thrown when the resource requires global context instead of site-specific context. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + createCoupon403: + $ref: '#/components/examples/SiteAccessForbidden403' + security: + - AmOAuth2: + - sfcc.promotions.rw + delete: + summary: Delete a coupon with a specified ID. + operationId: deleteCoupon + parameters: + - $ref: '#/components/parameters/couponId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: Coupon successfully deleted. + security: + - AmOAuth2: + - sfcc.promotions.rw + patch: + summary: Update a coupon with the specified information. + operationId: updateCoupon + parameters: + - $ref: '#/components/parameters/couponId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Coupon' + responses: + '200': + description: Coupon successfully updated. + content: + application/json: + schema: + $ref: '#/components/schemas/Coupon' + examples: + UpdateCoupon: + $ref: '#/components/examples/UpdateCoupon' + '400': + description: |- + Possible reasons: + - Cannot update certain fields in a coupon after redeeming it or exporting it + - The code provided is in use by another coupon. + - A quota for system-generated coupons is violated. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + updateCoupon400: + $ref: '#/components/examples/CouponCodeDuplicate400' + '403': + description: Thrown when trying to update a broken coupon that should be deleted and re-created, or when trying to update a legacy coupon. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + updateCoupon403: + $ref: '#/components/examples/LegacyCouponCoupon403' + security: + - AmOAuth2: + - sfcc.promotions.rw + /organizations/{organizationId}/coupons/{couponId}/codes: + get: + summary: |- + Get the coupon codes for the given coupon. + + If the user role does not have the View_Coupon_Codes permission, then the coupon codes returned are masked. + operationId: getCouponCodes + parameters: + - $ref: '#/components/parameters/couponId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Coupon codes successfully retrieved. + content: + application/json: + schema: + $ref: '#/components/schemas/CouponCodes' + examples: + GetCouponCodes: + $ref: '#/components/examples/GetCouponCodes' + '404': + description: | + Thrown when the coupon does not exist matching the given ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CouponNotFound: + $ref: '#/components/examples/CouponNotFound404' + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + post: + summary: Add or delete (modify) multiple codes to and from the supplied coupon. + operationId: updateCouponCodes + parameters: + - $ref: '#/components/parameters/couponId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/delete' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CouponMultiCodesRequest' + responses: + '204': + description: Coupon codes successfully updated - this is also returned if we try to add an already existing code or to delete a non-existing code. + '400': + description: Thrown when the coupon code could not be created. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + updateCoupon400: + $ref: '#/components/examples/CouponCodeCreate400' + '404': + description: | + Thrown if the coupon does not exist matching the given ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CouponNotFound404: + $ref: '#/components/examples/CouponNotFound404' + security: + - AmOAuth2: + - sfcc.promotions.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + RedemptionLimitPerPeriod: + description: Document representing a coupon redemption limit. + type: object + additionalProperties: false + required: + - limit + - redemptionTimeFrame + properties: + limit: + minimum: 0 + format: int32 + description: The limit on the number of times a coupon can be redeemed for a specified redemption time period. + example: 1 + type: integer + redemptionTimeFrame: + minimum: 0 + maximum: 999 + format: int32 + description: The redemption time period. + example: 24 + type: integer + RedemptionLimits: + description: Document representing a coupon. + additionalProperties: false + properties: + limitPerCode: + minimum: 0 + format: int32 + description: The redemption limit per code. + example: 0 + type: integer + limitPerCustomer: + minimum: 0 + format: int32 + description: The redemption limit per customer. + example: 0 + type: integer + limitPerTimeFrame: + description: The redemption limit per time frame. + example: + redemptionTimeFrame: 24 + limit: 1 + allOf: + - $ref: '#/components/schemas/RedemptionLimitPerPeriod' + type: object + required: + - limitPerCode + - limitPerCustomer + - limitPerTimeFrame + CouponSystemCodeConfig: + type: object + required: + - codePrefix + - numberOfCodes + additionalProperties: false + properties: + codePrefix: + description: The code prefix for system-generated coupon codes. + example: SG + type: string + numberOfCodes: + format: int32 + description: The number of system coupon codes that can be issued. + example: 50000 + type: integer + Coupon: + description: Document representing a coupon. + type: object + required: + - couponId + - enabled + - type + additionalProperties: false + properties: + couponId: + minLength: 1 + maxLength: 256 + description: The ID of the coupon. + example: MyCoupon + type: string + creationDate: + description: Returns the value of attribute 'creationDate'. + example: '2019-10-20T12:00:00Z' + type: string + format: date-time + description: + maxLength: 4000 + description: The description of the coupon. + example: | + This coupon is used to give 10% off stuff. + type: string + enabled: + description: A flag indicating whether the coupon is enabled. + example: false + type: boolean + exportedCodeCount: + format: int32 + description: The number of coupon codes attached to the coupon that have been issued (read only). + example: 0 + type: integer + lastModified: + description: Returns the value of attribute 'lastModified'. + example: '2019-10-30T04:23:59Z' + type: string + format: date-time + redemptionCount: + format: int32 + description: The number of times the coupon has been redeemed (read only). The count is updated once per hour. + example: 3 + type: integer + redemptionLimits: + description: The redemption limit per coupon code. + allOf: + - $ref: '#/components/schemas/RedemptionLimits' + example: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: + minLength: 1 + maxLength: 256 + description: Single coupon code, only valid for Single Code type. + example: MyCode + type: string + systemCodesConfig: + description: The configuration of system coupon codes, including prefix and number of codes. + example: + codePrefix: SG + numberOfCodes: 500000 + allOf: + - $ref: '#/components/schemas/CouponSystemCodeConfig' + totalCodesCount: + format: int32 + description: The total number of coupon codes associated with this coupon (read only). The count is updated once per hour. + example: 50 + type: integer + type: + description: The type of coupon code. + example: single_code + enum: + - single_code + - multiple_codes + - system_codes + type: string + CouponSearchResult: + description: Document representing a coupon search result. + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + description: The sorted array of coupon search hits. Can be empty. + type: array + items: + $ref: '#/components/schemas/Coupon' + type: object + required: + - hits + CouponRedemption: + description: A redemption record returned from the coupon redemption resources. + additionalProperties: false + type: object + required: + - code + - couponId + - creationDate + - customerEmail + - orderNo + - viewOrderUrl + properties: + code: + description: The coupon code that was redeemed. + type: string + couponId: + description: The coupon id that was redeemed. + type: string + creationDate: + description: Date when the redemption was created. + type: string + format: date-time + customerEmail: + description: The customer email that was used to redeem it. + type: string + orderNo: + description: The order number where the redemption occurred. + type: string + viewOrderUrl: + description: A URL able to access the order. + type: string + CouponRedemptionSearchResult: + description: The result of the coupon redemption search. + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + description: The array of coupon redemption search hits. Can be empty. + type: array + items: + $ref: '#/components/schemas/CouponRedemption' + type: object + required: + - hits + CouponCodeRedemptionRequest: + description: Document representing a request to redeem a coupon. + type: object + required: + - code + - orderNo + additionalProperties: false + properties: + code: + description: The coupon code to redeem. + example: Code1 + type: string + customerEmail: + description: The customer email to use on the redemption. + example: shopper@salesforce-test.com + type: string + orderNo: + description: "The order number to use on the redemption. In case the coupon \nwas redeemed externally and no order number is associated, use \na reference id or custom string to identify the source of the \nredemption.\n" + example: 00023120@store4 + type: string + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + CouponCode: + description: A coupon code with accompanying stats for redemptions and issues. + type: object + required: + - code + - issued + - redemptionCount + additionalProperties: false + properties: + code: + description: The code used to redeem the coupon. + example: MyCode + type: string + issued: + description: Flag indicating if the coupon code has been issued. + example: true + type: boolean + redemptionCount: + format: int32 + description: The count of the number of redemptions associated with the code. + example: 1 + type: integer + CouponCodes: + description: Document representing a set of coupon codes. + type: object + required: + - data + - total + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + description: The collection of coupon codes. + example: + - code: Code1 + issued: false + redemptionCount: 0 + type: array + items: + $ref: '#/components/schemas/CouponCode' + CouponMultiCodesRequest: + description: A request object to add and remove coupon codes from a document. + type: object + additionalProperties: false + required: + - codes + properties: + codes: + description: The list of coupon codes to add or delete. + example: + - CodeA + - CodeB + type: array + items: + type: string + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + couponId: + name: couponId + in: path + description: The ID of the coupon to create. + required: true + schema: + minLength: 1 + type: string + delete: + name: delete + in: query + description: Pass as true to delete the passed codes. + required: false + schema: + type: boolean + default: false + examples: + PostRedeemCoupon: + value: + code: Code1 + customerEmail: shopper@salesforce-test.com + orderNo: 00023120@store4 + CouponCodeNotRedeemable400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-code-not-redeemable + title: Coupon Code Not Redeemable + detail: The coupon code 'CODE374' in site 'RefArch' is not redeemable because 'COUPON_DISABLED'. + errorCode: COUPON_DISABLED + couponCode: CODE374 + siteId: RefArch + CouponCodeNotFound404: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-not-found + title: Coupon Not Found + detail: No coupon for the given coupon code 'CODE374' and site 'RefArch' could be found. + couponCode: CODE374 + siteId: RefArch + Coupon: + value: + couponId: MyCoupon + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 0 + limitPerCustomer: 0 + limitPerTimeFrame: + redemptionTimeFrame: 24 + limit: 1 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 50000 + totalCodesCount: 50 + type: single_code + CouponNotFound404: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-not-found + title: Coupon Not Found + detail: No coupon with ID 'foo' for site 'RefArch' could be found. + couponId: foo + siteId: RefArch + CouponCodeDuplicate400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-code-duplicate + title: Coupon Code Duplicate + detail: The coupon code 'bar' is already used in coupon 'foo'. Please make sure the code is unique. + couponId: foo + couponCode: bar + SiteAccessForbidden403: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/site-access-forbidden + title: Site Access Forbidden + detail: Site-specific access via '/s/RefArch/' isn't allowed. Organization-specific access is expected via '/s/-/'. + siteId: RefArch + UpdateCoupon: + value: + couponId: MyCoupon + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 0 + limitPerCustomer: 0 + limitPerTimeFrame: + redemptionTimeFrame: 24 + limit: 1 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 50000 + totalCodesCount: 50 + type: single_code + LegacyCouponCoupon403: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-legacy-update-forbidden + title: Coupon Legacy Update Forbidden + detail: The coupon 'foo' can't be modified because it was created before Release 16.7.2. Customers can still redeem this coupon code on the Storefront. + couponId: foo + GetCouponCodes: + value: + limit: 3 + offset: 0 + total: 50 + data: + - code: CodeA + issued: false + redemptionCount: 0 + - code: CodeB + issued: false + redemptionCount: 0 + - code: CodeC + issued: false + redemptionCount: 0 + CouponCodeCreate400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-code-create + title: Coupon Code Create + detail: The coupon code 'bar' couldn't be created. Please make sure the code is valid. + couponCode: bar diff --git a/apis/coupons-oas/coupons-oas-1.0.38/coupons-oas-v1-public.yaml b/apis/coupons-oas/coupons-oas-1.0.38/coupons-oas-v1-public.yaml new file mode 100644 index 00000000..52654b1c --- /dev/null +++ b/apis/coupons-oas/coupons-oas-1.0.38/coupons-oas-v1-public.yaml @@ -0,0 +1,1470 @@ +openapi: 3.0.3 +info: + title: Coupons + version: v1 + description: |- + # API Overview + + Use the Coupons API to create, modify, retrieve, and delete coupons for a given channel. You can also use it to create and retrieve coupon codes using a couponID. + + Coupons _must_ be added as a qualifier to a campaign before they can be used. + + For more information, see [Using Coupons as Qualifiers](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Promotions/UsingCouponsasQualifiers.html) in the Salesforce B2C Commerce Infocenter. + + ## Authentication & Authorization + + The client requesting the coupon's information must have access to the Coupon resource. For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request. The client must first authenticate against Account manager to log in. + + You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + For detailed setup instructions, see [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html). + + ## Use Cases + + ### Single-Use Coupon + + Single-use coupons are your standard coupons, which you can only use once per customer. + + For example, use the Coupons API to create a coupon with a single coupon code that can be applied only once per order per customer. + + ### Multiple-Use Coupon + + A multiple-use coupon can be used any number of times by any number of customers. + + For example, use the Coupons API to create a coupon that can be applied once per order and has system-generated codes. + + ### Search Coupon + + Use the Coupons API to search for coupons using simple or complex querying. + + ### Search Coupon Redemptions + + Use the Coupons API to search for coupon redemptions using simple or complex querying. + + For more detail, see [Coupon Redemption](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Coupons/CouponRedemption.html) in the Salesforce B2C Commerce Infocenter. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/coupons/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/coupons: + post: + summary: Search for coupons. + description: |- + The Coupon Search document contains a search object that allows filtering on various attributes. + + The following searchable query attributes can be used to narrow the search: + + | Attribute | Type | + |-----------|--------| + | couponId| String | + | description | String | + | type | one of {"single_code", "multiple_codes", "system_codes"} | + | enabled | Boolean | + + Note that only searchable attributes can be used in sorting. + operationId: couponsSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + responses: + '200': + description: Coupon information successfully retrieved. + content: + application/json: + schema: + $ref: '#/components/schemas/CouponSearchResult' + '400': + description: Thrown when the query is ill-formed. + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + /organizations/{organizationId}/coupons/redemptions: + post: + summary: Search for coupon redemptions. + description: |- + The Coupon Redemption Search document contains a search object that allows filtering on various attributes. + + + The following searchable query attributes can be used to narrow down the search: + + | Attribute | Type | + |-----------|--------| + | code| String | + | couponId | String | + | customerEmail | String | + | orderNo | String | + + Note that only searchable attributes can be used in sorting. + + If the user role does not have the `View_Coupon_Codes` permission, then the returned coupon codes are masked. + operationId: couponRedemptionsSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + responses: + '200': + description: Coupon redemption information successfully retrieved. + content: + application/json: + schema: + $ref: '#/components/schemas/CouponRedemptionSearchResult' + '400': + description: Thrown when the query is ill-formed. + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + /organizations/{organizationId}/coupons/actions/redeem: + post: + summary: Redeem a coupon code for an existing coupon for the specified site. + description: |- + The coupon code must be redeemable. + --- + ***Note: Coupon redemptions are evaluated during checkout. A large number of coupon redemptions negatively impacts order creation performance and scale.*** + 1. Avoid importing unnecessary coupon redemptions. + 2. Clean up coupon codes and related redemptions when they are no longer required. + --- + operationId: redeemCoupon + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CouponCodeRedemptionRequest' + examples: + PostRedeemCoupon: + $ref: '#/components/examples/PostRedeemCoupon' + responses: + '201': + description: | + Coupon was successfully redeemed and a redemption record created. + '400': + description: | + Thrown when the coupon code can not be redeemed, for example, if it is disabled, + already redeemed, if the redemption limit (maximum number or timeframe) is + exceeded or if it has no assigned active promotion. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdConflict400: + $ref: '#/components/examples/CouponCodeNotRedeemable400' + '404': + description: | + Thrown when the site does not contain a coupon, which + defines whether the coupon code requested can be redeemed. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdConflict400: + $ref: '#/components/examples/CouponCodeNotFound404' + security: + - AmOAuth2: + - sfcc.promotions.rw + /organizations/{organizationId}/coupons/{couponId}: + get: + summary: Return coupon information for the specified coupon ID. + description: If the user role does not have the View_Coupon_Codes permission, then the returned coupon codes are masked. + operationId: getCoupon + parameters: + - $ref: '#/components/parameters/couponId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Coupon information for the specified coupon ID successfully returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Coupon' + examples: + GetCoupon: + $ref: '#/components/examples/Coupon' + '404': + description: | + Thrown when the coupon does not exist matching the given ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCoupon404: + $ref: '#/components/examples/CouponNotFound404' + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + put: + summary: |- + Create a coupon using the information provided. If a coupon with the specified identifier already exists, + the existing coupon is replaced. + operationId: createCoupon + parameters: + - $ref: '#/components/parameters/couponId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Coupon' + responses: + '200': + description: Coupon successfully created. + content: + application/json: + schema: + $ref: '#/components/schemas/Coupon' + examples: + CreateCoupon: + $ref: '#/components/examples/Coupon' + '400': + description: |- + Thrown when the coupon passed is not valid (the argument indicates + which field is invalid). + Possible reasons: + - The code provided is in use by another coupon. + - A single code coupon set the coupon code improperly. + - The ID in the request does not match the ID in the document. + - A quota for system-generated coupons is violated. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CouponCodeDuplicate400: + $ref: '#/components/examples/CouponCodeDuplicate400' + '403': + description: Thrown when the resource requires global context instead of site-specific context. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + createCoupon403: + $ref: '#/components/examples/SiteAccessForbidden403' + security: + - AmOAuth2: + - sfcc.promotions.rw + delete: + summary: Delete a coupon with a specified ID. + operationId: deleteCoupon + parameters: + - $ref: '#/components/parameters/couponId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: Coupon successfully deleted. + security: + - AmOAuth2: + - sfcc.promotions.rw + patch: + summary: Update a coupon with the specified information. + operationId: updateCoupon + parameters: + - $ref: '#/components/parameters/couponId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Coupon' + responses: + '200': + description: Coupon successfully updated. + content: + application/json: + schema: + $ref: '#/components/schemas/Coupon' + examples: + UpdateCoupon: + $ref: '#/components/examples/UpdateCoupon' + '400': + description: |- + Possible reasons: + - Cannot update certain fields in a coupon after redeeming it or exporting it + - The code provided is in use by another coupon. + - A quota for system-generated coupons is violated. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + updateCoupon400: + $ref: '#/components/examples/CouponCodeDuplicate400' + '403': + description: Thrown when trying to update a broken coupon that should be deleted and re-created, or when trying to update a legacy coupon. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + updateCoupon403: + $ref: '#/components/examples/LegacyCouponCoupon403' + security: + - AmOAuth2: + - sfcc.promotions.rw + /organizations/{organizationId}/coupons/{couponId}/codes: + get: + summary: |- + Get the coupon codes for the given coupon. + + If the user role does not have the View_Coupon_Codes permission, then the coupon codes returned are masked. + operationId: getCouponCodes + parameters: + - $ref: '#/components/parameters/couponId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Coupon codes successfully retrieved. + content: + application/json: + schema: + $ref: '#/components/schemas/CouponCodes' + examples: + GetCouponCodes: + $ref: '#/components/examples/GetCouponCodes' + '404': + description: | + Thrown when the coupon does not exist matching the given ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CouponNotFound: + $ref: '#/components/examples/CouponNotFound404' + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + post: + summary: Add or delete (modify) multiple codes to and from the supplied coupon. + operationId: updateCouponCodes + parameters: + - $ref: '#/components/parameters/couponId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/delete' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CouponMultiCodesRequest' + responses: + '204': + description: Coupon codes successfully updated - this is also returned if we try to add an already existing code or to delete a non-existing code. + '400': + description: Thrown when the coupon code could not be created. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + updateCoupon400: + $ref: '#/components/examples/CouponCodeCreate400' + '404': + description: | + Thrown if the coupon does not exist matching the given ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CouponNotFound404: + $ref: '#/components/examples/CouponNotFound404' + security: + - AmOAuth2: + - sfcc.promotions.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + RedemptionLimitPerPeriod: + description: Document representing a coupon redemption limit. + type: object + additionalProperties: false + required: + - limit + - redemptionTimeFrame + properties: + limit: + minimum: 0 + format: int32 + description: The limit on the number of times a coupon can be redeemed for a specified redemption time period. + example: 1 + type: integer + redemptionTimeFrame: + minimum: 0 + maximum: 999 + format: int32 + description: The redemption time period. + example: 24 + type: integer + RedemptionLimits: + description: Document representing a coupon. + additionalProperties: false + properties: + limitPerCode: + minimum: 0 + format: int32 + description: The redemption limit per code. + example: 0 + type: integer + limitPerCustomer: + minimum: 0 + format: int32 + description: The redemption limit per customer. + example: 0 + type: integer + limitPerTimeFrame: + description: The redemption limit per time frame. + example: + redemptionTimeFrame: 24 + limit: 1 + allOf: + - $ref: '#/components/schemas/RedemptionLimitPerPeriod' + type: object + required: + - limitPerCode + - limitPerCustomer + - limitPerTimeFrame + CouponSystemCodeConfig: + type: object + required: + - codePrefix + - numberOfCodes + additionalProperties: false + properties: + codePrefix: + description: The code prefix for system-generated coupon codes. + example: SG + type: string + numberOfCodes: + format: int32 + description: The number of system coupon codes that can be issued. + example: 50000 + type: integer + Coupon: + description: Document representing a coupon. + type: object + required: + - couponId + - enabled + - type + additionalProperties: false + properties: + couponId: + minLength: 1 + maxLength: 256 + description: The ID of the coupon. + example: MyCoupon + type: string + creationDate: + description: Returns the value of attribute 'creationDate'. + example: '2019-10-20T12:00:00Z' + type: string + format: date-time + description: + maxLength: 4000 + description: The description of the coupon. + example: | + This coupon is used to give 10% off stuff. + type: string + enabled: + description: A flag indicating whether the coupon is enabled. + example: false + type: boolean + exportedCodeCount: + format: int32 + description: The number of coupon codes attached to the coupon that have been issued (read only). + example: 0 + type: integer + lastModified: + description: Returns the value of attribute 'lastModified'. + example: '2019-10-30T04:23:59Z' + type: string + format: date-time + redemptionCount: + format: int32 + description: The number of times the coupon has been redeemed (read only). The count is updated once per hour. + example: 3 + type: integer + redemptionLimits: + description: The redemption limit per coupon code. + allOf: + - $ref: '#/components/schemas/RedemptionLimits' + example: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: + minLength: 1 + maxLength: 256 + description: Single coupon code, only valid for Single Code type. + example: MyCode + type: string + systemCodesConfig: + description: The configuration of system coupon codes, including prefix and number of codes. + example: + codePrefix: SG + numberOfCodes: 500000 + allOf: + - $ref: '#/components/schemas/CouponSystemCodeConfig' + totalCodesCount: + format: int32 + description: The total number of coupon codes associated with this coupon (read only). The count is updated once per hour. + example: 50 + type: integer + type: + description: The type of coupon code. + example: single_code + enum: + - single_code + - multiple_codes + - system_codes + type: string + CouponSearchResult: + description: Document representing a coupon search result. + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + description: The sorted array of coupon search hits. Can be empty. + type: array + items: + $ref: '#/components/schemas/Coupon' + type: object + required: + - hits + CouponRedemption: + description: A redemption record returned from the coupon redemption resources. + additionalProperties: false + type: object + required: + - code + - couponId + - creationDate + - customerEmail + - orderNo + - viewOrderUrl + properties: + code: + description: The coupon code that was redeemed. + type: string + couponId: + description: The coupon id that was redeemed. + type: string + creationDate: + description: Date when the redemption was created. + type: string + format: date-time + customerEmail: + description: The customer email that was used to redeem it. + type: string + orderNo: + description: The order number where the redemption occurred. + type: string + viewOrderUrl: + description: A URL able to access the order. + type: string + CouponRedemptionSearchResult: + description: The result of the coupon redemption search. + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + description: The array of coupon redemption search hits. Can be empty. + type: array + items: + $ref: '#/components/schemas/CouponRedemption' + type: object + required: + - hits + CouponCodeRedemptionRequest: + description: Document representing a request to redeem a coupon. + type: object + required: + - code + - orderNo + additionalProperties: false + properties: + code: + description: The coupon code to redeem. + example: Code1 + type: string + customerEmail: + description: The customer email to use on the redemption. + example: shopper@salesforce-test.com + type: string + orderNo: + description: "The order number to use on the redemption. In case the coupon \nwas redeemed externally and no order number is associated, use \na reference id or custom string to identify the source of the \nredemption.\n" + example: 00023120@store4 + type: string + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + CouponCode: + description: A coupon code with accompanying stats for redemptions and issues. + type: object + required: + - code + - issued + - redemptionCount + additionalProperties: false + properties: + code: + description: The code used to redeem the coupon. + example: MyCode + type: string + issued: + description: Flag indicating if the coupon code has been issued. + example: true + type: boolean + redemptionCount: + format: int32 + description: The count of the number of redemptions associated with the code. + example: 1 + type: integer + CouponCodes: + description: Document representing a set of coupon codes. + type: object + required: + - data + - total + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + description: The collection of coupon codes. + example: + - code: Code1 + issued: false + redemptionCount: 0 + type: array + items: + $ref: '#/components/schemas/CouponCode' + CouponMultiCodesRequest: + description: A request object to add and remove coupon codes from a document. + type: object + additionalProperties: false + required: + - codes + properties: + codes: + description: The list of coupon codes to add or delete. + example: + - CodeA + - CodeB + type: array + items: + type: string + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + couponId: + name: couponId + in: path + description: The ID of the coupon to create. + required: true + schema: + minLength: 1 + type: string + delete: + name: delete + in: query + description: Pass as true to delete the passed codes. + required: false + schema: + type: boolean + default: false + examples: + PostRedeemCoupon: + value: + code: Code1 + customerEmail: shopper@salesforce-test.com + orderNo: 00023120@store4 + CouponCodeNotRedeemable400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-code-not-redeemable + title: Coupon Code Not Redeemable + detail: The coupon code 'CODE374' in site 'RefArch' is not redeemable because 'COUPON_DISABLED'. + errorCode: COUPON_DISABLED + couponCode: CODE374 + siteId: RefArch + CouponCodeNotFound404: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-not-found + title: Coupon Not Found + detail: No coupon for the given coupon code 'CODE374' and site 'RefArch' could be found. + couponCode: CODE374 + siteId: RefArch + Coupon: + value: + couponId: MyCoupon + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 0 + limitPerCustomer: 0 + limitPerTimeFrame: + redemptionTimeFrame: 24 + limit: 1 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 50000 + totalCodesCount: 50 + type: single_code + CouponNotFound404: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-not-found + title: Coupon Not Found + detail: No coupon with ID 'foo' for site 'RefArch' could be found. + couponId: foo + siteId: RefArch + CouponCodeDuplicate400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-code-duplicate + title: Coupon Code Duplicate + detail: The coupon code 'bar' is already used in coupon 'foo'. Please make sure the code is unique. + couponId: foo + couponCode: bar + SiteAccessForbidden403: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/site-access-forbidden + title: Site Access Forbidden + detail: Site-specific access via '/s/RefArch/' isn't allowed. Organization-specific access is expected via '/s/-/'. + siteId: RefArch + UpdateCoupon: + value: + couponId: MyCoupon + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 0 + limitPerCustomer: 0 + limitPerTimeFrame: + redemptionTimeFrame: 24 + limit: 1 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 50000 + totalCodesCount: 50 + type: single_code + LegacyCouponCoupon403: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-legacy-update-forbidden + title: Coupon Legacy Update Forbidden + detail: The coupon 'foo' can't be modified because it was created before Release 16.7.2. Customers can still redeem this coupon code on the Storefront. + couponId: foo + GetCouponCodes: + value: + limit: 3 + offset: 0 + total: 50 + data: + - code: CodeA + issued: false + redemptionCount: 0 + - code: CodeB + issued: false + redemptionCount: 0 + - code: CodeC + issued: false + redemptionCount: 0 + CouponCodeCreate400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-code-create + title: Coupon Code Create + detail: The coupon code 'bar' couldn't be created. Please make sure the code is valid. + couponCode: bar diff --git a/apis/coupons-oas/coupons-oas-1.0.38/exchange.json b/apis/coupons-oas/coupons-oas-1.0.38/exchange.json new file mode 100644 index 00000000..282f791f --- /dev/null +++ b/apis/coupons-oas/coupons-oas-1.0.38/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "coupons-oas-v1-public.yaml", + "name": "Coupons OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "coupons-oas", + "version": "1.0.38", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/customer/customers/.metadata.json b/apis/customer/customers/.metadata.json deleted file mode 100644 index bab2c6f9..00000000 --- a/apis/customer/customers/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/customers/0.0.29", - "name": "Customers", - "description": "Manage customer information within a customer list.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "customers", - "version": "0.0.29", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Customer" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/customer/customers/Examples/address-get.raml b/apis/customer/customers/Examples/address-get.raml deleted file mode 100644 index b6b44cd3..00000000 --- a/apis/customer/customers/Examples/address-get.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "address1": "123 Trailblazer Ave.", - "address2": "", - "addressId": "HomeAddress", - "city": "San Francisco", - "companyName": "", - "countryCode": "US", - "firstName": "Wei", - "fullName": "Wei Leung", - "jobTitle": "", - "lastName": "Leung", - "phone": "", - "postalCode": "", - "postBox": "", - "salutation": "Ms.", - "secondName": "", - "state_code": "CA", - "suffix": "", - "suite": "", - "title": "" - } diff --git a/apis/customer/customers/Examples/addresses-body.raml b/apis/customer/customers/Examples/addresses-body.raml deleted file mode 100644 index 4f5a30b4..00000000 --- a/apis/customer/customers/Examples/addresses-body.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "addressId": "2", - "address1": "123 Trailblazer Ave.", - "postalCode": "94105", - "lastName": "Leung", - "title": "", - "salutation": "Ms", - "companyName": "Ursa Major Solar", - "secondName": "", - "phone": "415-555-1212", - "countryCode": "US", - "city": "San Francisco", - "address2": "", - "firstName": "Wei", - "jobTitle": "", - "stateCode": "CA" - } - diff --git a/apis/customer/customers/Examples/addresses-get.raml b/apis/customer/customers/Examples/addresses-get.raml deleted file mode 100644 index eaacb8d8..00000000 --- a/apis/customer/customers/Examples/addresses-get.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 1, - "data": [ - { - "addressId": "1", - "city": "San Francisco", - "companyName": "Ursa Major Solar", - "countryCode": "US", - "creationDate": "2019-09-23T16:14:07.000Z", - "etag": "d288bfd83f75b23640b4bbab2b0d3f65a5c5e934dab818f2246b7c1aed5672f8", - "firstName": "Wei", - "fullName": "Leung", - "jobTitle": "", - "lastModified": "2019-09-23T16:23:19.000Z", - "lastName": "Leung", - "phone": "415-555-1212", - "postalCode": "94105", - "salutation": "Ms", - "secondName": "", - "stateCode": "CA" - } - ], - "offset": 0, - "total": 1 - } \ No newline at end of file diff --git a/apis/customer/customers/Examples/addresses-post.raml b/apis/customer/customers/Examples/addresses-post.raml deleted file mode 100644 index 95835d82..00000000 --- a/apis/customer/customers/Examples/addresses-post.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "addressId": "3", - "city": "San Francisco", - "companyName": "Ursa Major Solar", - "countryCode": "US", - "creationDate": "2019-09-23T20:49:38.370Z", - "etag": "8772fd1c59fed8313a6c1ad260544c116dc0af4bc13941957173244edba47d31", - "firstName": "Wei", - "fullName": "Wei Leung", - "jobTitle": "", - "lastModified": "2019-09-23T20:49:38.372Z", - "lastName": "Leung", - "phone": "415-555-1212", - "postalCode": "94105", - "salutation": "Ms", - "secondName": "", - "stateCode": "CA" - } diff --git a/apis/customer/customers/Examples/customer-list-get.raml b/apis/customer/customers/Examples/customer-list-get.raml deleted file mode 100644 index dcf65cc3..00000000 --- a/apis/customer/customers/Examples/customer-list-get.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "SiteGenesis" - } \ No newline at end of file diff --git a/apis/customer/customers/Examples/customerGroupSearchResult.raml b/apis/customer/customers/Examples/customerGroupSearchResult.raml deleted file mode 100644 index 42d4219e..00000000 --- a/apis/customer/customers/Examples/customerGroupSearchResult.raml +++ /dev/null @@ -1,29 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 1, - "hits": [ - { - "creationDate": "2020-01-09T16:50:32.000Z", - "description": "Big Spenders", - "id": "Big Spenders", - "inDeletion": false, - "lastModified": "2020-01-09T16:50:32.000Z", - "memberCount": 109, - "rule": { - "description": "Customers who spend more than $1000 in the last month" - }, - "type": "dynamic" - } - ], - "query": { - "textQuery": { - "fields": [ - "id" - ], - "searchPhrase": "Big" - } - }, - "offset": 0, - "total": 1 - } \ No newline at end of file diff --git a/apis/customer/customers/Examples/customerSearchBody.raml b/apis/customer/customers/Examples/customerSearchBody.raml deleted file mode 100644 index 14beeec6..00000000 --- a/apis/customer/customers/Examples/customerSearchBody.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 2, - "offset": 50, - "query": { - "textQuery": { - "fields": [ - "credentials.login" - ], - "searchPhrase": "wleung" - } - } - } \ No newline at end of file diff --git a/apis/customer/customers/Examples/customerSearchResult.raml b/apis/customer/customers/Examples/customerSearchResult.raml deleted file mode 100644 index 1f398ea5..00000000 --- a/apis/customer/customers/Examples/customerSearchResult.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 1, - "hits": [ - { - "data": { - "customerNo": "00004501", - "lastName": "Leung" - }, - "relevance": 4.075775146484375 - } - ], - "query": { - "textQuery": { - "fields": [ - "credentials.login" - ], - "searchPhrase": "wleung" - } - }, - "offset": 0, - "total": 1 - } \ No newline at end of file diff --git a/apis/customer/customers/Examples/post-customer-body.raml b/apis/customer/customers/Examples/post-customer-body.raml deleted file mode 100644 index 3bd1310d..00000000 --- a/apis/customer/customers/Examples/post-customer-body.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "credentials": { - "enabled": true, - "locked": false, - "login": "wleung", - "passwordQuestion": "" - }, - "lastName": "Leung", - "customerNo": "00005002" - } - \ No newline at end of file diff --git a/apis/customer/customers/Examples/post-customers.raml b/apis/customer/customers/Examples/post-customers.raml deleted file mode 100644 index 81affc85..00000000 --- a/apis/customer/customers/Examples/post-customers.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "creationDate": "2019-09-23T19:46:07.412Z", - "credentials": { - "enabled": true, - "locked": false, - "login": "wleung" - }, - "customerId": "adg2p1zObo8JDt3iXZCNIZBcai", - "customerNo": "00005001", - "lastModified": "2019-09-23T19:46:07.417Z", - "lastName": "Leung" - } - \ No newline at end of file diff --git a/apis/customer/customers/Traits/AlreadyExists.raml b/apis/customer/customers/Traits/AlreadyExists.raml deleted file mode 100644 index b94d287f..00000000 --- a/apis/customer/customers/Traits/AlreadyExists.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 409 conflict in Data Customer Groups API. -responses: - '409': - description: Conflict. This error is thrown when attempting to create a record that already exists. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Customer Group Already Exists", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-group-already-exits", - "detail": "The customer group with ID 'test_customergroup' already exists", - "customerGroupId": "test_customergroup" - } \ No newline at end of file diff --git a/apis/customer/customers/Traits/BadRequest.raml b/apis/customer/customers/Traits/BadRequest.raml deleted file mode 100644 index b7c23fd3..00000000 --- a/apis/customer/customers/Traits/BadRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Customers API. -responses: - 400: - description: | - Bad Request. Thrown in case a specified parameter value is unknown. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Bad Request", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-query-parameter", - "detail": "offset-BAD-REQUEST parameters are not defined in RAML." - } diff --git a/apis/customer/customers/Traits/CustomerGroupSearchBadRequest.raml b/apis/customer/customers/Traits/CustomerGroupSearchBadRequest.raml deleted file mode 100644 index 6c778326..00000000 --- a/apis/customer/customers/Traits/CustomerGroupSearchBadRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Customer Search API. -responses: - 400: - description: | - Bad Request. Thrown if the search term in term query does not match any of the customer group or if the query is ill-formed. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Customer Group Type Invalid", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-query-parameter", - "detail": "The customer group type 'stat' is invalid." - } diff --git a/apis/customer/customers/Traits/Forbidden.raml b/apis/customer/customers/Traits/Forbidden.raml deleted file mode 100644 index f9992084..00000000 --- a/apis/customer/customers/Traits/Forbidden.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 403 forbidden in Data Customer Groups API. -responses: - '403': - description: Forbidden. This error is thrown when attempting to delete a system customer group. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "System Customer Group Create Forbidden", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/system-customer-group-create-forbidden", - "detail": "The creation of system customer group with ID 'test_customergroup' is not allowed", - "customerGroupId": "test_customergroup" - } \ No newline at end of file diff --git a/apis/customer/customers/Traits/NotFound.raml b/apis/customer/customers/Traits/NotFound.raml deleted file mode 100644 index c35db0b3..00000000 --- a/apis/customer/customers/Traits/NotFound.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 not found in Data Customer Groups API. -responses: - '404': - description: Not Found. This error is thrown if the ID does not match any of the customer group sites or if the ID is ill-formed. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Customer List Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-list-not-found", - "detail": "No customer list with ID 'SiteGenesis-NOT-FOUND' could be found.", - "customerListId": "SiteGenesis-NOT-FOUND" - } diff --git a/apis/customer/customers/Traits/Unauthorized.raml b/apis/customer/customers/Traits/Unauthorized.raml deleted file mode 100644 index 8fee692d..00000000 --- a/apis/customer/customers/Traits/Unauthorized.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 401 response in Data Catalogs when an invalid client_id is passed. - - - -responses: - 401: - description: | - Unauthorized. Your Client ID is invalid, or you are not allowed to access - the content provided by the requested URL. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "hbGciOiJIUzI1NiIsInR5cCI6Ikp" - } \ No newline at end of file diff --git a/apis/customer/customers/customers-description.md b/apis/customer/customers/customers-description.md deleted file mode 100644 index 5fb4b874..00000000 --- a/apis/customer/customers/customers-description.md +++ /dev/null @@ -1,9 +0,0 @@ -# API Overview - -The Customers API enables you to search for and manage customer information within a customer list. It also enables you to search for customer groups. - -Once you find the customer, you can also use the API to manage customer addresses. - -The `customerNo` is created when you create a shopper record. You can create a shopper record using the Customers API or Business Manager. For details, see [registerCustomer](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-customers?meta=registerCustomer) and [Create and Manage Customer Records](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-customer-records.html?q=create%20customer). - -![b2c-commerce-customers-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-customers-screenshot-1.png) diff --git a/apis/customer/customers/customers.raml b/apis/customer/customers/customers.raml deleted file mode 100644 index 997d554a..00000000 --- a/apis/customer/customers/customers.raml +++ /dev/null @@ -1,744 +0,0 @@ -#%RAML 1.0 -title: Customers -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/customer/customers/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include customers-description.md - -uses: - CustomerListsTraits: data-customer-traits-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Credentials: - description: Document representing the credentials of a customer. - properties: - enabled: - description: A flag indicating whether the customer is enabled and can log in. - type: boolean - required: false - example: true - locked: - description: A flag indicating whether the customer account is locked. - type: boolean - required: false - example: false - login: - description: The login of the customer. - maxLength: 256 - type: string - example: "wleung" - passwordQuestion: - description: The password question. - maxLength: 256 - type: string - required: false - example: "Pet Name?" - Customer: - description: Person or entity who shops on Commerce Cloud storefronts by creating a shopper account in Commerce Cloud. - properties: - birthday: - description: The customer's birthday. - type: date-only - required: false - example: 1999-12-31 - companyName: - description: The customer's company name. - maxLength: 256 - type: string - required: false - example: "Ursa Major Solar" - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - credentials: - description: The customer's credentials. - type: Credentials - required: false - customerId: - description: |- - The customer's ID. Both registered and guest customers have a - customer ID. - maxLength: 28 - type: string - required: false - example: "wleung" - customerNo: - description: The customer's number. - maxLength: 100 - type: string - example: "D100201" - email: - description: The customer's email address. - maxLength: 256 - type: string - required: false - example: "wleung@example.com" - fax: - description: |- - The customer's fax number. - The length is restricted to 32 characters. - maxLength: 32 - type: string - required: false - example: "415-555-1213" - firstName: - description: The customer's first name. - maxLength: 256 - type: string - required: false - example: "Wei" - gender: - description: The customer's gender. - type: integer - format: int32 - required: false - example: 2 - jobTitle: - description: The customer's job title. - maxLength: 256 - type: string - required: false - example: "" - lastLoginTime: - description: The last login time of the customer. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - lastName: - description: The customer's last name. - maxLength: 256 - type: string - example: "Leung" - lastVisitTime: - description: The last visit time of the customer. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - phoneBusiness: - description: The customer's business phone number. - maxLength: 32 - type: string - required: false - example: "" - phoneHome: - description: The customer's home phone number. - maxLength: 32 - type: string - required: false - example: "415-555-1211" - phoneMobile: - description: The customer's mobile phone number. - maxLength: 32 - type: string - required: false - example: "415-555-1212" - preferredLocale: - description: The customer's preferred locale. - type: string - required: false - example: "en_US" - previousLoginTime: - description: The time when the customer previously logged in. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - previousVisitTime: - description: The time when the customer previously visited the store. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - primaryAddress: - description: The customers primary or default address. - type: CustomerAddress - required: false - salutation: - description: The customer's salutation. - maxLength: 256 - type: string - required: false - example: "Ms." - secondName: - description: The customer's second name. - maxLength: 256 - type: string - required: false - example: "Leung" - suffix: - description: The customer's suffix (for example, "Jr." or "Sr."). - maxLength: 256 - type: string - required: false - example: "" - title: - description: The customer's title (for example, "Mrs" or "Mr"). - maxLength: 256 - type: string - required: false - example: "" - CustomerAddress: - description: Any address that is associated with a customer (billing, shipping, mailing, and so on). - properties: - address1: - description: The customer's first address. - maxLength: 256 - type: string - required: false - example: "123 Trailblazer Ave." - address2: - description: The customer's second address value. - maxLength: 256 - type: string - required: false - example: "" - addressId: - description: The customer address ID. - maxLength: 256 - type: string - example: "Home" - city: - description: The customer's city. - maxLength: 256 - type: string - required: false - example: "San Francisco" - companyName: - description: The customer's company name. - maxLength: 256 - type: string - required: false - example: "Ursa Major Solar" - countryCode: - description: The customer's two-character country code per ISO 3166-1 alpha-2. - maxLength: 2 - type: string - example: "US" - pattern: ^([A-Z][A-Z])$ - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - etag: - description: The generated eTag representing the state of the customer address. - type: string - required: false - firstName: - description: The customer's first name. - maxLength: 256 - type: string - required: false - example: "Wei" - fullName: - description: The concatenation of the customer's first, middle, last names, and suffix. - type: string - required: false - example: "Wei Leung" - jobTitle: - description: The customer's job title. - maxLength: 256 - type: string - required: false - example: "" - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - lastName: - description: The customer's last name. - maxLength: 256 - type: string - example: "Leung" - phone: - description: The customer's phone number. - maxLength: 32 - type: string - required: false - example: "415-555-1212" - postBox: - description: The customer's post box. - maxLength: 256 - type: string - required: false - example: "" - postalCode: - description: The customer's postal code. - maxLength: 256 - type: string - required: false - example: "94105" - salutation: - description: The customer's salutation. - maxLength: 256 - type: string - required: false - example: "Ms." - secondName: - description: The customer's second name. - maxLength: 256 - type: string - required: false - example: "Leung" - stateCode: - description: The customer's state. - maxLength: 256 - type: string - required: false - example: "CA" - suffix: - description: The customer's suffix. - maxLength: 256 - type: string - required: false - example: "" - suite: - description: The customer's suite. - maxLength: 32 - type: string - required: false - example: "" - title: - description: The customer's title. - maxLength: 256 - type: string - required: false - example: "" - CustomerAddressResult: - description: Result document containing an array of customer addresses. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - required: false - example: 10 - data: - description: The array of customer address documents. - type: CustomerAddress[] - required: false - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - required: false - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - required: false - example: 10 - CustomerList: - description: Document representing a customer list. - properties: - id: - description: The ID of the customer list. - minLength: 1 - type: string - example: "Site1CustomerList" - CustomerSearchHit: - description: Document representing a customer search hit. - properties: - data: - description: List of found customers. - type: Customer - relevance: - description: The hit's relevance score. - type: number - format: double - example: 1.0 - CustomerSearchResult: - description: Document representing a customer search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of search hits. Can be empty. - type: CustomerSearchHit[] - CustomerGroupRule: - description: Customer Group Rule - properties: - description: - description: Customer Group Rule description. Describing its conditions in natural language. - type: string - example: "Customers who spend more than $1000 in the last month" - CustomerGroup: - description: Document representing a customer group. - properties: - creationDate: - description: The date the customer group was created. - type: string - description: - description: Customer Group description. - type: string - example: "Customers who spent more than $1000 in last month" - id: - description: Customer Group id. - type: string - example: "Big Spenders" - inDeletion: - description: Boolean to indicate if the customer group is marked for deletion. - type: boolean - example: false - memberCount: - description: Number of members in the customer group - type: integer - example: 109 - rule: - description: Customer Group Rule - type: CustomerGroupRule - type: - description: Customer Group Type. - type: string - enum: - - system - - dynamic - - static - example: "static" - CustomerGroupSearchResult: - description: Document representing a customer group search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of search hits. Can be empty. - type: CustomerGroup[] -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /customer-lists: - /{customerListId}/customer-search: - post: - description: |- - Action to search for customers in a customer list. - The query attribute specifies a complex query that can be used to narrow down the search. These are the list - of searchable attributes: - - | Attribute | Type | - |-----------|--------| - | customerNo| String | - | firstName | String | - | secondName | String | - | lastName | String | - | suffix | String | - | salutation | String | - | title | String | - | fax| String | - | phoneHome | String | - | phoneBusiness | String | - | phoneMobile | String | - | email | String | - | gender | Integer | - | companyName | String | - | credentials.login | String | - | credentials.enabled | Boolean | - - - displayName: searchCustomerInCustomerList - is: - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.BadRequest - - CustomerListsTraits.NotFound - responses: - '200': - description: Success - body: - application/json: - type: CustomerSearchResult - examples: - result: !include Examples/customerSearchResult.raml - body: - application/json: - type: CommerceCloudStandards.SearchRequest - examples: - result: !include Examples/customerSearchBody.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists,sfcc.customerlists.rw] } - uriParameters: - customerListId: - description: The customer list ID to search in. - maxLength: 256 - minLength: 1 - type: string - example: "Site1CustomerList" - /{listId}/customers: - post: - description: | - Action to create a new customer. The customer is created using the specified credentials and customer - information. This action verifies the following: - - - Login acceptance criteria and uniqueness. - - Mandatory customer properties. - - If the action fails to create the customer, it returns a 400 fault with an appropriate message. - displayName: createCustomerList - is: - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - - CustomerListsTraits.BadRequest - responses: - '200': - description: Success - body: - application/json: - type: Customer - examples: - customers-result: !include Examples/post-customers.raml - body: - application/json: - type: Customer - examples: - body: !include Examples/post-customer-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists.rw] } - /{customerNo}: - delete: - description: Deletes the customer, including all related information like the customer addresses. - displayName: deleteCustomerFromCustomerList - is: - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - - CustomerListsTraits.BadRequest - responses: - '204': - description: No Content - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists.rw] } - get: - description: Action to get customer information. - displayName: getCustomerFromCustomerList - is: - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - - CustomerListsTraits.BadRequest - responses: - '200': - description: Success - body: - application/json: - type: Customer - examples: - get-customer: !include Examples/post-customers.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists,sfcc.customerlists.rw] } - patch: - description: |- - Updates the customer with the specified information. The customer number is allowed to be updated but results in a - CustomerNumberAlreadyInUseException if there is another customer with the same customer number existing. - displayName: updateCustomerInCustomerList - is: - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - - CustomerListsTraits.BadRequest - responses: - '200': - description: Success - body: - application/json: - type: Customer - examples: - patch-example: !include Examples/post-customers.raml - body: - application/json: - type: Customer - examples: - patch-body: !include Examples/post-customer-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists.rw] } - put: - description: | - Action to create a new customer. The customer is created using the specified customer number, credentials, and - customer information. This action verifies the following: - - - Login acceptance criteria and uniqueness. - - Mandatory customer properties. - - If the action fails to create the customer, it returns a 400 fault with an appropriate message. - displayName: createCustomerInCustomerList - is: - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - - CustomerListsTraits.BadRequest - responses: - '201': - description: Created - body: - application/json: - type: Customer - examples: - put-example: !include Examples/post-customers.raml - '200': - description: Success - body: - application/json: - type: Customer - examples: - put-example: !include Examples/post-customers.raml - body: - application/json: - type: Customer - examples: - put-body: !include Examples/post-customer-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists.rw] } - uriParameters: - customerNo: - description: The customer number. - minLength: 1 - type: string - example: "D100201" - /addresses: - get: - description: |- - Action that returns a pageable list of all customer addresses. The - default page size is 10 customer addresses. - displayName: getAddressesForCustomerFromCustomerList - is: - - CustomerListsTraits.BadRequest - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - - CustomerListsTraits.offset-paginated: - maxLimit: 50 - defaultSize: 25 - responses: - '200': - description: Success - body: - application/json: - type: CustomerAddressResult - examples: - address-example: !include Examples/addresses-get.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists,sfcc.customerlists.rw] } - post: - description: |- - The action creates a new customer address with the given address - information. - displayName: createAddressForCustomerInCustomerList - is: - - CustomerListsTraits.BadRequest - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - responses: - '200': - description: Success - body: - application/json: - type: CustomerAddress - examples: - address-example: !include Examples/addresses-post.raml - body: - application/json: - type: CustomerAddress - examples: - address-body: !include Examples/addresses-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists.rw] } - /{addressId}: - get: - description: |- - Action that returns a single customer address from a customer list. - displayName: getAddressForCustomerFromCustomerList - is: - - CustomerListsTraits.BadRequest - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - responses: - '200': - description: Success - body: - application/json: - type: CustomerAddress - examples: - address-example: !include Examples/address-get.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists,sfcc.customerlists.rw] } - delete: - description: Action which deletes a customer address. - displayName: removeAddressForCustomerInCustomerList - is: - - CustomerListsTraits.BadRequest - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - responses: - '204': - description: No Content - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists.rw] } - patch: - description: Action which updates an address of a customer with the given address information. - displayName: updateAddressForCustomerInCustomerList - is: - - CustomerListsTraits.BadRequest - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - responses: - '200': - description: Success - body: - application/json: - type: CustomerAddress - examples: - address: !include Examples/addresses-post.raml - body: - application/json: - type: CustomerAddress - examples: - address-body: !include Examples/addresses-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists.rw] } - uriParameters: - addressId: - description: The address ID. - minLength: 1 - type: string - example: "Home" - /customer-group-search: - post: - description: |- - Search for customer groups in a given Site Id. - The query attribute specifies a complex query that can be used to narrow down the search. These are the list - of searchable attributes: - - | Attribute | Type | - |-----------|--------| - | id| String | - | description | String | - | type | String | - - Note: This endpoint is available with the B2C Commerce release 24.2. - - displayName: searchCustomerGroup - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.CustomerGroupSearchBadRequest - responses: - '200': - description: Success - body: - application/json: - type: CustomerGroupSearchResult - examples: - result: !include Examples/customerGroupSearchResult.raml - body: - application/json: - type: CommerceCloudStandards.SearchRequest - examples: - result: !include Examples/customerSearchBody.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customergroups,sfcc.customergroups.rw] } \ No newline at end of file diff --git a/apis/customer/customers/data-customer-traits-library.raml b/apis/customer/customers/data-customer-traits-library.raml deleted file mode 100644 index ce829faa..00000000 --- a/apis/customer/customers/data-customer-traits-library.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml -types: - ErrorResponse: ApiStandards.ErrorResponse - -traits: - AlreadyExists: !include Traits/AlreadyExists.raml - Unauthorized: !include Traits/Unauthorized.raml - BadRequest: !include Traits/BadRequest.raml - NotFound: !include Traits/NotFound.raml - Forbidden: !include Traits/Forbidden.raml - offset-paginated: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml - CustomerGroupSearchBadRequest: !include Traits/CustomerGroupSearchBadRequest.raml diff --git a/apis/customer/customers/exchange.json b/apis/customer/customers/exchange.json deleted file mode 100644 index 4f798d2d..00000000 --- a/apis/customer/customers/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "0.0.29", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "customers.raml", - "backwardsCompatible": false, - "assetId": "customers", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Customers", - "tags": [] -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/customer/shopper-context/.metadata.json b/apis/customer/shopper-context/.metadata.json deleted file mode 100644 index 46aa3bf5..00000000 --- a/apis/customer/shopper-context/.metadata.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-context/0.0.30", - "name": "Shopper Context", - "description": "The Shopper Context API enables developers to build highly contextualized shopping experiences for shoppers.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-context", - "version": "0.0.30", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Customer" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/customer/shopper-context/Examples/shopper-context-400-example.raml b/apis/customer/shopper-context/Examples/shopper-context-400-example.raml deleted file mode 100644 index 151bc149..00000000 --- a/apis/customer/shopper-context/Examples/shopper-context-400-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/usid-not-matching-with-token", - "detail": "Usid in incoming request does not match Usid in token.", - "title": "Usid not matching with token" - } \ No newline at end of file diff --git a/apis/customer/shopper-context/Examples/shopper-context-401-example.raml b/apis/customer/shopper-context/Examples/shopper-context-401-example.raml deleted file mode 100644 index dc8c564a..00000000 --- a/apis/customer/shopper-context/Examples/shopper-context-401-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized", - "title": "Unauthorized", - "detail": "Your shopper JWT is invalid and could not be used to identify the API client." - } \ No newline at end of file diff --git a/apis/customer/shopper-context/Examples/shopper-context-403-example.raml b/apis/customer/shopper-context/Examples/shopper-context-403-example.raml deleted file mode 100644 index 4142bef5..00000000 --- a/apis/customer/shopper-context/Examples/shopper-context-403-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "Your shopper JWT is valid, but you have no permissions to access the resource." - } \ No newline at end of file diff --git a/apis/customer/shopper-context/Examples/shopper-context-404-example.raml b/apis/customer/shopper-context/Examples/shopper-context-404-example.raml deleted file mode 100644 index 15f05df2..00000000 --- a/apis/customer/shopper-context/Examples/shopper-context-404-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shopper-context-no-found", - "detail": "Shopper Context for ORGANIZATION_ID: f_ecom_bhbv_prd and USID: 7e1f65fb-185c-4788-8cec-05fef8dac77d not found in Repository.", - "title": "Shopper Context Not Found" - } \ No newline at end of file diff --git a/apis/customer/shopper-context/Examples/shopper-context-example.raml b/apis/customer/shopper-context/Examples/shopper-context-example.raml deleted file mode 100644 index 9292f3d2..00000000 --- a/apis/customer/shopper-context/Examples/shopper-context-example.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample -# This example is for shopper context request/response -value: - { - "effectiveDateTime": "2020-12-20T00:00:00Z", - "sourceCode": "wii1-98", - "customQualifiers" : - { - "deviceType": "mobile", - "ipAddress": "189.0.0.0", - "operatingSystem": "Android" - }, - "assignmentQualifiers" : - { - "store": "boston" - }, - "customerGroupIds" : [ "BigSpenders","MobileUsers" ], - "clientIp": "12.12.12.1" - } \ No newline at end of file diff --git a/apis/customer/shopper-context/Examples/shopper-context-update-request-example.raml b/apis/customer/shopper-context/Examples/shopper-context-update-request-example.raml deleted file mode 100644 index 1cf686b9..00000000 --- a/apis/customer/shopper-context/Examples/shopper-context-update-request-example.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 NamedExample -# This example is for shopper context request/response -value: - { - "effectiveDateTime": null, - "customQualifiers" : - { - "deviceType": "iPad", - "operatingSystem": null, - "storeId": "SLC1", - }, - "assignmentQualifiers" : - { - "store": "london" - }, - "clientIp": "12.12.12.1", - "geoLocation": { - "countryCode": "US", - "country": "United States of America", - "city": "Boston", - "postalCode": "01730", - "metroCode": "M234", - "region": "NA", - "regionCode": "12345", - "latitude": 10.11, - "longitude": 198.34 - } - } \ No newline at end of file diff --git a/apis/customer/shopper-context/Examples/shopper-context-update-response-example.raml b/apis/customer/shopper-context/Examples/shopper-context-update-response-example.raml deleted file mode 100644 index f14bc0e7..00000000 --- a/apis/customer/shopper-context/Examples/shopper-context-update-response-example.raml +++ /dev/null @@ -1,29 +0,0 @@ -#%RAML 1.0 NamedExample -# This example is for shopper context request/response -value: - { - "sourceCode": "wii1-98", - "customQualifiers" : - { - "deviceType": "iPad", - "ipAddress": "189.0.0.0", - "storeId": "SLC1" - }, - "assignmentQualifiers" : - { - "store": "london" - }, - "customerGroupIds" : [ "BigSpenders","MobileUsers" ], - "clientIp": "12.12.12.1", - "geoLocation": { - "countryCode": "US", - "country": "United States of America", - "city": "Boston", - "postalCode": "01730", - "metroCode": "M234", - "region": "NA", - "regionCode": "12345", - "latitude": 10.11, - "longitude": 198.34 - } - } \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange.json b/apis/customer/shopper-context/exchange.json deleted file mode 100644 index 45ae5e0d..00000000 --- a/apis/customer/shopper-context/exchange.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "0.0.30", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-context.raml", - "assetId": "shopper-context", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Context", - "tags": [] -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/customer/shopper-context/shopper-context-description.md b/apis/customer/shopper-context/shopper-context-description.md deleted file mode 100644 index a2b212ce..00000000 --- a/apis/customer/shopper-context/shopper-context-description.md +++ /dev/null @@ -1,35 +0,0 @@ -# API Overview - -With the Shopper Context API, you can set any context information as a key/value pair and use it to retrieve personalized promotions, payment methods, and shipping methods. The context information that is set is evaluated against the customer group definitions to determine a customer group (shopper segment) and is then used to activate the experiences that are associated with a particular segment, such as promotions. - -You can also get personalized API responses using Shopper Context in the [Open Commerce API](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/OCAPI/current/usage/OpenCommerceAPI.html) (OCAPI). Support for both the B2C Commerce API and OCAPI allows shopper context to be used in hybrid deployments. - -**Warning** -Access tokens whose scope includes the Shopper Context API are powerful: they can activate specific promotions and be used to see how a storefront would appear in the future. - -Recommended usage of Shopper Context is setting context using a secure backend channel with a private client. Do not make direct calls through a browser or similar client in which the data can be viewed. - -If you attempt to add a Shopper Context scope for a tenant when creating a new public client in SLAS, a warning message is displayed. - -**Note**: - -For guest shoppers, the context is valid for 1 day and for registered shoppers, 7 days. To extend the context set, create a new context. As a best practice, periodically refresh your contexts to ensure that the right personalized experience is rendered for your shoppers. - -With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` is required for all new customers, and a bad request response code is returned for requests without a `siteId`. - -## Authentication & Authorization - -To use the Shopper Context API, you must: - -- Get a JSON Web Token (JWT) for the Shopper Login and API Access Service (SLAS). -- Add `sfcc.shopper-context.rw` to the scopes configuration for the SLAS API client. - -For more information, see [Authorization for Shopper APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) in the Get Started guides. - -**Warning**: As with all APIs, never store access tokens in the browser because this creates a security vulnerability. - -## Use Cases - -To integrate Shopper Context API geolocation features with your storefront, see [Shopper Geolocation](https://developer.salesforce.com/docs/commerce/commerce-api/guide/shopper-context-geolocation.html). - -For additional usage information, see the [Shopper Context Guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/shopper-context-api.html). diff --git a/apis/customer/shopper-context/shopper-context.raml b/apis/customer/shopper-context/shopper-context.raml deleted file mode 100644 index 3dd90155..00000000 --- a/apis/customer/shopper-context/shopper-context.raml +++ /dev/null @@ -1,382 +0,0 @@ -#%RAML 1.0 -title: Shopper Context -description: !include shopper-context-description.md -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/shopper/shopper-context/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -traits: -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml -types: - ShopperContext: - description: A shoppers' context represented as key-value string pairs. - type: object - properties: - effectiveDateTime: - required: false - type: datetime | nil - description: Qualifier to set the effective date time for the context to apply. For example, "Shop the Future" use cases. If not provided, the current dateTime will be assumed. - sourceCode: - required: false - type: string | nil - description: Qualifier to set the source code for the context to apply. Set the source code to evaluate source code group that triggers the promotion (campaign assignment) and Price books (assigned to Source code group). - customerGroupIds: - required: false - type: array - description: Qualifier to set the Customer Group Ids for the context to apply. Set the Customer Group Ids to evaluate customer groups that trigger the promotions (campaign assignment) assigned to the customer groups. - items: - type: string - maxLength: 256 - customQualifiers: - type: object - description: Map of custom qualifiers for the shopper context. Set this object to trigger pricing and promotion experiences using a dynamic session-based customer group. Object size is limited to 20 key-value pairs (properties). - properties: - //: - type: string | nil - required: false - assignmentQualifiers: - type: object - description: Map of assignment qualifiers for the shopper context. Set this object when using the assignment framework to activate experiences based on assignment qualifiers. Currently, only pricing and promotion experiences are supported. Object size is limited to 20 key-value pairs (properties). - properties: - //: - type: string | nil - required: false - clientIp: - type: string - description: |- - The IP Address of the client. If the client IP is not a valid IPv4 address, a Bad Request (400) error is thrown. This property is available with B2C Commerce version 24.7. - - When `clientIp` is set, the geolocation based on the `clientIp` is returned in the `X-Geolocation` header in the response. Note: Use/retrieve this header in a case insensitive manner. - - However, if the `geoLocation` attribute is also set in the context, it takes precedence over the `clientIp`, and the `X-Geolocation` header returns the geolocation based on the `geoLocation` attribute. - - The query parameter `evaluateContextWithClientIp` determines whether to evaluate the context using the provided `clientIp`. - - If `evaluateContextWithClientIp` is set to `true`: - - The `clientIp` is saved and used in subsequent requests. - - Note: If `geoLocation` is also saved in the context, it takes precedence over the `clientIp`. - - If `evaluateContextWithClientIp` is set to `false`: - - The `clientIp` is not saved and is not used in subsequent requests. - required: false - geoLocation: - type: object - description: The geographic location of the client. When you set a geolocation, it is saved as context for subsequent requests. This overrides any geolocation context previously saved using `clientIp`. This property is available with B2C Commerce version 24.7. - required: false - properties: - city: - description: The city name associated with this location. - type: string - required: false - country: - description: The country name associated with this location. - type: string - required: false - countryCode: - description: The ISO country code associated with this location. - type: string - required: false - latitude: - description: The latitude coordinate, which is a number between -90.0 and +90.0, associated with this location. - type: number - format: double - required: false - longitude: - description: The longitude coordinate, which is a number between -180.0 and +180.0, associated with this location. - type: number - format: double - required: false - metroCode: - description: The metro code associated with this location. - type: string - required: false - postalCode: - description: The postal code associated with this location. - type: string - required: false - region: - description: The region (subdivision) name for this location. Corresponds with "state" in the USA. - type: string - required: false - regionCode: - description: The region (province or state) code for this location. - type: string - required: false - example: !include Examples/shopper-context-example.raml - - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /shopper-context/{usid}: - get: - description: |- - Gets the shopper's context based on the shopperJWT. - - With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. - displayName: getShopperContext - queryParameters: - siteId: - description: The identifier of the site to which the request is being sent. With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting January 2025, `siteId` will be required for all customers, and a bad request response code will be returned for requests without a `siteId`. - example: - SiteGenesis - type: string - required: false - minLength: 1 - responses: - '200': - description: Success retrieving Shopper Context. - headers: - X-Geolocation: - description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set `geoLocation` takes precedence. - type: string - required: false - example: "CountryCode: US; Country: United States; MetroCode: 0; Latitude: 37.751; Longitude: -97.822" - body: - application/json: - type: ShopperContext - examples: - shopperContext: !include Examples/shopper-context-example.raml - '400': - description: Usid in incoming request does not match Usid in token. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-400-example.raml - '401': - description: Your shopper JWT is invalid and could not be used to identify the API client. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-401-example.raml - '403': - description: Your shopper JWT is valid, but you have no permissions to access the resource. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-403-example.raml - '404': - description: Shopper Context for ORGANIZATION_ID - f_ecom_bhbv_prd and USID - 7e1f65fb-185c-4788-8cec-05fef8dac77d not found in Repository. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-404-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-context, sfcc.shopper-context.rw] } - put: - description: |- - Creates the shopper's context based on shopperJWT. If a shopper context already exists, it replaces the entire existing context. - - With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. - displayName: createShopperContext - queryParameters: - siteId: - description: The identifier of the site to which the request is being sent. With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` will be required for all customers, and a bad request response code will be returned for requests without a `siteId`. - example: - SiteGenesis - type: string - required: false - minLength: 1 - evaluateContextWithClientIp: - description: | - Determines whether to evaluate the context using the provided `clientIp`. This property is available with B2C Commerce version 24.7. - - If `evaluateContextWithClientIp` is set to `true`: - - The `clientIp` is saved and used in subsequent requests. If `geoLocation` is also saved in the context, it takes precedence over the `clientIp`. - - - If `evaluateContextWithClientIp` is set to `false`: - - The `clientIp` is not saved and will not be used in subsequent requests. - example: - false - type: boolean - required: false - body: - application/json: - type: ShopperContext - examples: - shopperContext: !include Examples/shopper-context-example.raml - responses: - '201': - description: Created Shopper Context. - headers: - X-Geolocation: - description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set, `geoLocation` takes precedence. - type: string - required: false - example: "CountryCode: US; Country: United States; MetroCode: 0; Latitude: 37.751; Longitude: -97.822" - '200': - description: Updated Shopper Context. - headers: - X-Geolocation: - description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set `geoLocation` takes precedence. - type: string - required: false - example: "CountryCode: US; Country: United States; MetroCode: 0; Latitude: 37.751; Longitude: -97.822" - '400': - description: Usid in incoming request does not match Usid in token. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-400-example.raml - '401': - description: Your shopper JWT is invalid and could not be used to identify the API client. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-401-example.raml - '403': - description: Your shopper JWT is valid, but you have no permissions to access the resource. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-403-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-context.rw] } - delete: - description: |- - Gets the shopper's context based on the shopperJWT. - - With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. - displayName: deleteShopperContext - queryParameters: - siteId: - description: The identifier of the site to which the request is being sent. With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` will be required for all customers, and a bad request response code will be returned for requests without a `siteId`. - example: - SiteGenesis - type: string - required: false - minLength: 1 - responses: - '204': - description: Delete successfull. - '400': - description: Usid in incoming request does not match Usid in token. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-400-example.raml - '401': - description: Your shopper JWT is invalid and could not be used to identify the API client. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-401-example.raml - '403': - description: Your shopper JWT is valid, but you have no permissions to access the resource. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-403-example.raml - '404': - description: Shopper Context for ORGANIZATION_ID - f_ecom_bhbv_prd and USID - 7e1f65fb-185c-4788-8cec-05fef8dac77d not found in Repository. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-404-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-context.rw] } - patch: - description: |- - Updates an existing shopper's context based on the Shopper JWT. If the shopper context exists, it's updated with the patch body. - - If a new attribute that does not exist in the existing shopper context is present, it is added to the context. - -If an attribute is already present in the existing shopper context, its value is replaced by the corresponding value from the new shopper context in the request body as follows: - - `custom qualifiers` or `assignment qualifiers`: - - If the individual qualifier key exists, it is overwritten with the new value. - - If the value of the key is set to null, it is deleted from the existing shopper context. - - If an empty `custom qualifiers` or `assignment qualifiers` object `{}` is passed, the entire qualifier object is deleted. - - `effectiveDateTime` or `sourceCode` or `clientIp`: - - If the new value is set to an empty string (""), it is deleted from the existing shopper context. - - If the new value is set to null, it is ignored. - - If the new value is not empty or null, it overwrites the existing value. - - - `customerGroupIds`: - - If a list of `customerGroupIds` exists, it is replaced by the new list of customer group IDs from the request. - - If `customerGroupIds` is set to an empty array [], the existing list in the shopper context is deleted. - - - `geoLocation`: - - If it exists, the entire `geoLocation` object is replaced with the new value. - - If the new value is set to null, it is ignored. - - If an empty `geoLocation` object `{}` is passed, it is deleted. - - With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. - displayName: updateShopperContext - queryParameters: - siteId: - description: The identifier of the site to which the request is being sent. With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` will be required for all customers, and a bad request response code will be returned for requests without a `siteId`. - example: - SiteGenesis - type: string - required: false - minLength: 1 - evaluateContextWithClientIp: - description: | - Determines whether to evaluate the context using the provided `clientIp`. This property is available with B2C Commerce version 24.7. - - If `evaluateContextWithClientIp` is set to `true`: - - The `clientIP` is saved and used in subsequent requests. - - - If `evaluateContextWithClientIp` is set to `false`: - - The `clientIP` is not saved and will not be used in subsequent requests. - example: - false - type: boolean - required: false - body: - application/json: - type: ShopperContext - examples: - shopperContext: !include Examples/shopper-context-update-request-example.raml - responses: - '200': - description: Updated Shopper Context. - headers: - X-Geolocation: - type: string - required: false - example: "CountryCode: US; Country: United States of America; City: Boston; PostalCode: 01730; MetroCode: M234; Region: NA; RegionCode: 12345; Latitude: 10.11; Longitude: 198.34" - body: - application/json: - type: ShopperContext - examples: - shopperContext: !include Examples/shopper-context-update-response-example.raml - '400': - description: Usid in incoming request does not match Usid in token. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-400-example.raml - '401': - description: Your shopper JWT is invalid and could not be used to identify the API client. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-401-example.raml - '403': - description: Your shopper JWT is valid, but you have no permissions to access the resource. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-403-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-context.rw] } - uriParameters: - usid: - description: The Shopper's unique identifier. It is a required parameter and is part of the response from the Guest or Registered User Shopper Login (SLAS) API call. - type: string - required: true - example: "54ad2c5a-91f0-44ab-817c-73d6b86872d9" - diff --git a/apis/customer/shopper-customers/.metadata.json b/apis/customer/shopper-customers/.metadata.json deleted file mode 100644 index 89dfdc90..00000000 --- a/apis/customer/shopper-customers/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-customers/0.0.50", - "name": "Shopper Customers", - "description": "Allow customers to manage their own profiles and product lists.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-customers", - "version": "0.0.50", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Customer" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/customer/shopper-customers/Customer-traits-library.raml b/apis/customer/shopper-customers/Customer-traits-library.raml deleted file mode 100644 index 7895750c..00000000 --- a/apis/customer/shopper-customers/Customer-traits-library.raml +++ /dev/null @@ -1,18 +0,0 @@ - -#%RAML 1.0 Library -usage: Use the following traits for the request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -types: - ErrorResponse: ApiStandards.ErrorResponse - -traits: - Unauthorized: !include Traits/Unauthorized.raml - NotFound: !include Traits/NotFound.raml - BadRequest: !include Traits/BadRequest.raml - CustomerExtProfileNotFound: !include Traits/ExternalProfileNotFound.raml - CustomerExtProfileBadRequest: !include Traits/ExternalProfileBadRequest.raml - CustomerAuthenticationFailed: !include Traits/CustomerAuthenticationFailed.raml - OffsetPaginated: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml diff --git a/apis/customer/shopper-customers/Examples/Basket.raml b/apis/customer/shopper-customers/Examples/Basket.raml deleted file mode 100644 index 30248db8..00000000 --- a/apis/customer/shopper-customers/Examples/Basket.raml +++ /dev/null @@ -1,381 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "basketId" : "bccO1aOjgEnuIaaadk7pYO2rFE", - "adjustedMerchandizeTotalTax": 0, - "adjustedShippingTotalTax": 0, - "agentBasket": true, - "billingAddress": { - "address1": "10 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "John", - "fullName": "John M. Smith", - "id": "abfTEMDZOgi3JPrkHjv9IhoziM", - "lastName": "Smith", - "phone": "123450003", - "postalCode": "01827", - "salutation": "Mr.", - "stateCode": "MA" - }, - "bonusDiscountLineItems": [ - { - "bonusProducts": [ - { - "link": "bonus product link", - "productDescription": "Bonus Product", - "productId": "34984327448", - "productName": "Extra Fluffy Bonus Product", - "title": "Bonus Product" - } - ], - "couponCode": "BONUS", - "id": "qhegj345ruhrfkj", - "maxBonusItems": 1, - "promotionId": "basds98295jsafi" - } - ], - "channelType": "storefront", - "couponItems": [ - { - "code": "5634573", - "couponItemId": "100-89038", - "statusCode": "coupon_code_already_in_basket", - "valid": true - } - ], - "creationDate": "2019-09-05T17:12:56.670Z", - "currency": "USD", - "customerInfo": { - "c_familyStatus": "string", - "customerId": "abfTEMDZOgi3JPrkHjv9IhoziM", - "customerName": "John Smith", - "customerNo": "00010009", - "email": "jsmith@demandware.com" - }, - "giftCertificateItems": [ - { - "amount": 0, - "giftCertificateItemId": "901", - "message": "Preferred Customer", - "recipientEmail": "jsmith@demandware.com", - "recipientName": "John Smith", - "senderName": "Jane Smith", - "shipmentId": "678934jsadLHY5" - } - ], - "inventoryReservationExpiry": "2019-09-05T17:12:56.670Z", - "lastModified": "2019-09-05T17:12:56.670Z", - "merchandizeTotalTax": 0, - "notes": { - "link": "Link to Notes" - }, - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "asdfgh4567", - "type": "percentage" - }, - "couponCode": "2345-009", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.670Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.670Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "324545673fgjghj", - "promotionId": "1000-7654", - "promotionLink": "link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "orderTotal": 0, - "paymentInstruments": [ - { - "amount": 0, - "authorizationStatus": { - "code": "AUTH", - "message": "Authorizing", - "status": 0 - }, - "bankRoutingNumber": "string", - "maskedGiftCertificateCode": "string", - "paymentBankAccount": { - "driversLicenseLastDigits": "6374", - "driversLicenseStateCode": "MA", - "holder": "John", - "maskedDriversLicense": "***************74", - "maskedNumber": "***********52", - "numberLastDigits": "2345" - }, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false, - "creditCardToken": "sadjklfajkgae", - "expirationMonth": 12, - "expirationYear": 2019, - "holder": "John", - "issueNumber": "389342643978", - "maskedNumber": "**************53", - "numberLastDigits": "8753", - "validFromMonth": 4, - "validFromYear": 2015 - }, - "paymentInstrumentId": "creditCard", - "paymentMethodId": "credit" - } - ], - "productItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusDiscountLineItemId": "string", - "bonusProductLineItem": true, - "bundledProductItems": [ - { - "quantity": 10 - } - ], - "gift": true, - "giftMessage": "string", - "inventoryId": "string", - "itemId": "string", - "itemText": "string", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 110, - "bonusDiscountLineItemId": "dsklgladsjkq349857", - "bonusProductLineItem": true, - "bundledProductItems": [ - { - "quantity": 10 - } - ], - "gift": true, - "giftMessage": "Happy Birthday", - "inventoryId": "258963", - "itemId": "apple-ipod-classic", - "itemText": "Apple iPod Classic", - "optionId": "34526hjyuGGH56", - "optionItems": [ - { - "optionId": "sdiughsdjkfgoqtuy", - "optionValueId": "1564897654" - } - ], - "optionValueId": "string", - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "34526hjyuGGH56", - "type": "percentage" - }, - "couponCode": "109475", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.670Z", - "custom": true, - "itemText": "", - "lastModified": "2019-09-05T17:12:56.670Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "1597563", - "promotionId": "963852", - "promotionLink": "link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "apple-ipod-classic", - "productListItem": { - "id": "2345245e654utjSSDFfdhh", - "priority": 0, - "productDetailsLink": { - "link": "link to product details", - "productDescription": "apple-ipod-classic", - "productId": "apple-ipod-classic", - "productName": "Apple iPod Classic", - "title": "Apple iPod Classic Silver" - }, - "productList": { - "description": "My Product List", - "link": "Link to product list", - "name": "Electronics", - "public": true, - "title": "My Electronics Wish List", - "type": "wish_list" - }, - "public": true, - "purchasedQuantity": 0, - "quantity": 0, - "type": "product" - }, - "productName": "Apple iPod Classic", - "quantity": 0, - "shipmentId": "12345rdsghfjh", - "shippingItemId": "47568ghfhjgkg", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "string", - "type": "percentage" - }, - "couponCode": "sadfghgjw4e56r7", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.672Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.672Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "asdgfhg5463798453", - "promotionId": "100-7345", - "promotionLink": "Link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "string", - "productListItem": { - "id": "string", - "priority": 0, - "productDetailsLink": { - "link": "link to product details", - "productDescription": "apple-ipod-classic", - "productId": "apple-ipod-classic", - "productName": "Apple iPod Classic", - "title": "Apple iPod Classic Silver" - }, - "productList": { - "description": "My Product List", - "link": "Link to product list", - "name": "Electronics", - "public": true, - "title": "My Electronics Wish List", - "type": "wish_list" - }, - "public": true, - "purchasedQuantity": 0, - "quantity": 0, - "type": "product" - }, - "productName": "Apple iPod Classic", - "quantity": 0, - "shipmentId": "12345rdsghfjh", - "shippingItemId": "47568ghfhjgkg", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "productSubTotal": 0, - "productTotal": 0, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 0, - "adjustedShippingTotalTax": 0, - "gift": true, - "giftMessage": "Happy Birthday", - "merchandizeTotalTax": 0, - "productSubTotal": 0, - "productTotal": 0, - "shipmentId": "1200", - "shipmentNo": "3", - "shipmentTotal": 0, - "shippingAddress": { - "address1": "10 Presidential Way", - "city": "string", - "countryCode": "US", - "firstName": "John", - "fullName": "John M. Smith", - "id": "abfTWMDZOgi3JPzkHjv9IhmziI", - "lastName": "Smith", - "phone": "123450003", - "postalCode": "01827", - "salutation": "Mr.", - "stateCode": "MA" - }, - "shippingMethod": { - "c_storePickupEnabled": true, - "description": "Ship using FEDEX", - "externalShippingMethod": "FEDEX", - "id": "1200", - "name": "John Smith", - "price": 0, - "shippingPromotions": [ - { - "calloutMsg": "Callout Message", - "link": "link to shipping promotions", - "promotionId": "123452768sdfgh", - "promotionName": "Special Promotion" - } - ] - }, - "shippingStatus": "not_shipped", - "shippingTotal": 0, - "shippingTotalTax": 0, - "taxTotal": 0, - "trackingNumber": "89e980-562489-54ifsdgj" - } - ], - "shippingItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "itemId": "2345245e654utjSSDFfdhh", - "itemText": "apple-iPod-classic", - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "string", - "type": "percentage" - }, - "couponCode": "sadfghgjw4e56r7", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.672Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.672Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "asdgfhg5463798453", - "promotionId": "100-7345", - "promotionLink": "Link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "shipmentId": "asghdfjghwertyu", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "shippingTotal": 0, - "shippingTotalTax": 0, - "sourceCode": "", - "taxTotal": 0, - "taxation": "gross" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/BonusDiscountLineItem.raml b/apis/customer/shopper-customers/Examples/BonusDiscountLineItem.raml deleted file mode 100644 index dcb5c2b3..00000000 --- a/apis/customer/shopper-customers/Examples/BonusDiscountLineItem.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "bonusProducts": [ - { - "link": "bonus product link", - "productDescription": "Bonus Product", - "productId": "34984327448", - "productName": "Extra Fluffy Bonus Product", - "title": "Bonus Product" - } - ], - "couponCode": "BONUS", - "id": "qhegj345ruhrfkj", - "maxBonusItems": 1, - "promotionId": "basds98295jsafi" - } diff --git a/apis/customer/shopper-customers/Examples/BundledProduct.raml b/apis/customer/shopper-customers/Examples/BundledProduct.raml deleted file mode 100644 index 0fd2c129..00000000 --- a/apis/customer/shopper-customers/Examples/BundledProduct.raml +++ /dev/null @@ -1,61 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "BundledProduct", - "product" : - { - "Type" : "product", - "id" : "RedDress1", - "imageGroups" : - [ - { - "images" : - [ - { - "alt" : "ALT master detail", - "link" : "https://example.com/foo/bar/master_detail.jpg", - "title" : "TITLE master detail" - } - ], - "viewType" : "detail" - }, - { - "images" : - [ - { - "alt" : "ALT master swatch", - "link" : "https://example.com/foo/bar/master_swatch.jpg", - "title" : "TITLE master swatch" - } - ], - "viewType" : "swatch" - }, - { - "images" : - [ - { - "alt" : "ALT master thumbnail", - "link" : "https://example.com/foo/bar/master_thumbnail.jpg", - "title" : "TITLE master thumbnail" - } - ], - "viewType" : "thumbnail" - } - ], - "inventories" : - [ - { - "Type" : "inventory", - "ats" : 0, - "backorderable" : false, - "id" : "RedDress1Inventory", - "orderable" : false, - "preorderable" : false, - "stockLevel" : 0 - } - ], - "minOrderQuantity" : 1, - "stepQuantity" : 1 - }, - "quantity": 2 - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CouponItem.raml b/apis/customer/shopper-customers/Examples/CouponItem.raml deleted file mode 100644 index 61e56c57..00000000 --- a/apis/customer/shopper-customers/Examples/CouponItem.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "code": "5634573", - "couponItemId": "100-89038", - "statusCode": "coupon_code_already_in_basket", - "valid": true - } diff --git a/apis/customer/shopper-customers/Examples/Customer.raml b/apis/customer/shopper-customers/Examples/Customer.raml deleted file mode 100644 index ad5250a9..00000000 --- a/apis/customer/shopper-customers/Examples/Customer.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adresses": [ - { - "address1": "10 Presidential Way", - "addressId": "me", - "city": "Woburn", - "countryCode": "US", - "firstName": "John", - "fullName": "John M. Smith", - "lastName": "Smith", - "postalCode": "01827", - "salutation": "Mr.", - "stateCode": "MA" - } - ], - "authType": "registered", - "creationDate": "2020-02-14T20:39:53.818Z", - "customerId": "abfTEMDZOgi3JPrkHjv9IhoziM", - "customerNo": "00010009", - "email": "jsmith@demandware.com", - "firstName": "John", - "gender": 1, - "lastName": "Smith", - "paymentInstruments": [ - { - "bankRoutingNumber": "0763564", - "creationDate": "2017-08-20T11:30:36.000Z", - "lastModified": "2017-08-20T11:30:50.000Z", - "maskedGiftCertificateCode": "***********ode", - "paymentBankAccount": { - "driversLicenseStateCode": "CO", - "driversLicenseLastDigits": "9742", - "holder": "John Doe", - "maskedDriversLicense": "**********2159", - "maskedNumber": "*************1234", - "numberLastDigits": "8700" - }, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false, - "expirationMonth": 2, - "expirationYear": 2022, - "holder": "John Smith", - "maskedNumber": "***********ber2", - "numberLastDigits": "ber2" - }, - "paymentInstrumentId": "beybQiWcyatEEaaadniwhKxxFl", - "paymentMethodId": "CREDIT_CARD", - "uuid": "beybQiWcyatEEaaadniwhKxxFl" - } - ], - "phoneBusiness": "234560003", - "phoneHome": "123450003", - "phoneMobile": "345670003" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerAddressRequest.raml b/apis/customer/shopper-customers/Examples/CustomerAddressRequest.raml deleted file mode 100644 index 5af2fec6..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerAddressRequest.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "addressId": "home_address", - "address1" : "5 Wall St", - "address2" : "24 Presidential Way", - "city" : "Burlington", - "companyName" : "Salesforce Commerce Cloud", - "countryCode" : "US", - "firstName": "John", - "jobTitle" : "Developer", - "lastName" : "Murphy", - "phone" : "408-555-1212", - "postalCode" : "01805", - "postBox" : "12a", - "preferred" : false, - "salutation" : "Mr.", - "secondName" : "Jim", - "stateCode": "MA", - "title": "Dr." - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerAddressResponse.raml b/apis/customer/shopper-customers/Examples/CustomerAddressResponse.raml deleted file mode 100644 index 2035cb00..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerAddressResponse.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "addressId": "home_address", - "address1" : "5 Wall St", - "address2" : "24 Presidential Way", - "city" : "Burlington", - "companyName" : "Salesforce Commerce Cloud", - "countryCode" : "US", - "creationDate": "2020-02-14T21:13:29.769Z", - "firstName": "John", - "fullName": "John Jim Murphy", - "jobTitle" : "Developer", - "lastModified": "2020-02-14T21:13:29.770Z", - "lastName" : "Murphy", - "phone" : "408-555-1212", - "postalCode" : "01805", - "postBox" : "12a", - "preferred" : false, - "salutation" : "Mr.", - "secondName" : "Jim", - "stateCode": "MA", - "title": "Dr." - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerAddressResult.raml b/apis/customer/shopper-customers/Examples/CustomerAddressResult.raml deleted file mode 100644 index 4469d04a..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerAddressResult.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit" : 1, - "data" : - [ - { - "address1" : "10 Free Way", - "addressId" : "private", - "city" : "Woburn", - "countryCode" : "US", - "firstName" : "James", - "fullName" : "James Last", - "lastName" : "Last", - "postalCode" : "01827", - "salutation" : "Mr.", - "stateCode" : "MA" - } - ], - "offset" : 0, - "total" : 2 - } diff --git a/apis/customer/shopper-customers/Examples/CustomerBasketsResult.raml b/apis/customer/shopper-customers/Examples/CustomerBasketsResult.raml deleted file mode 100644 index 4358723c..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerBasketsResult.raml +++ /dev/null @@ -1,387 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "baskets" : - [ - { - "basketId" : "bccO1aOjgEnuIaaadk7pYO2rFE", - "adjustedMerchandizeTotalTax": 0, - "adjustedShippingTotalTax": 0, - "agentBasket": true, - "billingAddress": { - "address1": "10 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "John", - "fullName": "John M. Smith", - "id": "abfTEMDZOgi3JPrkHjv9IhoziM", - "lastName": "Smith", - "phone": "123450003", - "postalCode": "01827", - "salutation": "Mr.", - "stateCode": "MA" - }, - "bonusDiscountLineItems": [ - { - "bonusProducts": [ - { - "link": "bonus product link", - "productDescription": "Bonus Product", - "productId": "34984327448", - "productName": "Extra Fluffy Bonus Product", - "title": "Bonus Product" - } - ], - "couponCode": "BONUS", - "id": "qhegj345ruhrfkj", - "maxBonusItems": 1, - "promotionId": "basds98295jsafi" - } - ], - "channelType": "storefront", - "couponItems": [ - { - "code": "5634573", - "couponItemId": "100-89038", - "statusCode": "coupon_code_already_in_basket", - "valid": true - } - ], - "creationDate": "2019-09-05T17:12:56.670Z", - "currency": "USD", - "customerInfo": { - "c_familyStatus": "string", - "customerId": "abfTEMDZOgi3JPrkHjv9IhoziM", - "customerName": "John Smith", - "customerNo": "1000", - "email": "jsmith@demandware.com" - }, - "giftCertificateItems": [ - { - "amount": 0, - "giftCertificateItemId": "901", - "message": "Preferred Customer", - "recipientEmail": "jsmith@demandware.com", - "recipientName": "John Smith", - "senderName": "Jane Smith", - "shipmentId": "678934jsadLHY5" - } - ], - "inventoryReservationExpiry": "2019-09-05T17:12:56.670Z", - "lastModified": "2019-09-05T17:12:56.670Z", - "merchandizeTotalTax": 0, - "notes": { - "link": "Link to Notes" - }, - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "asdfgh4567", - "type": "percentage" - }, - "couponCode": "2345-009", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.670Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.670Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "324545673fgjghj", - "promotionId": "1000-7654", - "promotionLink": "link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "orderTotal": 0, - "paymentInstruments": [ - { - "amount": 0, - "authorizationStatus": { - "code": "AUTH", - "message": "Authorizing", - "status": 0 - }, - "bankRoutingNumber": "string", - "maskedGiftCertificateCode": "string", - "paymentBankAccount": { - "driversLicenseLastDigits": "6374", - "driversLicenseStateCode": "MA", - "holder": "John", - "maskedDriversLicense": "***************74", - "maskedNumber": "***********52", - "numberLastDigits": "2345" - }, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false, - "creditCardToken": "sadjklfajkgae", - "expirationMonth": 12, - "expirationYear": 2019, - "holder": "John", - "issueNumber": "389342643978", - "maskedNumber": "**************53", - "numberLastDigits": "8753", - "validFromMonth": 4, - "validFromYear": 2015 - }, - "paymentInstrumentId": "creditCard", - "paymentMethodId": "credit" - } - ], - "productItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusDiscountLineItemId": "string", - "bonusProductLineItem": true, - "bundledProductItems": [ - { - "quantity": 10 - } - ], - "gift": true, - "giftMessage": "string", - "inventoryId": "string", - "itemId": "string", - "itemText": "string", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 110, - "bonusDiscountLineItemId": "dsklgladsjkq349857", - "bonusProductLineItem": true, - "bundledProductItems": [ - { - "quantity": 10 - } - ], - "gift": true, - "giftMessage": "Happy Birthday", - "inventoryId": "258963", - "itemId": "apple-ipod-classic", - "itemText": "Apple iPod Classic", - "optionId": "34526hjyuGGH56", - "optionItems": [ - { - "optionId": "sdiughsdjkfgoqtuy", - "optionValueId": "1564897654" - } - ], - "optionValueId": "string", - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "34526hjyuGGH56", - "type": "percentage" - }, - "couponCode": "109475", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.670Z", - "custom": true, - "itemText": "", - "lastModified": "2019-09-05T17:12:56.670Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "1597563", - "promotionId": "963852", - "promotionLink": "link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "apple-ipod-classic", - "productListItem": { - "id": "2345245e654utjSSDFfdhh", - "priority": 0, - "productDetailsLink": { - "link": "link to product details", - "productDescription": "apple-ipod-classic", - "productId": "apple-ipod-classic", - "productName": "Apple iPod Classic", - "title": "Apple iPod Classic Silver" - }, - "productList": { - "description": "My Product List", - "link": "Link to product list", - "name": "Electronics", - "public": true, - "title": "My Electronics Wish List", - "type": "wish_list" - }, - "public": true, - "purchasedQuantity": 0, - "quantity": 0, - "type": "product" - }, - "productName": "Apple iPod Classic", - "quantity": 0, - "shipmentId": "12345rdsghfjh", - "shippingItemId": "47568ghfhjgkg", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "string", - "type": "percentage" - }, - "couponCode": "sadfghgjw4e56r7", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.672Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.672Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "asdgfhg5463798453", - "promotionId": "100-7345", - "promotionLink": "Link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "string", - "productListItem": { - "id": "string", - "priority": 0, - "productDetailsLink": { - "link": "link to product details", - "productDescription": "apple-ipod-classic", - "productId": "apple-ipod-classic", - "productName": "Apple iPod Classic", - "title": "Apple iPod Classic Silver" - }, - "productList": { - "description": "My Product List", - "link": "Link to product list", - "name": "Electronics", - "public": true, - "title": "My Electronics Wish List", - "type": "wish_list" - }, - "public": true, - "purchasedQuantity": 0, - "quantity": 0, - "type": "product" - }, - "productName": "Apple iPod Classic", - "quantity": 0, - "shipmentId": "12345rdsghfjh", - "shippingItemId": "47568ghfhjgkg", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "productSubTotal": 0, - "productTotal": 0, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 0, - "adjustedShippingTotalTax": 0, - "gift": true, - "giftMessage": "Happy Birthday", - "merchandizeTotalTax": 0, - "productSubTotal": 0, - "productTotal": 0, - "shipmentId": "1200", - "shipmentNo": "3", - "shipmentTotal": 0, - "shippingAddress": { - "address1": "10 Presidential Way", - "city": "string", - "countryCode": "US", - "firstName": "John", - "fullName": "John M. Smith", - "id": "abfTWMDZOgi3JPzkHjv9IhmziI", - "lastName": "Smith", - "phone": "123450003", - "postalCode": "01827", - "salutation": "Mr.", - "stateCode": "MA" - }, - "shippingMethod": { - "c_storePickupEnabled": true, - "description": "Ship using FEDEX", - "externalShippingMethod": "FEDEX", - "id": "1200", - "name": "John Smith", - "price": 0, - "shippingPromotions": [ - { - "calloutMsg": "Callout Message", - "link": "link to shipping promotions", - "promotionId": "123452768sdfgh", - "promotionName": "Special Promotion" - } - ] - }, - "shippingStatus": "not_shipped", - "shippingTotal": 0, - "shippingTotalTax": 0, - "taxTotal": 0, - "trackingNumber": "89e980-562489-54ifsdgj" - } - ], - "shippingItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "itemId": "2345245e654utjSSDFfdhh", - "itemText": "apple-iPod-classic", - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "string", - "type": "percentage" - }, - "couponCode": "sadfghgjw4e56r7", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.672Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.672Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "asdgfhg5463798453", - "promotionId": "100-7345", - "promotionLink": "Link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "shipmentId": "asghdfjghwertyu", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "shippingTotal": 0, - "shippingTotalTax": 0, - "sourceCode": "", - "taxTotal": 0, - "taxation": "gross" - } - ], - "total" : 1 - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerExternalProfile.raml b/apis/customer/shopper-customers/Examples/CustomerExternalProfile.raml deleted file mode 100644 index 585d1025..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerExternalProfile.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - - "authenticationProviderId": "Google", - "firstName" : "John", - "lastName" : "Doe", - "customerId": "bfqcN48dn2y4EaV9Qj5bNpVJVj", - "email": "testCustomer@test.com", - "externalId": "testCustomer@test.com" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerPaymentInstrument.raml b/apis/customer/shopper-customers/Examples/CustomerPaymentInstrument.raml deleted file mode 100644 index 8be62bf3..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerPaymentInstrument.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "bankRoutingNumber" : "bankrouting3776", - "giftCertificateCodeMasked" : "******ode7", - "paymentBankAccount" : - { - }, - "paymentCard" : - { - "cardType" : "MasterCard", - "creditCardExpired" : false, - "expirationMonth" : 7, - "expirationYear" : 2027, - "holder" : "John Smith", - "issueNumber" : "i117", - "maskedNumber" : "***4567", - "numberLastDigits" : "4567", - "validFromMonth" : 8, - "validFromYear" : 2007 - }, - "paymentMethodId" : "OCAPI_Payment_Simple", - "paymentInstrumentId" : "cdOLciWbOsYl6aaadkwcsx9xHH" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerPaymentInstrumentRequest.raml b/apis/customer/shopper-customers/Examples/CustomerPaymentInstrumentRequest.raml deleted file mode 100644 index 3d643a0d..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerPaymentInstrumentRequest.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "paymentCard": { - "expirationYear":2027, - "expirationMonth":7, - "validFromMonth":8, - "validFromYear":2007, - "issueNumber":"i117", - "number":"1234567", - "holder":"John Smith", - "cardType":"MasterCard" - }, - "giftCertificateCode": "gift_code7", - "paymentMethodId": "OCAPI_Payment_Simple", - "bankRoutingNumber": "bankrouting3776" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerPaymentInstrumentResult.raml b/apis/customer/shopper-customers/Examples/CustomerPaymentInstrumentResult.raml deleted file mode 100644 index e1eac318..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerPaymentInstrumentResult.raml +++ /dev/null @@ -1,48 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit" : 2, - "data" : - [ - { - "paymentBankAccount" : - { - "bankRoutingNumber" : "bankrouting3450" - }, - "paymentCard" : - { - "cardType" : "Visa", - "creditCardExpired" : false, - "expirationMonth" : 2, - "expirationYear" : 2022, - "holder" : "John Smith", - "maskedNumber" : "***********1111", - "numberLastDigits" : "1111" - }, - "paymentMethodId" : "CREDIT_CARD", - "paymentInstrumentId" : "cdlPgiWbN6LM2aaadkcia6MgbA" - }, - - { - "bankRoutingNumber" : "bankrouting3446", - "giftCertificateCodeMasked" : "*****code", - "paymentBankAccount" : - { - "driversLicenseLastDigits" : "e111", - "driversLicenseStateCode" : "MA", - "holder" : "John Smith", - "maskedDriversLicense" : "**********e111", - "maskedNumber" : "**********t111", - "numberLastDigits" : "t111" - }, - "paymentCard" : - { - "cardType": "None", - "creditCardExpired" : false - }, - "paymentMethodId" : "OCAPI_Payment_Simple", - "paymentInstrumentId" : "cdTsgiWbN6DFEaaadkbia6MgbA" - } - ], - "total" : 2 - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerProductList.raml b/apis/customer/shopper-customers/Examples/CustomerProductList.raml deleted file mode 100644 index 7110a6ec..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerProductList.raml +++ /dev/null @@ -1,52 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "coRegistrant" : - { - "email" : "janedoe@example.com", - "firstName" : "Jane", - "lastName" : "Doe", - "role" : "Bride" - }, - "creationDate": "2019-10-18T22:06:28.965Z", - "currentShippingAddressInfo": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "description" : "our productlist", - "event" : - { - "city" : "Washington", - "country" : "US", - "date" : "2019-09-05T17:12:56.670Z", - "state" : "DC", - "type" : "Wedding" - }, - "id" : "bcedkiWbxCM2MaaadkRhB2IBzM", - "lastModified": "2019-10-18T22:06:28.971Z", - "name" : "OurProductList", - "postEventShippingAddressInfo": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "productListShippingAddress": { - "addressId": "home_address", - "city": "Burlington", - "firstName": "John", - "lastName": "Murphy" - }, - "public" : false, - "registrant" : - { - "email" : "johndoe@example.com", - "firstName" : "John", - "lastName" : "Doe", - "role" : "Groom" - }, - "shippingAddressInfo" : - { - "addressId" : "me", - "title" : "me, John Doe, Woburn" - }, - "type" : "wish_list" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerProductListItem.raml b/apis/customer/shopper-customers/Examples/CustomerProductListItem.raml deleted file mode 100644 index ef80ebbb..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerProductListItem.raml +++ /dev/null @@ -1,65 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id" : "1d447daa4d25805fd682bd4ce1", - "priority" : 4, - "productId" : "RedDress1", - "product" : - { - "id" : "RedDress1", - "imageGroups" : - [ - { - "images" : - [ - { - "alt" : "ALT master detail", - "link" : "https://example.com/foo/bar/master_detail.jpg", - "title" : "TITLE master detail" - } - ], - "viewType" : "detail" - }, - { - "images" : - [ - { - "alt" : "ALT master swatch", - "link" : "https://example.com/foo/bar/master_swatch.jpg", - "title" : "TITLE master swatch" - } - ], - "viewType" : "swatch" - }, - { - "images" : - [ - { - "alt" : "ALT master thumbnail", - "link" : "https://example.com/foo/bar/master_thumbnail.jpg", - "title" : "TITLE master thumbnail" - } - ], - "viewType" : "thumbnail" - } - ], - "inventories" : - [ - { - "ats" : 0, - "backorderable" : false, - "id" : "RedDress1Inventory", - "orderable" : false, - "preorderable" : false, - "stockLevel" : 0 - } - ], - "minOrderQuantity" : 1, - "price" : 99.99, - "stepQuantity" : 1 - }, - "public" : true, - "purchasedQuantity" : 0, - "quantity" : 2, - "type" : "product" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerProductListItemRequest.raml b/apis/customer/shopper-customers/Examples/CustomerProductListItemRequest.raml deleted file mode 100644 index 2f3e88a9..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerProductListItemRequest.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "productId": "RedDress1", - "id": "1", - "purchasedQuantity": 0, - "priority": 3, - "quantity": 4, - "public": false, - "type": "product" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerProductListItemResult.raml b/apis/customer/shopper-customers/Examples/CustomerProductListItemResult.raml deleted file mode 100644 index f81cc6db..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerProductListItemResult.raml +++ /dev/null @@ -1,73 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit" : 1, - "data" : - [ - { - "id" : "ebe04a8c6be5c01a5dac9e50ac", - "priority" : 4, - "productId" : "RedDress1", - "public" : true, - "purchasedQuantity" : 0, - "quantity" : 2, - "type" : "product", - "product" : - { - "id" : "RedDress1", - "imageGroups" : - [ - { - "images" : - [ - { - "alt" : "ALT master detail", - "link" : "https://example.com/foo/bar/master_detail.jpg", - "title" : "TITLE master detail" - } - ], - "viewType" : "detail" - }, - { - "images" : - [ - { - "alt" : "ALT master swatch", - "link" : "https://example.com/foo/bar/master_swatch.jpg", - "title" : "TITLE master swatch" - } - ], - "viewType" : "swatch" - }, - { - "images" : - [ - { - "alt" : "ALT master thumbnail", - "link" : "https://example.com/foo/bar/master_thumbnail.jpg", - "title" : "TITLE master thumbnail" - } - ], - "viewType" : "thumbnail" - } - ], - "inventories" : - [ - { - "ats" : 0, - "backorderable" : false, - "id" : "RedDress1Inventory", - "orderable" : false, - "preorderable" : false, - "stockLevel" : 0 - } - ], - "minOrderQuantity" : 1, - "stepQuantity" : 1 - } - } - ], - - "offset" : 0, - "total" : 1 - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerProductListRequest.raml b/apis/customer/shopper-customers/Examples/CustomerProductListRequest.raml deleted file mode 100644 index 0936ac77..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerProductListRequest.raml +++ /dev/null @@ -1,107 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "wish_list", - "name": "OurProductList", - "description": "our productlist", - "public": false, - "creationDate": "2019-10-18T22:06:28.965Z", - "currentShippingAddressInfo": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "customerProductListItems" : - [ - - { - "description" : "Description", - "id": "30f35c187ea255ccb633c3ba11", - "priority": 4, - "productId": "SimpleProduct", - "product" : - { - "id" : "RedDress1", - "imageGroups" : - [ - { - "images" : - [ - { - "alt" : "ALT master detail", - "link" : "https://example.com/foo/bar/master_detail.jpg", - "title" : "TITLE master detail" - } - ], - "viewType" : "detail" - }, - { - "images" : - [ - { - "alt" : "ALT master swatch", - "link" : "https://example.com/foo/bar/master_swatch.jpg", - "title" : "TITLE master swatch" - } - ], - "viewType" : "swatch" - }, - { - "images" : - [ - { - "alt" : "ALT master thumbnail", - "link" : "https://example.com/foo/bar/master_thumbnail.jpg", - "title" : "TITLE master thumbnail" - } - ], - "viewType" : "thumbnail" - } - ], - "inventories" : - [ - { - "ats" : 0, - "backorderable" : false, - "id" : "RedDress1Inventory", - "orderable" : false, - "preorderable" : false, - "stockLevel" : 0 - } - ], - "minOrderQuantity" : 1, - "stepQuantity" : 1 - }, - "public": false, - "purchasedQuantity": 0, - "quantity": 2, - "type": "product" - } - ], - "coRegistrant" : - { - "email" : "janedoe@example.com", - "firstName" : "Jane", - "lastName" : "Doe", - "role" : "Bride" - }, - "registrant" : - { - "email" : "johndoe@example.com", - "firstName" : "John", - "lastName" : "Doe", - "role" : "Groom" - }, - "shippingAddressInfo" : - { - "addressId" : "me", - "title" : "me, John Doe, Woburn" - }, - "event" : - { - "city" : "Washington", - "country" : "US", - "date" : "2015-09-05T17:12:56.670Z", - "state" : "DC", - "type" : "Wedding" - } - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerProductListResult.raml b/apis/customer/shopper-customers/Examples/CustomerProductListResult.raml deleted file mode 100644 index 25b117c1..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerProductListResult.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit" : 1, - "data" : - [ - { - "coRegistrant": { - "email": "janedoe@example.com", - "firstName": "Jane", - "lastName": "Doe", - "role": "Bride" - }, - "creationDate": "2019-10-18T22:06:28.965Z", - "currentShippingAddressInfo": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "customerProductListItems" : - [ - - { - "description" : "Description", - "id": "30f35c187ea255ccb633c3ba11", - "priority": 4, - "productId": "SimpleProduct", - "public": false, - "purchasedQuantity": 0, - "quantity": 2, - "type": "product" - } - ], - "postEventShippingAddressInfo": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "productListShippingAddress": { - "addressId": "home_address", - "city": "Burlington", - "firstName": "John", - "lastName": "Murphy" - }, - "name": "OurProductList", - "registrant": { - "email": "johndoe@example.com", - "firstName": "John", - "lastName": "Doe", - "role": "Groom" - }, - "lastModified": "2019-10-18T22:06:28.971Z", - "description" : "a productlist", - "event" : - { - "city" : "any city", - "country" : "USA", - "type": "product_list_event" - }, - "shippingAddressLink": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "id" : "8b04014a9d6e5dbae542004824", - "public" : false, - "type" : "wish_list" - } - ], - "total" : 1 -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerRegistrationRequest.raml b/apis/customer/shopper-customers/Examples/CustomerRegistrationRequest.raml deleted file mode 100644 index 23692868..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerRegistrationRequest.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "password": "12345!aBcD", - "customer": { - "login": "jsmith", - "email": "jsmith@test.com", - "firstName": "John", - "lastName": "Smith" - } - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomerRegistrationResponse.raml b/apis/customer/shopper-customers/Examples/CustomerRegistrationResponse.raml deleted file mode 100644 index f57fd689..00000000 --- a/apis/customer/shopper-customers/Examples/CustomerRegistrationResponse.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "authType": "registered", - "creationDate": "2020-02-13T17:44:15.892Z", - "customerId": "abkd9LhOWzAiAFubdEDChtkMHW", - "customerNo": "00006002", - "email": "jsmith@test.com", - "enabled": true, - "firstName": "John", - "lastModified": "2020-02-13T17:44:15.898Z", - "lastName": "Smith", - "login": "jsmith" -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/CustomersOrdersResult.raml b/apis/customer/shopper-customers/Examples/CustomersOrdersResult.raml deleted file mode 100644 index e9b6aca7..00000000 --- a/apis/customer/shopper-customers/Examples/CustomersOrdersResult.raml +++ /dev/null @@ -1,392 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 0, - "data": [ - { - "adjustedMerchandizeTotalTax": 0, - "adjustedShippingTotalTax": 0, - "billingAddress": { - "address1": "10 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "John", - "fullName": "John M. Smith", - "id": "abfTEMDZOgi3JPrkHjv9IhoziM", - "lastName": "Smith", - "phone": "123450003", - "postalCode": "01827", - "salutation": "Mr.", - "stateCode": "MA" - }, - "bonusDiscountLineItems": [ - { - "bonusProducts": [ - { - "link": "bonus product link", - "productDescription": "Bonus Product", - "productId": "34984327448", - "productName": "Extra Fluffy Bonus Product", - "title": "Bonus Product" - } - ], - "couponCode": "BONUS", - "id": "qhegj345ruhrfkj", - "maxBonusItems": 1, - "promotionId": "basds98295jsafi" - } - ], - "channelType": "storefront", - "confirmationStatus": "not_confirmed", - "couponItems": [ - { - "code": "5634573", - "couponItemId": "100-89038", - "statusCode": "coupon_code_already_in_basket", - "valid": true - } - ], - "creationDate": "2019-09-05T17:12:56.670Z", - "currency": "USD", - "customerInfo": { - "c_familyStatus": "string", - "customerId": "abfTEMDZOgi3JPrkHjv9IhoziM", - "customerName": "John Smith", - "customerNo": "00010009", - "email": "jsmith@demandware.com" - }, - "exportStatus": "not_exported", - "externalOrderStatus": "string", - "giftCertificateItems": [ - { - "amount": 0, - "giftCertificateItemId": "901", - "message": "Preferred Customer", - "recipientEmail": "jsmith@demandware.com", - "recipientName": "John Smith", - "senderName": "Jane Smith", - "shipmentId": "678934jsadLHY5" - } - ], - "inventoryReservationExpiry": "2019-09-05T17:12:56.670Z", - "lastModified": "2019-09-05T17:12:56.670Z", - "merchandizeTotalTax": 0, - "notes": { - "link": "Link to Notes" - }, - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "asdfgh4567", - "type": "percentage" - }, - "couponCode": "2345-009", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.670Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.670Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "324545673fgjghj", - "promotionId": "1000-7654", - "promotionLink": "link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "orderTotal": 0, - "paymentInstruments": [ - { - "amount": 0, - "authorizationStatus": { - "code": "AUTH", - "message": "Authorizing", - "status": 0 - }, - "bankRoutingNumber": "string", - "maskedGiftCertificateCode": "string", - "paymentBankAccount": { - "driversLicenseLastDigits": "6374", - "driversLicenseStateCode": "MA", - "holder": "John", - "maskedDriversLicense": "***************74", - "maskedNumber": "***********52", - "numberLastDigits": "2345" - }, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false, - "creditCardToken": "sadjklfajkgae", - "expirationMonth": 12, - "expirationYear": 2019, - "holder": "John", - "issueNumber": "389342643978", - "maskedNumber": "**************53", - "numberLastDigits": "8753", - "validFromMonth": 4, - "validFromYear": 2015 - }, - "paymentInstrumentId": "creditCard", - "paymentMethodId": "credit" - } - ], - "paymentStatus": "not_paid", - "productItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusDiscountLineItemId": "string", - "bonusProductLineItem": true, - "bundledProductItems": [ - { - "quantity": 10 - } - ], - "gift": true, - "giftMessage": "string", - "inventoryId": "string", - "itemId": "string", - "itemText": "string", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 110, - "bonusDiscountLineItemId": "dsklgladsjkq349857", - "bonusProductLineItem": true, - "bundledProductItems": [ - { - "quantity": 10 - } - ], - "gift": true, - "giftMessage": "Happy Birthday", - "inventoryId": "258963", - "itemId": "apple-ipod-classic", - "itemText": "Apple iPod Classic", - "optionId": "34526hjyuGGH56", - "optionItems": [ - { - "optionId": "sdiughsdjkfgoqtuy", - "optionValueId": "1564897654" - } - ], - "optionValueId": "string", - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "34526hjyuGGH56", - "type": "percentage" - }, - "couponCode": "109475", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.670Z", - "custom": true, - "itemText": "", - "lastModified": "2019-09-05T17:12:56.670Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "1597563", - "promotionId": "963852", - "promotionLink": "link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "apple-ipod-classic", - "productListItem": { - "id": "2345245e654utjSSDFfdhh", - "priority": 0, - "productDetailsLink": { - "link": "link to product details", - "productDescription": "apple-ipod-classic", - "productId": "apple-ipod-classic", - "productName": "Apple iPod Classic", - "title": "Apple iPod Classic Silver" - }, - "productList": { - "description": "My Product List", - "link": "Link to product list", - "name": "Electronics", - "public": true, - "title": "My Electronics Wish List", - "type": "wish_list" - }, - "public": true, - "purchasedQuantity": 0, - "quantity": 0, - "type": "product" - }, - "productName": "Apple iPod Classic", - "quantity": 0, - "shipmentId": "12345rdsghfjh", - "shippingItemId": "47568ghfhjgkg", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "string", - "type": "percentage" - }, - "couponCode": "sadfghgjw4e56r7", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.672Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.672Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "asdgfhg5463798453", - "promotionId": "100-7345", - "promotionLink": "Link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "string", - "productListItem": { - "id": "string", - "priority": 0, - "productDetailsLink": { - "link": "link to product details", - "productDescription": "apple-ipod-classic", - "productId": "apple-ipod-classic", - "productName": "Apple iPod Classic", - "title": "Apple iPod Classic Silver" - }, - "productList": { - "description": "My Product List", - "link": "Link to product list", - "name": "Electronics", - "public": true, - "title": "My Electronics Wish List", - "type": "wish_list" - }, - "public": true, - "purchasedQuantity": 0, - "quantity": 0, - "type": "product" - }, - "productName": "Apple iPod Classic", - "quantity": 0, - "shipmentId": "12345rdsghfjh", - "shippingItemId": "47568ghfhjgkg", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "productSubTotal": 0, - "productTotal": 0, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 0, - "adjustedShippingTotalTax": 0, - "gift": true, - "giftMessage": "Happy Birthday", - "merchandizeTotalTax": 0, - "productSubTotal": 0, - "productTotal": 0, - "shipmentId": "1200", - "shipmentNo": "3", - "shipmentTotal": 0, - "shippingAddress": { - "address1": "10 Presidential Way", - "city": "string", - "countryCode": "US", - "firstName": "John", - "fullName": "John M. Smith", - "id": "abfTWMDZOgi3JPzkHjv9IhmziI", - "lastName": "Smith", - "phone": "123450003", - "postalCode": "01827", - "salutation": "Mr.", - "stateCode": "MA" - }, - "shippingMethod": { - "c_storePickupEnabled": true, - "description": "Ship using FEDEX", - "externalShippingMethod": "FEDEX", - "id": "1200", - "name": "John Smith", - "price": 0, - "shippingPromotions": [ - { - "calloutMsg": "Callout Message", - "link": "link to shipping promotions", - "promotionId": "123452768sdfgh", - "promotionName": "Special Promotion" - } - ] - }, - "shippingStatus": "not_shipped", - "shippingTotal": 0, - "shippingTotalTax": 0, - "taxTotal": 0, - "trackingNumber": "89e980-562489-54ifsdgj" - } - ], - "shippingItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "itemId": "2345245e654utjSSDFfdhh", - "itemText": "apple-iPod-classic", - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "string", - "type": "percentage" - }, - "couponCode": "sadfghgjw4e56r7", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.672Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.672Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "asdgfhg5463798453", - "promotionId": "100-7345", - "promotionLink": "Link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "shipmentId": "asghdfjghwertyu", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 0, - "shippingTotalTax": 0, - "sourceCode": "", - "status": "created", - "taxTotal": 0, - "taxation": "gross" - } - ], - "offset": 0, - "total" : 1 - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/ExternalProfileRequest.raml b/apis/customer/shopper-customers/Examples/ExternalProfileRequest.raml deleted file mode 100644 index 3009e3e5..00000000 --- a/apis/customer/shopper-customers/Examples/ExternalProfileRequest.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - - "authenticationProviderId": "Google", - "firstName" : "John", - "lastName" : "Doe", - "email": "testCustomer@test.com", - "externalId": "testCustomer@test.com" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/GetCustomerProductListByListId.raml b/apis/customer/shopper-customers/Examples/GetCustomerProductListByListId.raml deleted file mode 100644 index 81eb7c35..00000000 --- a/apis/customer/shopper-customers/Examples/GetCustomerProductListByListId.raml +++ /dev/null @@ -1,43 +0,0 @@ -{ - "coRegistrant": { - "email": "janedoe@example.com", - "firstName": "Jane", - "lastName": "Doe", - "role": "Bride" - }, - "creationDate": "2019-10-18T22:06:28.965Z", - "currentShippingAddressInfo": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "customerProductListItems": [ - { - "id": "30f35c187ea255ccb633c3ba11", - "priority": 4, - "productId": "SimpleProduct", - "public": false, - "purchasedQuantity": 0, - "quantity": 2, - "type": "product" - } - ], - "description": "our productlist", - "event": { - "city": "Washington", - "country": "US", - "date": "2019-09-05T17:12:56.670Z", - "state": "DC", - "type": "Wedding" - }, - "id": "bcedkiWbxCM2MaaadkRhB2IBzM", - "lastModified": "2019-10-18T22:06:28.971Z", - "name": "OurProductList", - "public": true, - "registrant": { - "email": "johndoe@example.com", - "firstName": "John", - "lastName": "Doe", - "role": "Groom" - }, - "type": "wish_list" -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/PostCustomerProductList.raml b/apis/customer/shopper-customers/Examples/PostCustomerProductList.raml deleted file mode 100644 index a10d12fa..00000000 --- a/apis/customer/shopper-customers/Examples/PostCustomerProductList.raml +++ /dev/null @@ -1,30 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "coRegistrant": { - "email": "janedoe@example.com", - "firstName": "Jane", - "lastName": "Doe", - "role": "Bride" - }, - "creationDate": "2019-10-18T22:06:28.965Z", - "description": "our productlist", - "event": { - "city": "Washington", - "country": "US", - "date": "2019-09-05T17:12:56.670Z", - "state": "DC", - "type": "Wedding" - }, - "id": "bcedkiWbxCM2MaaadkRhB2IBzM", - "lastModified": "2019-10-18T22:06:28.971Z", - "name": "OurProductList", - "public": true, - "registrant": { - "email": "johndoe@example.com", - "firstName": "John", - "lastName": "Doe", - "role": "Groom" - }, - "type": "wish_list" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/PublicProductListItem.raml b/apis/customer/shopper-customers/Examples/PublicProductListItem.raml deleted file mode 100644 index 4bf36131..00000000 --- a/apis/customer/shopper-customers/Examples/PublicProductListItem.raml +++ /dev/null @@ -1,55 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "023513f915fad06573f330fb0d", - "priority": 0, - "product": { - "id": "RedDress1", - "imageGroups": [ - { - "images": [ - { - "alt": "ALT master detail", - "link": "https://example.com/foo/bar/master_detail.jpg", - "title": "TITLE master detail" - } - ], - "viewType": "detail" - }, - { - "images": [ - { - "alt": "ALT master swatch", - "link": "https://example.com/foo/bar/master_swatch.jpg", - "title": "TITLE master swatch" - } - ], - "viewType": "swatch" - }, - { - "images": [ - { - "alt": "ALT master thumbnail", - "link": "https://example.com/foo/bar/master_thumbnail.jpg", - "title": "TITLE master thumbnail" - } - ], - "viewType": "thumbnail" - } - ], - "inventories": [ - { - "ats": 0, - "backorderable": false, - "id": "RedDress1Inventory", - "orderable": false, - "preorderable": false, - "stockLevel": 0 - } - ], - "minOrderQuantity": 1, - "price": 99.99, - "stepQuantity": 1 - }, - "type": "product" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/ResetPasswordRequest.raml b/apis/customer/shopper-customers/Examples/ResetPasswordRequest.raml deleted file mode 100644 index 662950e4..00000000 --- a/apis/customer/shopper-customers/Examples/ResetPasswordRequest.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "resetToken": "R1e2s3e4t5T6o7k8e9n0", - "login": "janedoe@test.com", - "newPassword": "p@assword2" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/ResetTokenResult.raml b/apis/customer/shopper-customers/Examples/ResetTokenResult.raml deleted file mode 100644 index 50c4bda4..00000000 --- a/apis/customer/shopper-customers/Examples/ResetTokenResult.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "login": "janedoe@test.com", - "email": "janedoe@test.com", - "resetToken": "R1e2s3e4t5T6o7k8e9n0", - "expiresInMinutes": 30 - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/TrustedAuthResponse.raml b/apis/customer/shopper-customers/Examples/TrustedAuthResponse.raml deleted file mode 100644 index 15ac52f6..00000000 --- a/apis/customer/shopper-customers/Examples/TrustedAuthResponse.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "authType": "registered", - "creationDate": "2020-02-14T20:39:53.818Z", - "customerId": "bf9FlYiDM7849QcbnkJ76AMBad", - "customerNo": "00010009", - "email": "jwild1@yourstore.com", - "enabled": true, - "lastLoginTime": "2020-02-14T20:40:00.543Z", - "lastModified": "2020-02-14T20:40:00.543Z", - "lastName": "wild1", - "lastVisitTime": "2020-02-14T20:40:00.543Z", - "login": "f0a43dc2-692a-43bf-b008-e10918ea935d", - "previousLoginTime": "2020-02-14T20:40:00.543Z", - "previousVisitTime": "2020-02-14T20:40:00.543Z" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/UpdateCustomerProductListByListId.raml b/apis/customer/shopper-customers/Examples/UpdateCustomerProductListByListId.raml deleted file mode 100644 index 30a3a237..00000000 --- a/apis/customer/shopper-customers/Examples/UpdateCustomerProductListByListId.raml +++ /dev/null @@ -1,43 +0,0 @@ -{ - "coRegistrant": { - "email": "janedoe@example.com", - "firstName": "Jane", - "lastName": "Doe", - "role": "Bride" - }, - "creationDate": "2019-10-18T22:06:28.965Z", - "currentShippingAddressInfo": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "customerProductListItems": [ - { - "id": "30f35c187ea255ccb633c3ba11", - "priority": 4, - "productId": "SimpleProduct", - "public": false, - "purchasedQuantity": 0, - "quantity": 2, - "type": "product" - } - ], - "description": "Description", - "event": { - "city": "Washington", - "country": "US", - "date": "2019-09-05T17:12:56.670Z", - "state": "DC", - "type": "Wedding" - }, - "id": "bcedkiWbxCM2MaaadkRhB2IBzM", - "lastModified": "2019-10-18T22:06:28.971Z", - "name": "OurProductList", - "public": true, - "registrant": { - "email": "johndoe@example.com", - "firstName": "John", - "lastName": "Doe", - "role": "Groom" - }, - "type": "wish_list" -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/UpdateCustomerProductListItem.raml b/apis/customer/shopper-customers/Examples/UpdateCustomerProductListItem.raml deleted file mode 100644 index ef493cac..00000000 --- a/apis/customer/shopper-customers/Examples/UpdateCustomerProductListItem.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id" : "1d447daa4d25805fd682bd4ce1", - "priority" : 4, - "productId" : "RedDress1", - "public" : true, - "purchasedQuantity" : 0, - "quantity" : 2, - "type" : "product" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/UpdateCustomerRequest.raml b/apis/customer/shopper-customers/Examples/UpdateCustomerRequest.raml deleted file mode 100644 index 623dec60..00000000 --- a/apis/customer/shopper-customers/Examples/UpdateCustomerRequest.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "customerNo": "00010009", - "firstName": "John", - "lastName": "Wild", - "email": "jwild@yourstore.com", - "fax": "+49 03641 78393 346" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/UpdateCustomerResponse.raml b/apis/customer/shopper-customers/Examples/UpdateCustomerResponse.raml deleted file mode 100644 index 4e9ce946..00000000 --- a/apis/customer/shopper-customers/Examples/UpdateCustomerResponse.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "authType": "registered", - "creationDate": "2020-02-14T20:39:53.818Z", - "customerId": "abfTEMDZOgi3JPrkHjv9IhoziM", - "customerNo": "00010009", - "email": "jwild@yourstore.com", - "enabled": true, - "fax": "+49 03641 78393 346", - "firstName": "John", - "lastLoginTime": "2020-02-14T20:51:59.313Z", - "lastModified": "2020-02-14T20:55:12.133Z", - "lastName": "Wild", - "lastVisitTime": "2020-02-14T20:51:59.313Z", - "login": "f0a43dc2-692a-43bf-b008-e10918ea935d", - "previousLoginTime": "2020-02-14T20:51:59.313Z", - "previousVisitTime": "2020-02-14T20:51:59.313Z" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/guestAuthResponse.raml b/apis/customer/shopper-customers/Examples/guestAuthResponse.raml deleted file mode 100644 index dd761d8c..00000000 --- a/apis/customer/shopper-customers/Examples/guestAuthResponse.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "authType": "guest", - "customerId": "bc4db2DZE5xMg7Tnjwa20NrC0X", - "preferredLocale": "en_US" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/productLists-result-example.raml b/apis/customer/shopper-customers/Examples/productLists-result-example.raml deleted file mode 100644 index 8c35a61c..00000000 --- a/apis/customer/shopper-customers/Examples/productLists-result-example.raml +++ /dev/null @@ -1,30 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the ProductLists -value: - { - "limit": 3, - "data": [ - { - "description": "our productlist", - "id": "f4682729817ee215acd3a1a8b4", - "name": "OurProductList", - "title": "OurProductList", - "type": "wish_list" - }, - { - "description": "something", - "id": "b985bea3aaae7702c0b692c65c", - "name": "OurProductList", - "title": "OurProductList", - "type": "wish_list" - }, - { - "description": "our productlist", - "id": "95aa60b8c681ad5431cb4c5bfa", - "name": "OurProductList", - "title": "OurProductList", - "type": "wish_list" - } - ], - "total": 3 - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/productListsID-result-example.raml b/apis/customer/shopper-customers/Examples/productListsID-result-example.raml deleted file mode 100644 index 0e0f415e..00000000 --- a/apis/customer/shopper-customers/Examples/productListsID-result-example.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the ProductLists by ID -value: - { - "coRegistrant" : - { - "email" : "jane.doe@example.com", - "firstName" : "Jane", - "lastName" : "Doe", - "role" : "Bride" - }, - "currentShippingAddressInfo" : - { - "title" : "me, John Doe, Woburn", - "addressId" : "me" - }, - "event" : - { - "city" : "Washington", - "country" : "US", - "date" : "2017-08-20T11:30:36.000Z", - "state" : "DC", - "type" : "Wedding" - }, - "id" : "bcqg6iWbw4XEYaaadjixFLTWP0", - - "name" : "DC-Doe-Wedding", - "postEventShippingAddressInfo" : - { - "addressId" : "me", - "title" : "jane, Jane Doe, Springfield" - },"productListItems" : - [ - { - "id" : "09c9df175e247c0d75d76f443e", - "priority" : 6, - "type" : "product" - } - ], - "public": true, - "registrant" : - { - "email" : "john.doe@example.com", - "firstName" : "John", - "lastName" : "Doe", - "role" : "Groom" - }, - "shippingAddressInfo" : - { - "addressId" : "me", - "title" : "me, John Doe, Woburn" - }, - "type" : "gift_registry" -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/Examples/productListsIDItems-result-example.raml b/apis/customer/shopper-customers/Examples/productListsIDItems-result-example.raml deleted file mode 100644 index 908afbef..00000000 --- a/apis/customer/shopper-customers/Examples/productListsIDItems-result-example.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the ProductLists by ID items -value: - { - "limit": 1, - "data": [ - { - "id": "023513f915fad06573f330fb0d", - "priority": 0, - "product" : - { - "id" : "RedDress1", - "imageGroups" : - [ - { - "images" : - [ - { - "alt" : "ALT master detail", - "link" : "https://example.com/foo/bar/master_detail.jpg", - "title" : "TITLE master detail" - } - ], - "viewType" : "detail" - }, - { - "images" : - [ - { - "alt" : "ALT master swatch", - "link" : "https://example.com/foo/bar/master_swatch.jpg", - "title" : "TITLE master swatch" - } - ], - "viewType" : "swatch" - }, - { - "images" : - [ - { - "alt" : "ALT master thumbnail", - "link" : "https://example.com/foo/bar/master_thumbnail.jpg", - "title" : "TITLE master thumbnail" - } - ], - "viewType" : "thumbnail" - } - ], - "inventories" : - [ - { - "ats" : 0, - "backorderable" : false, - "id" : "RedDress1Inventory", - "orderable" : false, - "preorderable" : false, - "stockLevel" : 0 - } - ], - "minOrderQuantity" : 1, - "stepQuantity" : 1 - }, - "type": "product" - } - ], - "total": 1 - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Traits/BadRequest.raml b/apis/customer/shopper-customers/Traits/BadRequest.raml deleted file mode 100644 index fef5eada..00000000 --- a/apis/customer/shopper-customers/Traits/BadRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: 400 response when there is a bad request for a customer. -responses: - '400': - description: | - CustomerId URL parameter does not match the verified customer represented by the JWT token. - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Invalid Customer", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-customer", - "detail": "The customer is invalid." - } diff --git a/apis/customer/shopper-customers/Traits/CustomerAuthenticationFailed.raml b/apis/customer/shopper-customers/Traits/CustomerAuthenticationFailed.raml deleted file mode 100644 index 42f19e39..00000000 --- a/apis/customer/shopper-customers/Traits/CustomerAuthenticationFailed.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: 401 response when a customer is not authenticated. -responses: - '401': - description: | - Case of type credentials the username is unknown or the password does not match. In case of type session, the session is not active anymore or the dwsecuretoken value is invalid. In both cases the customer is disabled or locked. - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Authentication Failed", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/authentication-failed", - "detail": "Customer authentication based on JohnSmith failed.", - "credentialType": "JohnSmith" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Traits/ExternalProfileBadRequest.raml b/apis/customer/shopper-customers/Traits/ExternalProfileBadRequest.raml deleted file mode 100644 index fda46809..00000000 --- a/apis/customer/shopper-customers/Traits/ExternalProfileBadRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: 400 response when there is a bad request for a customer. -responses: - '400': - description: | - Customer ExternalId URL parameter is not valid. - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Invalid Customer External Profile", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-customer-external-profile", - "detail": "The customer external profile is invalid." - } diff --git a/apis/customer/shopper-customers/Traits/ExternalProfileNotFound.raml b/apis/customer/shopper-customers/Traits/ExternalProfileNotFound.raml deleted file mode 100644 index 7054ab41..00000000 --- a/apis/customer/shopper-customers/Traits/ExternalProfileNotFound.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: 404 response when a customer external profile is not found. -responses: - '404': - description: | - Requested Resource Not Found - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found", - "detail": "No customer with external profile with ID 'abfTWMDZOgi3JPzkHjv9IhmziI' could be found.", - "externalId": "abfTWMDZOgi3JPzkHjv9IhmziI" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Traits/NotFound.raml b/apis/customer/shopper-customers/Traits/NotFound.raml deleted file mode 100644 index 7bb9a029..00000000 --- a/apis/customer/shopper-customers/Traits/NotFound.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: 404 response when a customer is not found. -responses: - '404': - description: | - Requested Resource Not Found - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found", - "detail": "No customer with ID 'abfTWMDZOgi3JPzkHjv9IhmziI' could be found.", - "customerId": "abfTWMDZOgi3JPzkHjv9IhmziI" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/Traits/Unauthorized.raml b/apis/customer/shopper-customers/Traits/Unauthorized.raml deleted file mode 100644 index b656e407..00000000 --- a/apis/customer/shopper-customers/Traits/Unauthorized.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: 401 response when a customer is not authorized. -responses: - '401': - description: | - Indicates that the customerId URL parameter does not match the verified customer represented by the JWT token, which is not relevant when using OAuth, or indicates that the provided new address name is already used for the customer. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "iI6IjEiLCJhbGciOiJIUzI1NiIsInR5cCI6Ik" - } \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange.json b/apis/customer/shopper-customers/exchange.json deleted file mode 100644 index b38ea2b9..00000000 --- a/apis/customer/shopper-customers/exchange.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "0.0.50", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-customers.raml", - "assetId": "shopper-customers", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Customers", - "tags": [] -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/customer/shopper-customers/shopper-customers-description.md b/apis/customer/shopper-customers/shopper-customers-description.md deleted file mode 100644 index 434270c2..00000000 --- a/apis/customer/shopper-customers/shopper-customers-description.md +++ /dev/null @@ -1,52 +0,0 @@ -# API Overview - -The Shopper Customers API enables you to develop functionality that lets customers log in, and manage their profiles and product lists. Profile management includes ability for shoppers to add or modify addresses and payment methods, and add or modify products to wishlists or favorites. Commerce Cloud provides a rich set of Authentication APIs that include logging in guest shoppers, registered shoppers, agents on behalf of customers and a trusted system authentication on behalf of customers. In all authentication scenarios involving customers, a JSON Web Token (JWT) is generated in Commerce Cloud. Using the JWT, customers can access other Shopper API resources like Orders and Baskets. The application must refresh the JWT every 30 minutes to save the shopper activity (for example, retain products in a shopper's cart) for prolonged periods of time. - -## Authentication & Authorization - -The client requesting the customer information must have access to the Customer and Product List resources. The API requests pass a system-to-system bearer token in the header of the request. For the trusted system API, the trusted client must first authenticate against Account manager to log in on behalf of a customer. - -For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Register a New Customer - -In this use case, a customer who is browsing on a commerce shopping app built using B2C Commerce APIs would like to create a customer profile, so that they can track their order when logged in on the next visit. - -The API flow is shown in the following diagram: - -![b2c-commerce-shopper-customers-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-customers-screenshot-1.png) - -1. The shopper opens the shopping app. -2. Request an access token from SLAS. For details, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. -3. The SLAS API responds with the shopper access token (JWT). -4. The shopper adds a product to their basket. -5. Use the Shopper Baskets API to create a basket. The shopper JWT from SLAS is supplied in the authorization header. -6. Save the basket with a registered user customer ID (even though the shopper is still a guest). The shopper JWT from SLAS is supplied in the authorization header. -7. The shopper creates a profile. -8. Use the Shopper Customers API to register the customer. - -### Authenticate a Trusted System on Behalf of a Customer - -In this cross-cloud use case, a Experience Cloud user places an order on Commerce Cloud from the Experience Cloud using the platform APIs. The Experience Cloud app is a trusted system that has a trusted relationship with Commerce Cloud using the OAuth client credentials grant against the Commerce Cloud Account Manager. The Experience Cloud user logs in with a redirect to Salesforce IDM and after successful login, the client application is able to call B2C Commerce APIs on behalf of the customer. Commerce Cloud returns a JWT for the Experience Cloud user and the Experience Cloud user is able to place orders on Commerce Cloud. - -The API flow is shown in the following diagram: - -![b2c-commerce-shopper-customers-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-customers-screenshot-2.png) - -### Reset Customer Password - -In this use case, a shopper who is browsing on a commerce shopping app, built using B2C Commerce APIs, requests to reset their password. The app verifies the shopper's credentials and returns a 404 if verification fails. Otherwise, when the shopper requests their password to be reset, the app first creates a password reset token using the shopper’s login ID, and an account manager token (obtained using the client credentials grant). After the app has the password reset token, the app can prompt the shopper for new password. Any app-level customization, such as sending a password reset email, can be done at this step. Finally, the app calls the reset endpoint to reset the customer’s password. - -![b2c-commerce-shopper-customers-screenshot-3.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-customers-screenshot-3.png) - -### Update Shopper LoginId - -In this use case, in order to update a shopper's loginId, the PATCH /customers/{customerId} call can be used starting B2C Commerce Cloud GA release 24.7. The new field in the request called `currentPassword` is mandatory and needs to match the shopper's existing password. If this field is not provided or does not match the existing shopper password when trying to update loginId, a HTTP 400 rsponse will be returned. If the loginId field is not sent in the PATCH request body, the `currentPassword` field is not required. -**Note: After the `loginId` is updated, a new SLAS token must be fetched for the shopper for subsequent calls. - -### Use Hooks - -For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) - diff --git a/apis/customer/shopper-customers/shopper-customers.raml b/apis/customer/shopper-customers/shopper-customers.raml deleted file mode 100644 index 5eab4cd8..00000000 --- a/apis/customer/shopper-customers/shopper-customers.raml +++ /dev/null @@ -1,4031 +0,0 @@ -#%RAML 1.0 -title: Shopper Customers -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/customer/shopper-customers/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include shopper-customers-description.md - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CustomerTraits: Customer-traits-library.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - AuthRequest: - description: Document representing the authentication request type. - properties: - type: - description: "Type of authentication request: guest, credentials or refresh" - type: string - enum: - - guest - - credentials - - refresh - required: false - example: credentials - Basket: - description: |- - Document representing a basket. - - properties: - adjustedMerchandizeTotalTax: - description: |- - The tax after applying discounts in the purchase currency. - - Adjusted merchandize prices represent the sum of product prices before - services (such as shipping) have been added, but after adjustments from - promotions have been added. - type: number - format: double - example: 20.3 - adjustedShippingTotalTax: - description: |- - The tax of all shipping line items of the line item container, after - shipping adjustments have been applied. - type: number - format: double - example: 15.5 - agentBasket: - description: Is the basket created by an agent? - type: boolean - example: false - basketId: - description: The unique identifier for the basket. - type: string - example: "MyBasket" - billingAddress: - description: The billing address. This property is part of basket checkout information only. - type: OrderAddress - required: false - bonusDiscountLineItems: - description: The bonus discount line items of the line item container. - type: array - items: - type: BonusDiscountLineItem - required: false - channelType: - description: The sales channel for the order. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - couponItems: - description: The sorted array of coupon items. This array can be empty. - type: array - items: - type: CouponItem - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - currency: - description: The ISO 4217 mnemonic code of the currency. - type: string - example: "USD" - customerInfo: - description: The customer information for logged in customers. This property is part of basket checkout information only. - type: CustomerInfo - giftCertificateItems: - description: The sorted array of gift certificate line items. This array can be empty. - type: array - items: - type: GiftCertificateItem - required: false - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - inventoryReservationExpiry: - description: Date on which the inventory reservation for this basket expires. - type: datetime - required: false - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - merchandizeTotalTax: - description: |- - The total tax in the purchase currency. - - Merchandize total prices represent the sum of product prices before - services (such as shipping) or adjustments from promotions have - been added. - type: number - format: double - example: 10.0 - notes: - description: The notes for the line item container. - type: SimpleLink - orderPriceAdjustments: - description: The array of order level price adjustments. This array can be empty. - type: array - items: - type: PriceAdjustment - required: false - orderTotal: - description: |- - The total price of the order, including products, shipping, and tax. This property is part of basket checkout information only. - type: number - format: double - paymentInstruments: - description: The payment instruments list for the order. - type: array - items: - type: OrderPaymentInstrument - required: false - productItems: - description: The sorted array of product items (up to a maximum of 50 items). This array can be empty. - type: array - items: - type: ProductItem - required: false - productSubTotal: - description: |- - The total price of all product items after all product discounts. - - Depending on taxation policy, the returned price is net or gross. - type: number - format: double - example: 150.99 - productTotal: - description: |- - The total price of all product items after all product and order discounts - - Depending on taxation policy, the returned price is net or gross. - type: number - format: double - example: 99.99 - shipments: - description: The array of shipments. This property is part of basket checkout information only. - type: array - items: - type: Shipment - shippingItems: - description: The sorted array of shipping items. This array can be empty. - type: array - items: - type: ShippingItem - shippingTotal: - description: |- - The total shipping price of the order after all shipping discounts. Excludes tax if the taxation policy is net. Includes - tax if the taxation policy is gross. This property is part of the basket checkout information only. - type: number - format: double - example: 12.99 - shippingTotalTax: - description: |- - The tax of all shipping line items of the line item container, before - shipping adjustments have been applied. - type: number - format: double - example: 2.99 - sourceCode: - description: Gets the source code assigned to this basket. - type: string - required: false - taxTotal: - description: The total tax amount of the order. This property is part of basket checkout information only. - type: number - format: double - example: 5.99 - taxation: - description: The taxation the line item container is based on. - type: string - enum: - - gross - - net - example: net - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, - it is set to false. It is read only. - type: boolean - example: - true - temporaryBasket?: - description: |- - If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. It is read only. - type: boolean - example: - true - BasketsResult: - description: Result document containing an array of baskets. - properties: - baskets: - description: The list of baskets for a customer. - type: array - items: - type: Basket - required: false - total: - description: The total number of baskets. - type: integer - format: int32 - example: 10 - BonusDiscountLineItem: - description: Document representing a bonus discount line item. - properties: - bonusProducts: - description: The list of links to the bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode: - description: The coupon code that triggered the promotion, if applicable. - type: string - example: "BOGO" - id: - description: The ID of the line item. - type: string - example: "45239" - maxBonusItems: - description: The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - example: 1 - promotionId: - description: The ID of the promotion which triggered the creation of the line item. - type: string - example: "summer-sale" - - BundledProduct: - description: Document representing a bundled product within a product bundle. - properties: - id: - type: string - example: "awesome-bundle" - product: - description: The product being bundled. - type: Product - quantity: - description: For the product being bundled, the quantity added to the bundle. - type: number - format: double - CouponItem: - description: Document representing a coupon item. - properties: - code: - description: The coupon code. - maxLength: 256 - type: string - example: "BOGO" - couponItemId: - description: The coupon item ID. - type: string - required: false - example: "934kkas" - statusCode: - description: The status of the coupon item. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - required: false - example: applied - valid: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is `applied` or `no_applicable_promotion`. - type: boolean - required: false - example: true - Customer: - description: Person or entity who shops on Commerce Cloud storefronts by creating a shopper account in Commerce Cloud. - properties: - addresses: - description: The customer's addresses. - type: array - items: - type: CustomerAddress - required: false - authType: - description: |- - The customer's authorization type (indicates whether the customer is a guest - or a registered customer). - type: string - enum: - - guest - - registered - required: false - example: registered - birthday: - description: The customer's birthday. - type: date-only - required: false - companyName: - description: The customer's company name. - maxLength: 256 - type: string - required: false - example: "Acme" - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - customerId: - description: |- - The customer's number (ID). Both registered and guest customers have a - customer ID. - maxLength: 28 - type: string - required: false - example: "dfuisydifu2342usyf" - customerNo: - description: |- - The customer's number (ID). Only a registered customer has a customer - number. - maxLength: 100 - type: string - required: false - example: "D0000123" - currentPassword: - description: The shopper's current password. This is only used when attempting to update a shopper's `loginId` in a PATCH call. This value is never returned in any response for security reasons, but is validated and must match shopper's existing password in order to update `loginId`. Otherwise, an HTTP 400 statusCode is returned and the `loginId` is not updated. This field and functionality is available with B2C Commerce version 24.7. - type: string - required: false - email: - description: The customer's email address. - maxLength: 256 - type: string - required: false - example: "johnsmith@email.com" - enabled: - description: A flag indicating whether this customer is enabled and can log in. - type: boolean - required: false - example: true - fax: - description: The customer's fax number. The length is restricted to 32 characters. - maxLength: 32 - type: string - required: false - example: 555-555-5555 - firstName: - description: The customer's first name. - maxLength: 256 - type: string - required: false - example: "John" - gender: - description: The customer's gender. - type: integer - format: int32 - required: false - example: 1 - hashedLogin: - description: Represents the read-only hashed value for the `loginId` used for Einstein events. This field is available with B2C Commerce version 24.9. - type: string - required: false - example: "123927deac310a3dae382897d9e458bd92ef1d4ea5cdd327a0fcffd8426dfbb5" - jobTitle: - description: The customer's job title. - maxLength: 256 - type: string - required: false - example: "Supervisor" - lastLoginTime: - description: The time when the customer last logged in. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - lastName: - description: The customer's last name. - maxLength: 256 - type: string - required: false - example: "Smith" - lastVisitTime: - description: The time when the customer last visited. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - login: - description: The customer's login. In a PATCH call, this field can only be updated by providing a valid `currentPassword` for the shopper. The `loginId` update feature is available with B2C Commerce version 24.7. - maxLength: 256 - type: string - required: false - example: "jsmith" - note: - description: The customer's note. - type: string - required: false - example: "customer-note" - paymentInstruments: - description: The customer's payment instruments. - type: array - items: - type: CustomerPaymentInstrument - required: false - phoneBusiness: - description: The customer's business phone number. - maxLength: 32 - type: string - required: false - example: 555-555-5555 - phoneHome: - description: The customer's home phone number. - maxLength: 32 - type: string - required: false - example: 555-555-5555 - phoneMobile: - description: The customer's mobile phone number. - maxLength: 32 - type: string - required: false - example: 555-555-5555 - preferredLocale: - description: The customer's preferred locale. - type: string - required: false - example: "us-en" - previousLoginTime: - description: The time when the customer previously logged in. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - previousVisitTime: - description: The time when the customer last visited the store. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - salutation: - description: The salutation to use for the customer. - maxLength: 256 - type: string - required: false - example: "Mr." - secondName: - description: The customer's second name. - maxLength: 256 - type: string - required: false - example: "Smith" - suffix: - description: The customer's suffix (for example, "Jr." or "Sr."). - maxLength: 256 - type: string - required: false - example: "Jr." - title: - description: The customer's title (for example, "Mrs" or "Mr"). - maxLength: 256 - type: string - required: false - example: "Mr." - CustomerAddress: - description: Address that is associated with a shopper (billing, shipping, mailing, and so on). - properties: - address1: - description: The first address. - maxLength: 256 - type: string - required: false - example: "10 Presidential Way" - address2: - description: The second address. - maxLength: 256 - type: string - required: false - example: "Apt-616" - addressId: - description: The ID of the address as specified by account owner. - maxLength: 256 - type: string - example: "Home" - city: - description: The city. - maxLength: 256 - type: string - required: false - example: "New York" - companyName: - description: The company name. - maxLength: 256 - type: string - required: false - example: "Acme Inc" - countryCode: - description: The two-letter ISO 3166-1 (Alpha-2) country code. - maxLength: 2 - type: string - example: "US" - pattern: ^([A-Z][A-Z])$ - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T17:12:56.670Z - firstName: - description: The first name. - maxLength: 256 - type: string - required: false - example: "John" - fullName: - description: The full name. - maxLength: 256 - type: string - required: false - example: "John Smith" - jobTitle: - description: The job title. - maxLength: 256 - type: string - required: false - example: "Supervisor" - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T17:12:56.670Z - lastName: - description: The last name. - maxLength: 256 - type: string - example: "Smith" - phone: - description: The phone number. - maxLength: 32 - type: string - required: false - example: "555-555-5555" - postBox: - description: The post box. - maxLength: 256 - type: string - required: false - example: "12345" - postalCode: - description: The postal code. - maxLength: 256 - type: string - required: false - example: "N5" - preferred: - description: The preferred attribute. - type: boolean - required: false - example: true - salutation: - description: The salutation. - maxLength: 256 - type: string - required: false - example: "Sir" - secondName: - description: The second name. - maxLength: 256 - type: string - required: false - example: "Smith" - stateCode: - description: The state code. - maxLength: 256 - type: string - required: false - example: "UT" - suffix: - description: The suffix. - maxLength: 256 - type: string - required: false - example: "Sr." - suite: - description: The suite. - maxLength: 32 - type: string - required: false - example: "100" - title: - description: The title. - maxLength: 256 - type: string - required: false - example: "Supervisor" - CustomerAddressInfo: - description: Result document of product list addresses. - properties: - addressId: - description: The ID of the address. - maxLength: 256 - type: string - example: "Home" - title: - description: The link title. - type: string - example: "title" - CustomerInfo: - description: Document representing information used to identify a customer. - properties: - customerId: - description: The customer's number (ID). - maxLength: 100 - type: string - required: false - example: "3034s93875939348394hk3348" - customerName: - description: The customer's name. - type: string - required: false - example: "John Smith" - customerNo: - description: The customer's number (ID). - maxLength: 100 - type: string - example: "123" - email: - description: The customer's email address. - type: string - example: "jsmith@email.com" - CustomerOrderResult: - description: Result document containing an array of customer orders. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 3 - data: - description: The array of customer order documents. - type: Order[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 3 - CustomerPaymentCardRequest: - description: Document representing a customer payment card request. - properties: - cardType: - description: The payment card type (for example, "Visa"). - maxLength: 256 - type: string - example: "Visa" - creditCardToken: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data at the - token store. - type: string - required: false - example: "hk2jh293484" - expirationMonth: - description: The month the payment card expires. - type: integer - format: int32 - example: 11 - expirationYear: - description: The year the payment card expires. - type: integer - format: int32 - example: 9999 - holder: - description: The payment card holder. - maxLength: 256 - type: string - example: "John Smith" - issueNumber: - description: The payment card issue number. - maxLength: 256 - type: string - example: "92743927" - number: - description: The payment card number. - maxLength: 4000 - type: string - example: "4454852652415965" - validFromMonth: - description: The month the payment card valid is from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: 11 - validFromYear: - description: The year the payment card is valid from. - type: integer - format: int32 - example: 23 - CustomerPaymentInstrument: - description: Method for customers to pay for the goods purchased on an ecommerce site. Payment methods include - credit card, debit card, bank account, and gift card. - properties: - bankRoutingNumber: - description: The bank routing number. - maxLength: 256 - type: string - required: false - example: "KDSJHKS" - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - maskedGiftCertificateCode: - description: The masked gift certificate code. - type: string - required: false - example: "gift-code" - paymentBankAccount: - description: The payment bank account. - type: PaymentBankAccount - required: false - paymentCard: - description: The payment card. - type: PaymentCard - required: false - paymentInstrumentId: - description: The payment instrument ID. - type: string - example: "Personal" - required: false - paymentMethodId: - description: The payment method ID. Optional if a customer payment instrument ID is specified. - maxLength: 256 - type: string - example: "Personal" - required: false - CustomerPaymentInstrumentRequest: - description: Document representing a customer payment instrument request. - properties: - bankRoutingNumber: - description: The bank routing number. - maxLength: 256 - type: string - example: "AB123" - required: false - giftCertificateCode: - description: The gift certificate code. - maxLength: 256 - type: string - example: "gift-code" - required: false - paymentBankAccount: - description: The payment bank account request data. - type: PaymentBankAccountRequest - required: false - paymentCard: - description: The customer payment card. - type: CustomerPaymentCardRequest - required: false - paymentMethodId: - description: The payment method ID. Optional if a customer payment instrument ID is specified. - maxLength: 256 - type: string - example: "Credit Card" - required: false - Discount: - description: Document representing a discount that was applied to the price. - properties: - amount: - description: The amount that is used with the amount and fixed price types. - type: number - format: double - required: false - example: 30.25 - percentage: - description: The percentage that is used with percentage types. - type: number - format: double - required: false - example: 10.5 - priceBookId: - description: The price book ID that is used with some types. - type: string - required: false - example: "sale-pricebook" - type: - description: The type of discount. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: percentage - CustomerProductList: - description: Document representing a customer product list. - properties: - coRegistrant: - description: The coregistrant of this product list. - type: CustomerProductListRegistrant - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - currentShippingAddressInfo: - description: The resource link to the current shipping address of this customer product list. - type: CustomerAddressInfo - required: false - customerProductListItems: - description: The list of customer product list items. - type: array - required: false - items: - type: CustomerProductListItem - description: - description: The description of this product list. - type: string - required: false - example: "My Product List" - event: - description: The event of this product list. - type: ProductListEvent - required: false - id: - description: The ID of this product list. - minLength: 1 - type: string - required: false - example: "MyList" - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - name: - description: The name of this product list. - type: string - required: false - example: "Danny's Product List" - postEventShippingAddressInfo: - description: The resource link to the post event shipping address of this customer product list. - type: CustomerAddressInfo - required: false - productListShippingAddress: - description: The abbreviated shipping address of this product list representing what an anonymous user can see. - type: ProductListShippingAddress - required: false - public: - description: Indicates whether the owner made this product list available for access by other customers. - type: boolean - required: false - example: true - registrant: - description: The registrant of this product list. - type: CustomerProductListRegistrant - required: false - shippingAddressInfo: - description: The resource link to the shipping address of this customer product list. - type: CustomerAddressInfo - required: false - type: - description: The type of the product list. - type: string - required: false - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: "wish_list" - CustomerProductListItem: - description: Document representing a customer product list item. - properties: - id: - description: The ID of this product list item. - type: string - required: false - example: "Main Product" - priority: - description: The priority of the item. - type: integer - format: int32 - example: 1 - product: - description: The product item. - type: Product - required: false - productId: - description: The ID of the product. - type: string - required: false - example: "Toaster" - public: - description: Is this product list item available for access by other customers? - type: boolean - example: true - purchasedQuantity: - description: The quantity of products already purchased. - type: number - format: double - required: false - example: 1 - quantity: - description: The quantity of this product list item. - minimum: 0 - type: number - format: double - example: 2 - type: - description: The type of the item. - type: string - required: false - enum: - - product - - gift_certificate - example: "product" - CustomerProductListItemPurchase: - description: Document representing a customer product list item purchase. - properties: - id: - description: The ID of this purchase. - type: string - example: "myId" - orderNo: - description: The order number of this purchase. - type: string - example: "28234" - productListItemId: - description: The ID of the product list item this purchase relates to. - type: string - example: "My Product List" - purchaserName: - description: The name of the purchaser. - type: string - example: "John Smith" - quantity: - description: The quantity of this product list item purchased. - minimum: 0 - type: number - format: double - example: 1.0 - CustomerProductListRegistrant: - description: Document representing a customer product list registrant. - properties: - email: - description: The email of the registrant. - type: string - example: "jsmith@mail.com" - firstName: - description: The first name of the registrant. - type: string - example: "John" - lastName: - description: The last name of the registrant. - type: string - example: "Smith" - role: - description: The role of the registrant. - type: string - example: "Friend" - CustomerProductListResult: - description: Document representing a customer product lists result. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 13 - data: - description: The customer product lists. - type: array - items: - type: CustomerProductList - total: - description: The total number of documents. - type: integer - format: int32 - example: 3 - CustomerRegistration: - description: Document representing the registration information for a customer. - properties: - customer: - description: The customer registration information. The mandatory properties for registration are login, last name and email. - type: Customer - example: {"login": "jsmith", "email": "jsmith@test.com", "last_name": "Smith"} - password: - description: The login password - type: string - example: "Abcd!1234" - GiftCertificateItem: - description: A gift certificate item. - properties: - amount: - description: The certificate item amount. - type: number - format: double - example: 120.5 - giftCertificateItemId: - description: ID used to identify this item. - type: string - required: false - example: "myGiftId" - message: - description: The certificate's message. - maxLength: 4000 - type: string - required: false - example: "Buy One Get One Free" - recipientEmail: - description: The recipient's email. - minLength: 1 - type: string - example: "jsmith@mail.com" - recipientName: - description: The recipient's name. - type: string - required: false - example: "John Smith" - senderName: - description: The sender's name. - type: string - required: false - example: "Jane Smith" - shipmentId: - description: The shipment ID. - type: string - required: false - example: "Express" - GroupedTaxItem: - description: |- - Document representing the grouped tax item. - type: - CommerceCloudStandards.ClosedObject - properties: - taxRate?: - description: |- - The tax rate. It is read only. - type: number - format: double - example: 0.10 - taxValue?: - description: |- - The summed up tax total for the tax rate. It is read only. - type: number - format: double - example: 10.03 - Image: - description: Image of the product within a customer's productList. - properties: - alt: - type: string - required: false - example: "myImage" - disBaseLink: - type: string - required: false - example: "www.image.com/product.jpg" - link: - minLength: 1 - type: string - example: "https://www.ecom.com/myProduct.jpg" - title: - type: string - required: false - example: "My Product Image" - ImageGroup: - description: Document representing an image group containing a list of images for a particular view type and an optional variation value. - properties: - images: - description: The images of the image group. - type: array - items: - type: Image - variationAttributes: - description: Returns a list of variation attributes applied to this image group. - type: array - items: - type: VariationAttribute - required: false - viewType: - description: The image view type. - type: string - example: "Hi-Res" - Inventory: - description: Document representing inventory information of the current product for a particular inventory list. - properties: - ats: - description: |- - The Available To Sell (ATS) of the product. If it is infinity, the return value is `999999`. The value can be overwritten by the - OCAPI setting `product.inventory.ats.max_threshold`. - type: number - format: double - required: false - example: 25.0 - backorderable: - description: A flag indicating whether the product is backorderable. - type: boolean - required: false - example: true - id: - description: The inventory ID. - type: string - example: "listInventory" - inStockDate: - description: A flag indicating the date when the product will be in stock. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - orderable: - description: A flag indicating whether at least one product is available to sell. - type: boolean - required: false - example: true - preorderable: - description: A flag indicating whether the product is pre orderable. - type: boolean - required: false - example: true - stockLevel: - description: |- - The stock level of the product. If it is infinity, the return value is `999999`. The value can be overwritten by the - OCAPI setting `product.inventory.stock_level.max_threshold`. - type: number - format: double - required: false - example: 22 - Master: - description: Representation of a group of variant products. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Doesn't have a SKU.* - properties: - masterId: - maxLength: 100 - minLength: 1 - type: string - example: "Shirt" - orderable: - type: boolean - required: false - example: true - price: - type: number - format: double - required: false - example: 29.99 - priceMax: - type: number - format: double - required: false - example: 39.99 - prices: - type: object - properties: - //: - type: number - format: double - required: false - Option: - description: Document representing a product option. - properties: - description: - description: The localized description of the option. - type: string - required: false - example: "Great Option" - id: - description: The ID of the option. - maxLength: 100 - minLength: 1 - type: string - example: "Warranty" - image: - description: The URL to the option image. - type: string - required: false - example: "https://www.image.com/option.jpg" - name: - description: The localized name of the option. - type: string - required: false - example: "Warranty Option" - values: - description: The array of option values. This array can be empty. - type: array - items: - type: OptionValue - required: false - OptionItem: - description: Document representing an option item. - properties: - adjustedTax: - description: The tax of the product item after adjustments are applied. - type: number - format: double - required: false - example: 2.52 - basePrice: - description: |- - The base price for the line item, which is the - price of the unit before applying adjustments, in the purchase - currency. Depending on the configured taxation policy, the base price may be net or gross of tax. - type: number - format: double - required: false - example: 29.99 - bonusDiscountLineItemId: - description: The ID of the bonus discount line item this bonus product relates to. - type: string - required: false - example: "myProduct" - bonusProductLineItem: - description: A flag indicating whether the product item is a bonus. - type: boolean - required: false - example: true - bundledProductItems: - description: The array of bundled product items. Can be empty. - type: array - items: - type: ProductItem - required: false - gift: - description: Returns true if the item is a gift. - type: boolean - required: false - example: false - giftMessage: - description: The gift message. - type: string - required: false - example: "Enjoy!" - inventoryId: - description: The inventory list ID associated with this item. - maxLength: 256 - type: string - required: false - example: "storeInventory" - itemId: - description: |- - The item identifier. Use this to identify an item when updating the item quantity or creating a custom price - adjustment for an item. - type: string - required: false - example: "Shirt" - itemText: - description: The text describing the item in more detail. - type: string - required: false - example: "Magical Shirt" - optionId: - description: The ID of the option. - maxLength: 256 - type: string - example: "Warranty" - optionItems: - description: The array of option items. This array can be empty. - type: array - items: - type: OptionItem - required: false - optionValueId: - description: The ID of the option value. - maxLength: 256 - type: string - example: "5 years" - price: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - required: false - example: 29.99 - priceAdjustments: - description: Array of price adjustments. Can be empty. - type: array - items: - type: PriceAdjustment - required: false - priceAfterItemDiscount: - description: |- - The price of the product line item after applying all product-level - adjustments. For net pricing the adjusted net price is returned. For gross pricing, the adjusted - gross price is returned. - type: number - format: double - required: false - example: 19.99 - priceAfterOrderDiscount: - description: |- - The price of this product line item after considering all - dependent price adjustments and prorating all order-level - price adjustments. For net pricing the net price is returned. For gross - pricing, the gross price is returned. - type: number - format: double - required: false - example: 19.99 - productId: - description: The ID of the product. - maxLength: 100 - type: string - required: false - example: "Shirt" - productListItem: - description: The product list item. - type: ProductListItemReference - required: false - productName: - description: The name of the product. - type: string - required: false - example: "Nice Shirt" - quantity: - description: The quantity of products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - required: false - example: 100.00 - shipmentId: - description: The ID of the shipment which includes the product item. - type: string - required: false - example: "Express" - shippingItemId: - description: |- - The reference to the related shipping item, if it exists. This is the case, if for example, when a surcharge is - defined for individual products using a particular a shipping method. - type: string - required: false - example: "Express" - tax: - description: The tax of the product item before adjustments are applied. - type: number - format: double - required: false - example: 5.50 - taxBasis: - description: The price used to calculate the tax for this product item. - type: number - format: double - required: false - example: 10 - taxClassId: - description: |- - The tax class ID for the product item, or `null` - if no tax class ID is associated with the product item. - type: string - required: false - example: "Standard" - taxRate: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - required: false - example: 8.5 - OptionValue: - description: Document representing an option value. - properties: - default: - description: A flag indicating whether this option value is the default one. - type: boolean - required: false - example: true - id: - description: The ID of the option value. - maxLength: 100 - minLength: 1 - type: string - example: "5Years" - name: - description: The localized name of the option value. - type: string - required: false - example: "5 Year Warranty" - price: - description: The effective price of this option value. - type: number - format: double - required: false - example: 15.99 - Order: - description: Document representing an order. - properties: - adjustedMerchandizeTotalTax: - description: |- - The tax after discounts applied in the purchase currency. - - Adjusted merchandize prices represent the sum of product prices before - services (such as shipping) have been added, but after adjustments from - promotions have been added. - type: number - format: double - required: false - example: 6.50 - adjustedShippingTotalTax: - description: |- - The tax of all shipping line items of the line item container after - shipping adjustments have been applied. - type: number - format: double - required: false - example: 5.5 - billingAddress: - description: The billing address. This property is part of basket checkout information only. - type: OrderAddress - required: false - bonusDiscountLineItems: - description: The bonus discount line items of the line item container. - type: array - items: - type: BonusDiscountLineItem - required: false - channelType: - description: The sales channel for the order. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - required: false - example: store - confirmationStatus: - description: The confirmation status of the order. - type: string - enum: - - not_confirmed - - confirmed - couponItems: - description: The sorted array of coupon items. This array can be empty. - type: array - items: - type: CouponItem - required: false - createdBy: - description: The name of the user who created the order. - type: string - required: false - example: "Someone" - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - currency: - description: The ISO 4217 mnemonic code of the currency. - type: string - required: false - example: "USD" - customerInfo: - description: The customer information for logged in customers. This property is part of basket checkout information only. - type: CustomerInfo - required: false - customerName: - description: The name of the customer associated with this order. - type: string - required: false - example: "John Smith" - exportStatus: - description: The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - externalOrderStatus: - description: The external status of the order. - type: string - required: false - example: "set" - giftCertificateItems: - description: The sorted array of gift certificate line items. This array can be empty. - type: array - items: - type: GiftCertificateItem - required: false - globalPartyId: - description: globalPartyId is managed by Customer 360. Its value can be changed. - type: string - required: false - example: "globalId" - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - merchandizeTotalTax: - description: |- - The total tax in the purchase currency. - - Merchandize total prices represent the sum of product prices before - services (such as shipping) or adjustments from promotions have - been added. - type: number - format: double - required: false - example: 5.5 - notes: - description: The notes for the line item container. - type: SimpleLink - required: false - orderNo: - description: The order number of the order. - type: string - required: false - example: "firstOrder" - orderPriceAdjustments: - description: The array of order level price adjustments. This array can be empty. - type: array - items: - type: PriceAdjustment - required: false - orderToken: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. - type: string - required: false - example: "token" - orderTotal: - description: |- - The total price of the order, including products, shipping, and tax. This property is part of basket checkout - information only. - type: number - format: double - required: false - example: 59.99 - paymentInstruments: - description: Method for customer to pay for the goods purchased on an ecommerce site. Payment methods include credit card, debit card, bank account, and gift card. - type: array - items: - type: OrderPaymentInstrument - required: false - paymentStatus: - description: The payment status of the order. - type: string - enum: - - not_paid - - part_paid - - paid - productItems: - description: The sorted array of product items (up to a maximum of 50 items). This array can be empty. - type: array - items: - type: ProductItem - required: false - productSubTotal: - description: |- - The total price of all product items after all product discounts. - Depending on taxation policy the returned price is net or gross. - type: number - format: double - required: false - example: 29.99 - productTotal: - description: |- - The total price of all product items after all product and order discounts. - Depending on taxation policy the returned price is net or gross. - type: number - format: double - required: false - example: 39.99 - shipments: - description: The array of shipments. This property is part of basket checkout information only. - type: array - items: - type: Shipment - required: false - shippingItems: - description: The sorted array of shipping items. This array can be empty. - type: array - items: - type: ShippingItem - required: false - shippingStatus: - description: The shipping status of the order. - type: string - enum: - - not_shipped - - part_shipped - - shipped - shippingTotal: - description: |- - The total shipping price of the order after all shipping discounts. Excludes tax if the taxation policy is net. Includes - tax if the taxation policy is gross. This property is part of basket checkout information only. - type: number - format: double - required: false - example: 59.99 - shippingTotalTax: - description: |- - The tax of all shipping line items of the line item container, before - shipping adjustments have been applied. - type: number - format: double - required: false - example: 5.99 - siteId: - description: The site where the order resides. - type: string - required: false - example: "SiteGenesis" - sourceCode: - description: Gets the source code assigned to this basket. - type: string - required: false - example: "code" - status: - description: The status of the order. - type: string - enum: - - created - - new - - open - - completed - - cancelled - - replaced - - failed - taxTotal: - description: The total tax amount of the order. This property is part of basket checkout information only. - type: number - format: double - required: false - example: 15.99 - taxation: - description: The taxation the line item container is based on. - type: string - enum: - - gross - - net - required: false - example: net - OrderAddress: - description: Document representing an order address. - properties: - address1: - description: The first address. - type: string - example: "10 Presidential Way" - address2: - description: The second address. - type: string - required: false - example: "Apt 10" - city: - description: The city. - type: string - example: "New York" - companyName: - description: The company name. - type: string - required: false - example: "Acme Inc" - countryCode: - description: The two-letter ISO 3166-1 (Alpha-2) country code. - type: string - example: "US" - pattern: ^([A-Z][A-Z])$ - firstName: - description: The first name. - type: string - example: "John" - fullName: - description: The full name. - type: string - required: false - example: "John Smith" - id: - description: ID used to identify this address - type: string - required: false - example: "Home" - jobTitle: - description: The job title. - type: string - required: false - example: "Supervisor" - lastName: - description: The last name. - type: string - example: "Smith" - phone: - description: The phone number. - type: string - required: false - example: "555-555-5555" - postBox: - description: The post box. - type: string - required: false - example: "58426" - postalCode: - description: The postal code. - type: string - example: "N5" - salutation: - description: The salutation. - type: string - required: false - example: "Mr." - secondName: - description: The second name. - type: string - required: false - example: "Smith" - stateCode: - description: The state code. - type: string - required: false - example: "UT" - suffix: - description: The suffix. - type: string - required: false - example: "Sr." - suite: - description: The suite. - type: string - required: false - example: "100" - title: - description: The title. - type: string - required: false - example: "Engineer" - OrderPaymentInstrument: - description: Document representing an order payment instrument. - properties: - amount: - description: The payment transaction amount. - type: number - format: double - example: 101.99 - authorizationStatus: - description: The authorization status of the payment transaction. - type: Status - bankRoutingNumber: - description: The bank routing number. - maxLength: 256 - type: string - example: "ACB123" - maskedGiftCertificateCode: - description: The masked gift certificate code. - type: string - example: "*****" - paymentBankAccount: - description: The payment bank account. - type: PaymentBankAccount - paymentCard: - description: The payment card. - type: PaymentCard - paymentInstrumentId: - description: The payment instrument ID. - type: string - example: "myId" - paymentMethodId: - description: The payment method ID. Optional if a customer payment instrument ID is specified. - maxLength: 256 - type: string - example: "CreditCard" - PasswordChangeRequest: - description: Document representing a password change request. - properties: - currentPassword: - description: The customer's current password. - maxLength: 4096 - type: string - example: "p@ssword1" - password: - description: The customer's new password. - maxLength: 4096 - type: string - example: "p@ssword2" - ResetPasswordRequest: - description: Document representing a reset password request. - properties: - resetToken: - description: Temporary token used to reset password. - maxLength: 4096 - type: string - example: "R1e2s3e4t5T6o7k8e9n0" - login: - description: The customer's login. - pattern: ^(?!\s*$).+ - maxLength: 256 - type: string - example: "loginId" - newPassword: - description: New password to reset to. - type: string - maxLength: 4096 - example: "p@ssword2" - ResetPasswordTokenRequest: - description: Document representing a reset password token request. - properties: - login: - description: The customer's login. - pattern: ^(?!\s*$).+ - maxLength: 256 - type: string - example: "loginId" - ResetPasswordToken: - description: Document representing reset password token response. - properties: - login: - description: The customer's login. - pattern: ^(?!\s*$).+ - maxLength: 256 - type: string - example: "loginId" - email: - description: The customer's email address. - maxLength: 256 - type: string - example: "jdoe@customer.com" - resetToken: - description: Temporary token generated that will be used to reset password. - maxLength: 4096 - type: string - example: "R1e2s3e4t5T6o7k8e9n0" - expiresInMinutes: - description: Reset token expiry (in minutes). - type: integer - format: int32 - example: 30 - PaymentBankAccount: - description: Document representing a payment bank account. - properties: - driversLicenseLastDigits: - description: |- - The last 4 characters of the decrypted driver’s license number of the bank account associated with this payment - instrument. - maxLength: 256 - type: string - required: false - example: "7435" - driversLicenseStateCode: - description: The driver’s license state code. - maxLength: 256 - type: string - required: false - example: UT - holder: - description: The holder of the bank account. - maxLength: 256 - type: string - required: false - example: "John Smith" - maskedDriversLicense: - description: |- - The decrypted driver’s license number of the bank account with all but the last 4 characters replaced with `*` - characters. - maxLength: 256 - type: string - required: false - example: "****7658" - maskedNumber: - description: The masked bank account number. - maxLength: 256 - type: string - required: false - example: "********" - numberLastDigits: - description: The last digits of the bank account number. - maxLength: 256 - required: false - type: string - example: "6654" - PaymentBankAccountRequest: - description: Document representing a payment bank account request. - properties: - driversLicense: - description: The driver’s license. - maxLength: 256 - type: string - example: "84736485" - driversLicenseStateCode: - description: The driver’s license state code. - maxLength: 256 - type: string - example: "UT" - holder: - description: The holder of the bank account. - maxLength: 256 - type: string - example: "John Smith" - number: - description: The payment bank account number. - maxLength: 256 - type: string - example: "9796976" - PaymentCard: - description: Document representing a payment card. - properties: - cardType: - description: The payment card type (for example, "Visa"). - maxLength: 256 - type: string - example: "Visa" - creditCardExpired: - description: A flag indicating if the credit card is expired. - type: boolean - required: false - example: false - creditCardToken: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data in the - token store. - type: string - required: false - example: "969kJSD9" - expirationMonth: - description: The month the payment card expires. - type: integer - format: int32 - required: false - example: 03 - expirationYear: - description: The year the payment card expires. - type: integer - format: int32 - required: false - example: 23 - holder: - description: The payment card holder. - maxLength: 256 - type: string - required: false - example: "John Smith" - issueNumber: - description: The payment card issue number. - maxLength: 256 - type: string - required: false - example: "769969" - maskedNumber: - description: The masked credit card number. - maxLength: 4000 - type: string - required: false - example: "*****************" - numberLastDigits: - description: The last digits of credit card number. - maxLength: 4000 - type: string - required: false - example: "4579" - validFromMonth: - description: The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - required: false - example: 11 - validFromYear: - description: The year the payment card is valid from. - type: integer - format: int32 - required: false - example: 15 - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - are assigned at the order, product, or shipping level. They are created by the - promotion engine if the custom flag is set to false, or are added by custom logic if the custom - flag is set to `true`. For custom price adjustments created by a user, the manual flag should be - set to `true`. This is always the case for price adjustments created using OCAPI. - properties: - appliedDiscount: - description: |- - A price adjustment that provides details of the discount that was applied. - This adjustment is `null` for custom price adjustments created - without discount details. - type: Discount - couponCode: - description: |- - The coupon code that triggered the promotion, provided - the price adjustment was created as the result of a promotion - being triggered by a coupon. - type: string - example: "free" - createdBy: - description: The user who created the price adjustment. - type: string - example: "John Smith" - creationDate: - description: Returns the value of the `creationDate` attribute. - type: datetime - example: 9999-12-31T00:00:00.0Z - custom: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This flag is - set to true unless the price adjustment was created by the promotion engine. - type: boolean - example: false - itemText: - description: The text describing the item in more detail. - type: string - example: "Brand New Item" - lastModified: - description: Returns the value of the `lastModified` attribute. - type: datetime - example: 9999-12-31T00:00:00.0Z - manual: - description: |- - A flag indicating whether this price adjustment was created in a manual process. - - For custom price adjustments created using the Shop API, this always - returns `true`. Using the scripting API, however, it is possible to set this to `true` - or `false`, according to the use case. - type: boolean - example: true - price: - description: The adjustment price. - type: number - format: double - example: 29.99 - priceAdjustmentId: - description: The price adjustment ID (UUID). - type: string - example: "3845kj34593845hiuhf" - promotionId: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - example: "BestPromotion" - promotionLink: - description: The URL addressing the related promotion. - type: string - example: "www.site.com/promotions" - reasonCode: - description: The reason why this price adjustment was made. - type: string - enum: - - PRICE_MATCH - - BACKORDER - - EVEN_EXCHANGE - example: BACKORDER - Product: - description: Document representing a product. - properties: - brand: - description: The product’s brand. - type: string - required: false - example: "Apple" - bundledProducts: - description: The array of all bundled products of this product. - type: array - items: - type: BundledProduct - required: false - currency: - description: The ISO 4217 mnemonic code of the currency. - type: string - required: false - example: "USD" - ean: - description: The European Article Number. - type: string - required: false - example: "sidfhg97" - fetchDate: - type: integer - format: int32 - required: false - example: 15 - id: - description: The ID (SKU) of the product. - maxLength: 100 - minLength: 1 - type: string - example: "8746534" - imageGroups: - description: The array of product image groups. - type: array - items: - type: ImageGroup - required: false - inventories: - description: |- - The array of product inventories explicitly requested via the `inventory_ids` query parameter. This property - is only returned in the context of the `availability` expansion. - type: array - items: - type: Inventory - required: false - inventory: - description: |- - The site default inventory information. This property is only - returned in the context of the `availability` expansion. - type: Inventory - required: false - longDescription: - description: The localized product long description. - type: string - required: false - example: "Best Product Ever" - manufacturerName: - description: The product’s manufacturer name. - type: string - required: false - example: "Apple" - manufacturerSku: - description: The product’s manufacturer SKU. - type: string - required: false - example: "938579345" - master: - description: The master product information. Only for types master, variation group, and variant. - type: Master - required: false - minOrderQuantity: - description: The minimum order quantity for this product. - type: number - format: double - required: false - example: 10.0 - name: - description: The localized product name. - type: string - required: false - example: "Best Product" - options: - description: The array of product options, for type option. This array can be empty. - type: array - items: - type: Option - required: false - pageDescription: - description: The localized products page description. - type: string - required: false - pageKeywords: - description: The localized products page description. - type: string - required: false - example: "Apple" - pageTitle: - description: The localized products page title. - type: string - required: false - example: "Product" - price: - description: |- - The sales price of the product. In case of complex products, like master or set, this is the minimum price of - related child products. - type: number - format: double - required: false - example: 59.99 - priceMax: - description: The maximum sales of related child products in case of complex products like master or set. - type: number - format: double - required: false - example: 69.99 - prices: - description: The prices map with pricebook IDs and their values. - type: object - properties: - //: - type: number - format: double - required: false - primaryCategoryId: - description: The ID of the product’s primary category. - type: string - required: false - example: "Mens" - productLinks: - description: The array of source and target products links information. - type: array - items: - type: ProductLink - required: false - productPromotions: - description: |- - The array of active customer product promotions for this product. This array can be empty. - Coupon promotions are not returned in this array. - type: array - items: - type: ProductPromotion - required: false - recommendations: - description: Returns a list of recommendations. - type: array - items: - type: Recommendation - required: false - setProducts: - description: The array of set products of this product. - type: array - items: - type: Product - required: false - shortDescription: - description: The localized product short description. - type: string - required: false - example: "What a Product!" - stepQuantity: - description: |- - The steps in which the order amount of the product can be - increased. - type: number - format: double - required: false - example: 1 - type: - description: "The product type information. Can be one or multiple of the following values: item, master, variation_group, variant, bundle, and set." - type: ProductType - required: false - unit: - description: The sales unit of the product. - type: string - required: false - example: "kg" - upc: - description: The Universal Product Code (UPC). - type: string - required: false - example: "0384753lj4lj" - validFrom: - description: The time when product is valid from. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - validTo: - description: The time when product is valid to. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - variants: - description: The array of actual variants. This array can be empty. Only for types master, variation group, and variant. - type: array - items: - type: Variant - required: false - variationAttributes: - description: |- - Sorted array of variation attributes information. This array can be empty. Only for types master, - variation group, and variant. - type: array - items: - type: VariationAttribute - required: false - variationGroups: - description: The array of actual variation groups. This array can be empty. Only for types master, variation group, and variant. - type: array - items: - type: VariationGroup - required: false - variationValues: - description: |- - The actual variation attribute ID - value pairs. Only for type variant and - variation group. - type: object - properties: - //: - type: string - required: false - ProductLink: - description: |- - Document representing a link between two products. It contains the ID of the source and target products, the type of - product link, and URLs to retrieve product data. - properties: - sourceProductId: - description: The semantic ID of the product from which this product link is coming from. - type: string - example: "9475394" - sourceProductLink: - description: The URL addressing the product from which this product link is coming from. - type: string - targetProductId: - description: The semantic ID of the product to which this product link is pointing to. - type: string - example: "534583745" - targetProductLink: - description: The URL addressing the product to which this product link is pointing to. - type: string - type: - description: The type of product link. - type: string - enum: - - cross_sell - - replacement - - up_sell - - accessory - - newer_version - - alt_orderunit - - spare_part - - other - example: up_sell - ProductListEvent: - description: Document representing a product list event. - properties: - city: - description: The city where the event takes place. - type: string - required: false - example: "New York" - country: - description: The country where the event takes place. - type: string - required: false - example: "USA" - date: - description: The date when the event takes place. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - state: - description: The federal state where the event takes place. - type: string - required: false - example: "UT" - type: - description: Type of the event to celebrate. - type: string - example: "wedding" - ProductDetailsLink: - description: Document representing a link to the resource for product details. - properties: - productDescription: - description: The description of the product. - type: string - required: false - example: "Awesome Product" - productId: - description: The ID of the product. - type: string - example: "384756345" - productName: - description: The name of the product. - type: string - required: false - example: "WhatAProduct" - title: - description: The link title. - type: string - required: false - example: "ProductLink" - ProductListItemReference: - properties: - id: - description: The ID of the product list item. - type: string - example: "93475" - priority: - type: integer - format: int32 - required: false - example: 1 - productList: - description: The link of the product list the item is assigned to. - type: ProductListLink - required: false - public: - type: boolean - required: false - example: true - purchasedQuantity: - type: number - format: double - required: false - example: 12.0 - quantity: - minimum: 0 - type: number - format: double - required: false - example: 10.0 - type: - type: string - enum: - - product - - gift_certificate - required: false - example: product - ProductListRegistrant: - description: |- - - A `ProductListRegistrant` is typically associated with an event-related product list, such as a gift registry. It holds - information about a person associated with the event, such as a bride or groom. - - properties: - firstName: - description: The first name of the registrant. - type: string - example: "John" - lastName: - description: The last name of the registrant. - type: string - example: "Smith" - role: - description: The role of the registrant. - type: string - example: "CEO" - ProductListShippingAddress: - description: Document representing a product list shipping address. - properties: - addressId: - description: The ID of this address. - minLength: 1 - type: string - example: "Home" - city: - description: The city of this address. - type: string - required: false - example: "New York" - firstName: - description: The first name of this address. - type: string - required: false - example: "John" - lastName: - description: The last name of this address. - type: string - required: false - example: "Smith" - ProductListLink: - description: Document representing a link to a product list. - properties: - description: - description: The description of this product list. - type: string - example: "Awesome Product List" - link: - description: The target of the link. - type: string - example: "www.examplelist.com/myproductlist" - name: - description: The name of this product list. - type: string - example: "Super List" - public: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. - type: boolean - example: true - title: - description: The link title. - type: string - example: "My Product List" - type: - description: The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: wish_list - ProductItem: - description: Document representing a product item. - properties: - adjustedTax: - description: The tax of the product item after adjustments are applied. - type: number - format: double - required: false - example: 5.5 - basePrice: - description: |- - The base price for the line item, which is the - price of the unit before applying adjustments, in the purchase - currency. The base price may be net or gross of tax depending - on the configured taxation policy. - type: number - format: double - required: false - example: 29.99 - bonusDiscountLineItemId: - description: The ID of the bonus discount line item that the bonus product relates to. - type: string - required: false - example: "someId" - bonusProductLineItem: - description: A flag indicating whether the product item is a bonus. - type: boolean - required: false - example: false - bundledProductItems: - description: The array of bundled product items. Can be empty. - type: array - items: - type: ProductItem - required: false - gift: - description: Returns `true` if the item is a gift. - type: boolean - required: false - example: true - giftMessage: - description: The gift message. - type: string - required: false - example: "Enjoy the gift" - inventoryId: - description: The inventory list ID associated with this item. - maxLength: 256 - type: string - required: false - example: "someInventory" - itemId: - description: |- - The item identifier. Use this to identify an item when updating the item quantity or creating a custom price adjustment for an item. - type: string - required: false - example: "simpleItemId" - itemText: - description: The text describing the item in more detail. - type: string - required: false - example: "Super Item" - optionItems: - description: The array of option items. This array can be empty. - type: array - items: - type: OptionItem - required: false - price: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - required: false - example: 39.99 - priceAdjustments: - description: Array of price adjustments. Can be empty. - type: array - items: - type: PriceAdjustment - required: false - priceAfterItemDiscount: - description: |- - The price of the product line item after applying all product-level - adjustments. For net pricing the adjusted net price is returned. For gross pricing, the adjusted - gross price is returned. - type: number - format: double - required: false - example: 35.99 - priceAfterOrderDiscount: - description: |- - The price of this product line item after considering all - dependent price adjustments and prorating all order-level - price adjustments. For net pricing the net price is returned. For gross - pricing, the gross price is returned. - type: number - format: double - required: false - example: 35.99 - productId: - description: The ID of the product. - maxLength: 100 - type: string - required: false - example: "8374524" - productListItem: - description: The product list item. - type: ProductListItemReference - required: false - productName: - description: The name of the product. - type: string - required: false - example: "Shirt" - quantity: - description: The quantity of products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: 5 - shipmentId: - description: The ID of the shipment which includes the product item. - type: string - required: false - example: "Express" - shippingItemId: - description: |- - The reference to the related shipping item if it exists. This is the case if, for example, when a surcharge is - defined for individual products using a particular a shipping method. - type: string - required: false - example: "Express" - tax: - description: The tax of the product item before adjustments are applied. - type: number - format: double - required: false - example: 5.5 - taxBasis: - description: The price used to calculate the tax for this product item. - type: number - format: double - required: false - example: 39.99 - taxClassId: - description: |- - The tax class ID for the product item, or `null` - if no tax class ID is associated with the product item. - type: string - required: false - example: "standard" - taxRate: - description: |- - The decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - required: false - example: 12.5 - ProductPromotion: - description: Document representing a product promotion. - properties: - calloutMsg: - description: The localized call-out message of the promotion. - type: string - example: "Super Promotion" - promotionId: - description: The unique ID of the promotion. - type: string - example: "summerBlowout" - promotionalPrice: - description: The promotional price for this product. - type: number - format: double - example: 15.99 - ProductType: - description: Document representing a product type. - properties: - bundle: - description: A flag indicating whether the product is a bundle. - type: boolean - example: true - item: - description: A flag indicating whether the product is a standard item. - type: boolean - example: true - master: - description: A flag indicating whether the product is a master. - type: boolean - example: true - option: - description: A flag indicating whether the product is an option. - type: boolean - example: true - set: - description: A flag indicating whether the product is a set. - type: boolean - example: true - variant: - description: A flag indicating whether the product is a variant. - type: boolean - example: true - variationGroup: - description: A flag indicating whether the product is a variation group. - type: boolean - example: true - PublicProductListInfo: - description: Document representing a link to a public product list. - properties: - description: - description: The description of this product list. - type: string - required: false - example: "Super Awesome ProductList" - id: - description: The ID of the product-list document. - type: string - example: "3958739435" - name: - description: The name of this product list. - type: string - required: false - example: "My Product List" - title: - description: The link title. - type: string - example: "Product List Title" - type: - description: The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: custom_1 - PublicProductListResult: - description: Result document containing an array of public product list links. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: The array of product list link documents. - type: array - items: - type: PublicProductListInfo - total: - description: The total number of documents. - type: integer - format: int32 - example: 12 - PublicProductList: - description: Document representing a customer product list. - properties: - coRegistrant: - description: The coRegistrant of this product list. - type: ProductListRegistrant - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - description: - description: The description of this product list. - type: string - required: false - example: "Super Product List" - event: - description: The event of this product list. - type: ProductListEvent - required: false - id: - description: The id of this product list. - minLength: 1 - type: string - example: "873465834" - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - name: - description: The name of this product list. - type: string - required: false - example: "My Product List" - productListItems: - description: The product list items - type: array - items: - type: PublicProductListItem - required: false - productListShippingAddress: - description: The abbreviated shipping address of this product list representing what anonymous users see. - type: ProductListShippingAddress - required: false - public: - description: Indicates whether the owner made this product list available for access by other customers. - type: boolean - example: true - registrant: - description: The registrant of this product list. - type: ProductListRegistrant - required: false - type: - description: The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: gift_registry - PublicProductListItem: - description: Document representing a product list item. - properties: - id: - description: The ID of this product list item. - type: string - example: "8745345" - priority: - description: The priority of the item. - type: integer - format: int32 - example: 2 - product: - description: The product item. - type: Product - required: false - type: - description: The type of the item. - type: string - enum: - - product - - gift_certificate - example: product - Recommendation: - description: Document representing a product recommendation. - properties: - calloutMsg: - description: The localized callout message of the recommendation. - type: string - required: false - example: "Buy this too" - image: - description: The image of the recommendation. - type: Image - required: false - longDescription: - description: The localized long description of the recommendation. - type: string - required: false - example: "Goes well with..." - name: - description: The localized name of the recommendation. - type: string - required: false - example: "Reco Product" - recommendationType: - description: The recommendation type of the recommendation. - type: RecommendationType - recommendedItemId: - description: The recommended item ID of the recommendation. - type: string - required: false - example: "93457893" - recommendedItemLink: - description: The recommended item link of the recommendation. - type: string - required: false - example: "Link" - shortDescription: - description: The localized short description of the recommendation. - type: string - required: false - example: "Awesome Product" - RecommendationType: - description: Document representing a recommendation type. - properties: - displayValue: - description: The localized display value of the recommendation type. - type: string - example: "UpSell" - value: - description: The value of the recommendation type. - type: integer - format: int32 - example: 2 - Shipment: - description: Document representing a shipment. - properties: - adjustedMerchandizeTotalTax: - description: |- - The tax after applying discounts in the purchase currency. Adjusted merchandize prices represent the sum of - product prices before services (such as shipping) have been added, but after adjustments from promotions have been added. - - Order level adjustments are considered if the Discount Taxation preference is set to - "Tax Products and Shipping Only Based on Adjusted Price." - type: number - format: double - required: false - example: 3.5 - adjustedShippingTotalTax: - description: The tax of all shipping line items of the line item container, after shipping adjustments have been applied. - type: number - format: double - required: false - example: 2.4 - gift: - description: A flag indicating whether the shipment is a gift. - type: boolean - required: false - example: true - giftMessage: - description: The gift message. - type: string - required: false - example: "Enjoy the Gift" - merchandizeTotalTax: - description: |- - The total tax in the purchase currency. Merchandize total prices represent the sum of product prices before - services (such as shipping), or adjustments from promotions, have been added. - type: number - format: double - required: false - example: 5.5 - productSubTotal: - description: |- - The total price of all product items after all product discounts. Depending on taxation policy, the returned price is net or gross. - type: number - format: double - required: false - example: 15.99 - productTotal: - description: |- - The total price of all product items after all product and order discounts. Depending on taxation policy, the returned price is net or gross. - type: number - format: double - required: false - example: 25.99 - shipmentId: - description: The order specific ID to identify the shipment. - type: string - required: false - example: "384765kad" - shipmentNo: - description: |- - Returns the shipment number for this shipment. - - This number is automatically generated. - type: string - required: false - example: "38453345" - shipmentTotal: - description: |- - The total price of the shipment, including products, shipping, and tax. - - Order level adjustments are not considered. - type: number - format: double - required: false - example: 10.99 - shippingAddress: - description: The shipping address. - type: OrderAddress - required: false - shippingMethod: - description: The shipping method. - type: ShippingMethod - required: false - shippingStatus: - description: The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: shipped - shippingTotal: - description: |- - The total shipping price of the shipment, after all shipping discounts. Excludes tax if the taxation policy is net. - Includes tax if the taxation policy is gross. - type: number - format: double - required: false - example: 12.99 - shippingTotalTax: - description: The tax of all shipping line items of the line item container, before shipping adjustments have been applied. - type: number - format: double - required: false - example: 7.99 - taxTotal: - description: |- - The total tax amount of the shipment. - - Note that order level adjustments are considered if Discount Taxation preference is set to - "Tax Products and Shipping Only Based on Adjusted Price". - type: number - format: double - required: false - example: 7.99 - trackingNumber: - description: The tracking number of the shipment. - type: string - required: false - example: "3394853khbdf9sdf" - ShippingItem: - description: Document representing a shipping item. - properties: - adjustedTax: - description: The tax of the product item after adjustments are applied. - type: number - format: double - example: 5.5 - basePrice: - description: |- - The base price for the line item, which is the - price of the unit before applying adjustments, in the purchase - currency. The base price may be net or gross of tax depending - on the configured taxation policy. - type: number - format: double - example: 15.99 - itemId: - description: |- - The item identifier. Use this to identify an item when - updating the item quantity or creating a custom price adjustment for an item. - type: string - example: "3984" - itemText: - description: The text describing the item in more detail. - type: string - example: "My Item" - price: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - example: 29.99 - priceAdjustments: - description: Array of price adjustments. Can be empty. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount: - description: |- - The price of the product line item after applying all product-level - adjustments. For net pricing, the adjusted net price is returned. For gross pricing, the adjusted - gross price is returned. - type: number - format: double - example: 19.99 - shipmentId: - description: The identifier of the shipment to which this item belongs. - type: string - example: "ssdf9sd34f" - tax: - description: The tax of the product item before adjustments are applied. - type: number - format: double - example: 7.99 - taxBasis: - description: The price used to calculate the tax for this product item. - type: number - format: double - example: 29.99 - taxClassId: - description: |- - The tax class ID for the product item, or `null` - if no tax class ID is associated with the product item. - type: string - example: "standard" - taxRate: - description: |- - The decimal tax rate to be applied to the product represented by this item. - type: number - format: double - example: 12.5 - ShippingMethod: - description: Document representing a shipping method. - properties: - description: - description: The localized description of the shipping method. - type: string - required: false - example: "One Day Shipment" - externalShippingMethod: - description: The external shipping method. - type: string - required: false - example: "Air" - id: - description: The shipping method ID. - maxLength: 256 - type: string - example: "9wrksdf" - name: - description: The localized name of the shipping method. - type: string - required: false - example: "Ship" - price: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. - type: number - format: double - required: false - example: 12.99 - shippingPromotions: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - required: false - ShippingPromotion: - description: Document representing a shipping promotion. - properties: - calloutMsg: - description: The localized call-out message of the promotion. - type: string - example: "Free Shipping" - promotionId: - description: The unique ID of the promotion. - type: string - example: "wk23459234" - promotionName: - description: The localized promotion name. - type: string - example: "Free Shipping Week" - SimpleLink: - description: Document representing a link to another resource. - properties: - link: - description: The link to the resource. - type: string - example: "www.examplelink.com" - Status: - description: Document representing a status of an object. - properties: - code: - description: The status code. - type: string - example: "Success" - message: - description: The status message. - type: string - example: "Looking good" - status: - description: |- - The status. - - For more information on status values see, `dw.system.Status.OK` and - `dw.system.Status.ERROR`. - type: integer - format: int32 - example: 2 - TrustedSystemAuthRequest: - description: Document representing trusted system auth request. - properties: - clientId: - description: |- - The client ID of the shopping application to be encoded in the customer JSON Web Token (JWT). - This is not the same as the OAuth Client ID used to authenticate the API call, as - the OAuth Client ID is the trusted and private ID and this is the untrusted and public ID. - pattern: ^(?!\s*$).+ - type: string - example: "349534859384534" - login: - description: The customer's login. - pattern: ^(?!\s*$).+ - type: string - example: "loginId" - Variant: - description: Document representing a product variation. - properties: - orderable: - description: A flag indicating whether the variant is orderable. - type: boolean - required: false - example: true - price: - description: The sales price of the variant. - type: number - format: double - required: false - example: 25.99 - productId: - description: The ID (SKU) of the variant. - maxLength: 100 - minLength: 1 - type: string - example: "489752348592" - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - required: false - VariationAttribute: - description: Document representing a variation attribute. - properties: - id: - description: The ID of the variation attribute. - minLength: 1 - type: string - example: "color" - name: - description: The localized display name of the variation attribute. - type: string - required: false - example: "Color" - values: - description: The sorted array of variation values. This array can be empty. - type: array - items: - type: VariationAttributeValue - required: false - VariationAttributeValue: - description: Document representing a variation attribute value. - properties: - description: - description: The localized description of the variation value. - type: string - required: false - example: "Red" - image: - description: The first product image for the configured viewtype and this variation value. - type: Image - required: false - imageSwatch: - description: The first product image for the configured viewtype and this variation value (typically the swatch image). - type: Image - required: false - name: - description: The localized display name of the variation value. - type: string - required: false - example: "Red" - orderable: - description: A flag indicating whether at least one variant with this variation attribute value is available to sell. - type: boolean - required: false - example: true - value: - description: The actual variation value. - minLength: 1 - type: string - example: "Red" - VariationGroup: - description: Document representing a variation group. - properties: - orderable: - description: A flag indicating whether the variation group is orderable. - type: boolean - example: true - price: - description: The sales price of the variation group. - type: number - format: double - example: 25.99 - productId: - description: The ID (SKU) of the variation group. - maxLength: 100 - minLength: 1 - type: string - example: "93485793" - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - CustomerExtProfileRequest: - description: Document representing the External Profile Request. - properties: - authenticationProviderId: - description: The authentication Provider Id - type: string - minLength: 1 - required: true - example: "Google" - email: - description: The Email of the customer. - type: string - minLength: 1 - required: false - example: "s@gmail.com" - externalId: - description: The ID of the customer. - type: string - minLength: 1 - required: true - example: "jsmith@gmail.com" - firstName: - description: The First Name of the customer. - type: string - minLength: 1 - required: false - example: "John" - lastName: - description: The Last Name of the customer. - type: string - minLength: 1 - required: false - example: "Smith" - CustomerExternalProfile: - description: The Document representing the External Profile of a Customer. - type: CustomerExtProfileRequest - properties: - customerId: - description: The Id of the Customer - type: string - minLength: 1 - required: true - example: "1234" -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /customers: - post: - description: Registers a new customer. The mandatory data are the credentials, profile last name, and email. This requires a JSON Web Token (JWT) which needs to be obtained using the POST /customers/auth API with type "guest", or from the Shopper Login (SLAS) API. The return type object for this endpoint is a common customer object shared by multiple Shopper Customer endpoints. In this case, all customer object details are returned, but attributes that are not included in the response, although they might be part of the customer object, are ignored. For example, although address information is included in the customer object, it is not displayed in the response for this endpoint and is ignored. - displayName: registerCustomer - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.CustomerAuthenticationFailed - responses: - "200": - description: Success - body: - application/json: - type: Customer - examples: - customer: !include Examples/CustomerRegistrationResponse.raml - body: - application/json: - type: CustomerRegistration - example: !include Examples/CustomerRegistrationRequest.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-customers.register] } - /password/actions: - /reset: - post: - description: Reset customer password, after obtaining a reset token. This is the second step in the reset customer password flow, where a customer password is reset by providing the new credentials along with a reset token. This call should be preceded by a call to the /create-reset-token endpoint. - displayName: resetPassword - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - responses: - "204": - description: Reset password successful. No Content - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.shopper-customers.login] } - body: - application/json: - type: ResetPasswordRequest - example: !include Examples/ResetPasswordRequest.raml - /create-reset-token: - post: - description: Get reset password token. This is the first step in the reset customer password flow, where a password reset token is requested for future use to reset a customer password. This call should be followed by a call to the /reset endpoint. - displayName: getResetPasswordToken - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - responses: - "200": - description: Reset password token generated and returned successfully. - body: - application/json: - type: ResetPasswordToken - example: !include Examples/ResetTokenResult.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.shopper-customers.login] } - body: - application/json: - type: ResetPasswordTokenRequest - example: {"login": "janedoe@test.com"} - /external-profile: - post: - description: Registers a new external profile for a customer. This endpoint accepts a guest customer ShopperToken (JWT) only. - displayName: registerExternalProfile - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.CustomerAuthenticationFailed - responses: - "200": - description: Success - body: - application/json: - type: CustomerExternalProfile - example: !include Examples/CustomerExternalProfile.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-customers.register] } - body: - application/json: - type: CustomerExtProfileRequest - example: !include Examples/ExternalProfileRequest.raml - get: - description: Gets the new external profile for a customer. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: getExternalProfile - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.CustomerExtProfileBadRequest - - CustomerTraits.CustomerExtProfileNotFound - queryParameters: - externalId: - description: The External ID of the customer. - type: string - required: true - minLength: 1 - example: "s@gmail.com" - authenticationProviderId: - description: The authentication Provider Id. - type: string - minLength: 1 - required: true - example: "Google" - responses: - "200": - description: Success - body: - application/json: - type: CustomerExternalProfile - example: !include Examples/CustomerExternalProfile.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.shopper-customers.login] } - - /{customerId}: - get: - description: Gets a customer with all existing addresses and payment instruments associated with the requested customer. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: getCustomer - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: Customer - example: !include Examples/Customer.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount,sfcc.shopper-myaccount.rw] } - patch: - description: Updates a customer. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: updateCustomer - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: Customer - examples: - customer: !include Examples/UpdateCustomerResponse.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.rw] } - body: - application/json: - type: Customer - example: - customer: !include Examples/UpdateCustomerRequest.raml - uriParameters: - customerId: - description: The customer ID. - minLength: 1 - type: string - example: abfTEMDZOgi3JPrkHjv9IhoziM - /addresses: - post: - description: Creates a new address with the given name for the given customer. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: createCustomerAddress - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerAddress - examples: - customerAddress: !include Examples/CustomerAddressResponse.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.addresses.rw] } - body: - application/json: - type: CustomerAddress - examples: - body: !include Examples/CustomerAddressRequest.raml - /{addressName}: - get: - description: Retrieves a customer's address by address name. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: getCustomerAddress - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerAddress - examples: - CustomerAddress: !include Examples/CustomerAddressResponse.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.addresses,sfcc.shopper-myaccount.addresses.rw] } - delete: - description: Deletes a customer's address by address name. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: removeCustomerAddress - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "204": - description: No Content - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.addresses.rw] } - patch: - description: Updates a customer's address by address name. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: updateCustomerAddress - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerAddress - examples: - customerAddress: !include Examples/CustomerAddressRequest.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.addresses.rw] } - body: - application/json: - type: CustomerAddress - examples: - body: !include Examples/CustomerAddressResponse.raml - uriParameters: - addressName: - description: The name of the address to update. - maxLength: 256 - minLength: 1 - type: string - example: home_address - - /baskets: - get: - description: Gets the baskets of a customer. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getCustomerBaskets - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: BasketsResult - examples: - basketsResult: !include Examples/CustomerBasketsResult.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.baskets] } - /orders: - get: - description: Returns a pageable list of all customer's orders. The default page size is 10. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getCustomerOrders - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - - CustomerTraits.OffsetPaginated: - maxLimit: 50 - defaultSize: 10 - queryParameters: - crossSites: - description: The flag indicating whether all sites should be searched. This flag is ignored unless a valid User / Agent is present with a trusted agent on behalf (TAOB) token. Without a TAOB token, only the customer's orders placed on the site specified by siteId are returned. - type: boolean - required: false - example: false - from: - type: string - required: false - example: 2012-10-31 08:46 - until: - type: string - required: false - example: 2012-10-31 08:46 - status: - type: string - required: false - example: new - responses: - "200": - description: Success - body: - application/json: - type: CustomerOrderResult - examples: - customerOrderResult: !include Examples/CustomersOrdersResult.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.orders] } - /password: - put: - description: Updates the customer's password. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: updateCustomerPassword - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "204": - description: No Content - body: - application/json: - type: PasswordChangeRequest - example: {"currentPassword": "01dpass", "password": "newpass"} - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-customers.login] } - /payment-instruments: - post: - description: Adds a payment instrument to the customer information. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: createCustomerPaymentInstrument - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerPaymentInstrument - examples: - customerPaymentInstrument: !include Examples/CustomerPaymentInstrument.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.paymentinstruments.rw] } - body: - application/json: - type: CustomerPaymentInstrumentRequest - examples: - customerPaymentInstrumentRequest: !include Examples/CustomerPaymentInstrumentRequest.raml - /{paymentInstrumentId}: - delete: - description: Deletes a customer's payment instrument. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: deleteCustomerPaymentInstrument - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "204": - description: No Content - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.paymentinstruments.rw] } - get: - description: Retrieves a customer's payment instrument by its ID. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: getCustomerPaymentInstrument - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - 200: - description: Success - body: - application/json: - type: CustomerPaymentInstrument - example: !include Examples/CustomerPaymentInstrument.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.paymentinstruments,sfcc.shopper-myaccount.paymentinstruments.rw] } - uriParameters: - paymentInstrumentId: - description: The ID of the payment instrument to be retrievedCustomer. - minLength: 1 - type: string - example: cdOLciWbOsYl6aaadkwcsx9xHH - /product-lists: - get: - description: Returns all customer product lists. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getCustomerProductLists - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerProductListResult - examples: - customerProductListResult: !include Examples/CustomerProductListResult.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists,sfcc.shopper-myaccount.productlists.rw] } - post: - description: Creates a customer product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: createCustomerProductList - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerProductList - examples: - customerProductList: !include Examples/PostCustomerProductList.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists.rw] } - body: - application/json: - type: CustomerProductList - examples: - customerProductList: !include Examples/PostCustomerProductList.raml - /{listId}: - delete: - description: Deletes a customer product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: deleteCustomerProductList - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "204": - description: No Content - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists.rw] } - get: - description: Returns a customer product list of the given customer and the items in the list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getCustomerProductList - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerProductList - examples: - customerProductList: !include Examples/GetCustomerProductListByListId.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists,sfcc.shopper-myaccount.productlists.rw] } - patch: - description: Changes a product list. Changeable properties are the name, description, and if the list is public. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: updateCustomerProductList - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerProductList - examples: - customerProductList: !include Examples/UpdateCustomerProductListByListId.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists.rw] } - body: - application/json: - type: CustomerProductList - example: {"description": "Description"} - uriParameters: - listId: - description: The product list ID. - maxLength: 28 - minLength: 1 - type: string - example: bcedkiWbxCM2MaaadkRhB2IBzM - /items: - post: - description: |- - Adds an item to the customer's product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - - Considered values from the request body are: - - - `type` → The type of the item to be added to the customer's product. Must be a valid type. Mandatory. - list. - - `priority` → The priority of the item to be added to the customer's product list. - - `public` → The flag that determines whether the item to be added to the customer's product list is public. - - `product_id` → The ID (SKU) of the product related to the item to be added to the customer's product list. A valid product ID, used for product item type only. Must be a valid product ID; otherwise, a `ProductListProductIdMissingException` or `ProductListProductNotFoundException` is thrown. Mandatory when item type is `product`. - - `quantity` → Used for product item type only. This is the quantity of the item to be added to the customer's product list. - - You can also use a custom property of the form `c_`. The custom property must correspond to a custom attribute (``) that is defined for `ProductListItem`. The value of this property must be valid for the type of custom attribute defined for `ProductListItem`. - displayName: createCustomerProductListItem - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerProductListItem - examples: - customerProductListItem: !include Examples/UpdateCustomerProductListItem.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists.rw] } - body: - application/json: - type: CustomerProductListItem - examples: - customerProductListItem: !include Examples/UpdateCustomerProductListItem.raml - /{itemId}: - delete: - description: Removes an item from a customer product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: deleteCustomerProductListItem - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.NotFound - responses: - "204": - description: No Content - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists.rw] } - get: - description: Returns an item of a customer product list and the actual product details like image, availability and price. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getCustomerProductListItem - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerProductListItem - example: !include Examples/CustomerProductListItem.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists,sfcc.shopper-myaccount.productlists.rw] } - patch: - description: |- - Updates an item of a customer's product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - Considered values from the request body are: - - priority: This is the priority of the customer's product list item. - public: This is the flag whether the customer's product list item is public. - quantity: This is the quantity of - the customer's product list item. Used for product item type only. - custom properties in the form c_: The custom property - must correspond to a custom attribute () defined for ProductListItem. - The value of this property must be valid for the type of custom attribute defined for ProductListItem. - - displayName: updateCustomerProductListItem - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerProductListItem - example: !include Examples/UpdateCustomerProductListItem.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists.rw] } - body: - application/json: - type: CustomerProductListItem - example: !include Examples/CustomerProductListItemRequest.raml - uriParameters: - itemId: - description: The ID of the product list item to update. - maxLength: 28 - minLength: 1 - type: string - example: "nikon-d90-wlens" - /product-lists: - get: - description: Retrieves all public product lists as defined by the given search term (for example, email OR first name and last name). This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getPublicProductListsBySearchTerm - queryParameters: - email: - description: The email address of the customer the product lists belong to. - type: string - required: false - example: jsmith@test.com - firstName: - description: The first name of the customer the product lists belong to. - type: string - required: false - example: John - lastName: - description: The last name of the customer the product lists belong to. - type: string - required: false - example: Smith - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - - CustomerTraits.Unauthorized - responses: - "200": - description: Success - body: - application/json: - type: PublicProductListResult - examples: - publicProductListResult: !include Examples/productLists-result-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-productlists] } - /{listId}: - get: - description: Retrieves a public product list by ID and the items under that product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getPublicProductList - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - - CustomerTraits.Unauthorized - responses: - "200": - description: Success - body: - application/json: - type: PublicProductList - examples: - publicProductList: !include Examples/productListsID-result-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-productlists] } - uriParameters: - listId: - description: The ID of the list. - maxLength: 28 - minLength: 1 - type: string - example: bcqg6iWbw4XEYaaadjixFLTWP0 - /items: - /{itemId}: - get: - description: Retrieves an item from a public product list and the actual product details like product, image, availability and price. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getProductListItem - responses: - "200": - description: Success - body: - application/json: - type: PublicProductListItem - examples: - PublicProductListItem: !include Examples/PublicProductListItem.raml - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - - CustomerTraits.Unauthorized - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-productlists] } - uriParameters: - itemId: - description: The ID of the item. - minLength: 1 - type: string - example: 023513f915fad06573f330fb0d diff --git a/apis/customer/shopper-seo/.metadata.json b/apis/customer/shopper-seo/.metadata.json deleted file mode 100644 index b7355b19..00000000 --- a/apis/customer/shopper-seo/.metadata.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-seo/1.0.9", - "name": "Shopper Seo", - "description": "", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-seo", - "version": "1.0.9", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Customer" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/customer/shopper-seo/Example/seo-url-mapping-response-example.raml b/apis/customer/shopper-seo/Example/seo-url-mapping-response-example.raml deleted file mode 100644 index 5f8ca8f0..00000000 --- a/apis/customer/shopper-seo/Example/seo-url-mapping-response-example.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "resourceType": "CATEGORY", - "resourceId": "new-arrivals-tops", - "refinements": { - "refinementColor": "Blue" - } -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/Traits/BadRequest.raml b/apis/customer/shopper-seo/Traits/BadRequest.raml deleted file mode 100644 index 4e6720c0..00000000 --- a/apis/customer/shopper-seo/Traits/BadRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: Thrown if the request is malformed, incomplete or otherwise erroneous. -responses: - '400': - description: The locale is invalid. Confirm that you passed in a locale in the valid format of ISO 639-1 for the language code and ISO 3166-1 for the country code. For example, en-US. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: | - { - "title": "Unknown Locale", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unknown-locale", - "detail": "The locale 'ab-CD' is unknown.", - "locale": "ab-CD" - } \ No newline at end of file diff --git a/apis/customer/shopper-seo/Traits/NotFound.raml b/apis/customer/shopper-seo/Traits/NotFound.raml deleted file mode 100644 index bbd7bd1f..00000000 --- a/apis/customer/shopper-seo/Traits/NotFound.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: Thrown if the requested resource is not found. -responses: - '404': - description: We couldn't find mapping information for the requested URL because there's no corresponding URL rule in Business Manager. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: | - { - "title": "Seo Url Mapping Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/seo-url-mapping-not-found", - "detail": "black/mens/accessories/luggage", - "urlSegment": "black/mens/accessories/luggage", - "locale": "en_US" - } - \ No newline at end of file diff --git a/apis/customer/shopper-seo/Traits/ShopperSeoTrait.raml b/apis/customer/shopper-seo/Traits/ShopperSeoTrait.raml deleted file mode 100644 index a0c6cc9c..00000000 --- a/apis/customer/shopper-seo/Traits/ShopperSeoTrait.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 Library - -uses: - CommerceCloudStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -traits: - LocaleSpecific: - usage: This trait should be used whenever a resource uses the context of a locale associated with its request. This will add a locale query parameter. - queryParameters: - locale?: - type: CommerceCloudStandards.LocaleCode - description: |- - A descriptor to provide locale context for a geographical region by both a language and/or country code. The locale pattern in the query param follows the ISO 639-1 for the language code (e.g. en, de, fr) and ISO 3166-1 for the country code (e.g. US, DE, AT). The param can be a combination of language code and country code or can just refer to the language code. - Below are some valid examples: - - en-US - - de-AT - - de - - default - Please note that if no locale is specified, the default site locale will be used. - example: - en-US \ No newline at end of file diff --git a/apis/customer/shopper-seo/Traits/Unauthorized.raml b/apis/customer/shopper-seo/Traits/Unauthorized.raml deleted file mode 100644 index cb07a7e0..00000000 --- a/apis/customer/shopper-seo/Traits/Unauthorized.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 401 response in case of authorization failure. - -responses: - 401: - description: The user making the call isn't authorized to make this request. For example, the correct scope wasn't added to an SLAS API Client or the access token is invalid or missing. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: | - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "hbGciOiJIUzI1NiIsInR5cCI6Ikp" - } \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange.json b/apis/customer/shopper-seo/exchange.json deleted file mode 100644 index d09d7d23..00000000 --- a/apis/customer/shopper-seo/exchange.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.9", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-seo.raml", - "assetId": "shopper-seo", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Seo", - "tags": [] -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/customer/shopper-seo/shopper-seo-description.md b/apis/customer/shopper-seo/shopper-seo-description.md deleted file mode 100644 index e869f1d0..00000000 --- a/apis/customer/shopper-seo/shopper-seo-description.md +++ /dev/null @@ -1,23 +0,0 @@ -# API Overview - -The Shopper SEO API Provides access to SEO-related information, such as URL mapping information. - -## Authentication & Authorization - -The Shopper SEO API requires a shopper access token from the [Shopper Login and API Access Service (SLAS).](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### URL Resolution - -For information on setting up URL rules and URL redirects in Business Manager, see [URL Resolution.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/url-resolution.html) - -### Caching - -Caching capabilities are available for the Shopper SEO API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) - -### Using Hooks - -For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) \ No newline at end of file diff --git a/apis/customer/shopper-seo/shopper-seo-library.raml b/apis/customer/shopper-seo/shopper-seo-library.raml deleted file mode 100644 index 5f0e12fe..00000000 --- a/apis/customer/shopper-seo/shopper-seo-library.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 Library - -traits: - BadRequest: !include Traits/BadRequest.raml - Unauthorized: !include Traits/Unauthorized.raml - NotFound: !include Traits/NotFound.raml - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - UrlMapping: - description: The URL mapping information for a URL that a shopper clicked or typed in. - type: object - properties: - resourceType: - description: The type of resource that corresponds to the requested URL. If you set up a URL redirect in Business Manager, resourceType returns the corresponding destination type value from the redirect. If there's a URI redirect, resourceType isn't returned. The URL redirect feature is available from B2C Commerce version 24.3. - type: string - required: false - enum: ['CATEGORY', 'PRODUCT', 'CONTENT_ASSET'] - minLength: 1 - maxLength: 256 - resourceSubType: - description: If the resourceType is CONTENT_ASSET, this field tells you whether the resource is a standard content asset or a Page Designer content asset. This output is available from B2C Commerce version 24.2. - type: string - required: false - enum: ['STANDARD_CONTENT_ASSET', 'PAGE_DESIGNER_CONTENT_ASSET'] - minLength: 1 - maxLength: 256 - resourceId: - description: The identifier for the resource that corresponds to the requested URL. If you set up a URL redirect in Business Manager, resourceId returns the corresponding destination ID value from the redirect. If there's a URI redirect, resourceId isn't returned. The URL redirect feature is available from B2C Commerce version 24.3. - type: string - required: false - minLength: 1 - maxLength: 256 - refinements: - description: The refinement filters that correspond to the URL and resourceType. Refinements are returned only if all of these conditions are met - a) the resourceType is CATEGORY, b) refinements are included in the urlSegment, and c) the refinements are configured in Business Manager. This field returns a key-value pair of refinement name and refinement value. If there’s a matching URL redirect for the requested URL. the refinements output isn’t returned. The URL redirect feature is available from B2C Commerce version 24.3. - type: object - required: false - additionalProperties: true - statusCode: - description: This field is populated only if you set up a URL redirect in Business Manager. It specifies whether the redirect is temporary (302 or 307) or permanent (301). See [Create a Redirect from a B2C Commerce URL.](https://help.salesforce.com/s/articleView?id=cc.b2c_creating_a_redirect_from_a_digital_url.htm&type=5) This parameter is available from B2C Commerce version 24.3. - type: integer - format: int32 - required: false - destinationUrl: - description: This field is populated if the urlSegment resolves to a redirect. Specifies the URL you want to redirect to as an absolute or relative URL. The destinationUrl is based on your configuration in Business Manager. It's either a calculated value indicating the Commerce Cloud object (product, category, or content asset) URL or your specified URL. Note that an object's path may not necessarily match your headless storefront URLs but can be used as a reference for calculating the destinationUrl. See [Create a Redirect from a B2C Commerce URL.](https://help.salesforce.com/s/articleView?id=cc.b2c_creating_a_redirect_from_a_digital_url.htm&type=5). Available from B2C Commerce 24.3. - type: string - required: false - minLength: 1 - maxLength: 2048 - copySourceParams: - description: This field is populated only if you set up a URL redirect in Business Manager. It’s a flag that shows whether the parameters of the source URL have been copied to the destination URL. This parameter is available from B2C Commerce version 24.3. - type: boolean - required: false - additionalUrlParams: - description: This field is populated only if you set up a URL redirect in Business Manager. It returns the parameters you want to add to the end of the URL. This parameter is available from B2C Commerce version 24.3. - type: string - required: false - minLength: 1 - maxLength: 2048 - productCategoryId: - description: This field is populated only if you set up a URL redirect in Business Manager. It identifies the destination product's category ID. This field is returned only when the destination type is product. This parameter is available from B2C Commerce version 24.3. - type: string - required: false - minLength: 1 - maxLength: 256 \ No newline at end of file diff --git a/apis/customer/shopper-seo/shopper-seo.raml b/apis/customer/shopper-seo/shopper-seo.raml deleted file mode 100644 index addf7674..00000000 --- a/apis/customer/shopper-seo/shopper-seo.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 -title: Shopper SEO -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/site/shopper-seo/{version} -description: !include shopper-seo-description.md -mediaType: - - application/json -version: v1 -protocols: [HTTPS] -uses: - ShopperSeoTrait: Traits/ShopperSeoTrait.raml - ShopperSeoLib: shopper-seo-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: fd4gt8 - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /url-mapping: - type: CommerceCloudStandards.Organization - get: - description: Gets URL mapping information for a URL that a shopper clicked or typed in. The mapping information is based on URL rules and redirects set up in Business Manager. For more information about prerequisites and sample usage, see [URL Resolution](/docs/commerce/commerce-api/guide/url-resolution.html). You can customize the behavior of this endpoint by using hooks. See the hooks for getUrlMapping in the [Hook List](https://developer.salesforce.com/docs/commerce/commerce-api/guide/hook_list.html). - displayName: getUrlMapping - is: - - CommerceCloudStandards.SiteSpecific: - - ShopperSeoTrait.LocaleSpecific: - - ShopperSeoLib.BadRequest - - ShopperSeoLib.Unauthorized - - ShopperSeoLib.NotFound - responses: - '200': - description: Returns URL mapping information for a URL that a shopper clicked or typed in. - body: - type: ShopperSeoLib.UrlMapping - examples: - Url Mapping: !include Example/seo-url-mapping-response-example.raml - queryParameters: - urlSegment: - description: The part of the requested URL that comes after the domain name. For example, the urlSegment for "www.abc.com/blue/new-arrivals/tops" is "blue/new-arrivals/tops". There's no limit on the length of the urlSegment. However, for this endpoint, the maximum allowed length of the URL (after URL encoding) is 2047 characters. Make this field URL-encoded so that it properly handles special values such as whitespace. If a urlSegment includes a query string, a 404 error code is returned. - minLength: 1 - type: string - example: blue/new-arrivals/tops - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-seo] } - - - diff --git a/apis/customer/slas-admin-uap/.metadata.json b/apis/customer/slas-admin-uap/.metadata.json deleted file mode 100644 index 15127b2c..00000000 --- a/apis/customer/slas-admin-uap/.metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/slas-admin-uap/1.12.23", - "name": "SLAS Admin-UAP", - "description": "", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "slas-admin-uap", - "version": "1.12.23", - "categories": { - "CC API Family": [ - "Customer" - ] - } -} diff --git a/apis/customer/slas-admin-uap/Examples/Client.raml b/apis/customer/slas-admin-uap/Examples/Client.raml deleted file mode 100644 index fb449bac..00000000 --- a/apis/customer/slas-admin-uap/Examples/Client.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "clientId": "client-id1", - "name": "High Adventure Wear", - "secret": "secret1234", - "scopes": ["sfcc.products sfcc.catalogs sfcc.customers:ro"], - "redirectUri": "http://localhost/callback", - "callbackUri": "http://localhost:9010/pwd/reset/callback", - "channels": ["SiteGenesis", - "OtherSite"], - "privateClient": true, - "loginEpRestrict": false - } \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/Examples/ClientListResponse.raml b/apis/customer/slas-admin-uap/Examples/ClientListResponse.raml deleted file mode 100644 index 10cbca8c..00000000 --- a/apis/customer/slas-admin-uap/Examples/ClientListResponse.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 NamedExample -# Example of Client List -value: - { - data: [ - { - "clientId": "a462b606-317c-4a3c-90a7-4b0b938f3807", - "secret": "", - "name": "Shop Mart", - "scopes": ["sfcc.products sfcc.catalogs sfcc.products.ro"], - "redirectUri": "http://localhost:9010/callback", - "callbackUri": "http://localhost:9010/pwd/reset/callback", - "channels": [ - "SiteGenesis", - "OtherSite" - ], - "isPrivateClient": true, - "loginEpRestrict": false - }, - { - "clientId": "726bde86-7b99-415d-98ec-9290bad18904", - "secret": "", - "name": "High Adventure Wear", - "scopes": ["sfcc.products sfcc.catalogs sfcc.products.ro"], - "redirectUri": "http://localhost:9010/callback", - "callbackUri": "http://localhost:9010/pwd/reset/callback", - "channels": [ - "SiteGenesis", - "OtherSite" - ], - "isPrivateClient": true, - "loginEpRestrict": false - }, - { - "clientId": "slas-default-client-1", - "secret": "", - "name": "Shop Salesforce", - "scopes": ["sfcc.products.ro sfcc.catalogs.ro"], - "redirectUri": "http://localhost:9010/callback", - "callbackUri": "http://localhost:9010/pwd/reset/callback", - "channels": [ - "SiteGenesis", - "OtherSite" - ], - "isPrivateClient": true, - "loginEpRestrict": false - } - ] - } - diff --git a/apis/customer/slas-admin-uap/Examples/ClientRequest.raml b/apis/customer/slas-admin-uap/Examples/ClientRequest.raml deleted file mode 100644 index 720f3538..00000000 --- a/apis/customer/slas-admin-uap/Examples/ClientRequest.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "clientId": "client-id1", - "secret": "secret12345", - "name": "High Adventure Wear", - "scopes": [ - "sfcc.products", - "sfcc.catalogs", - "sfcc.products.ro" - ], - "redirectUri": ["http://localhost:9010/callback"], - "callbackUri": ["http://localhost:9010/pwd/reset/callback"], - "channels": ["SiteGenesis", - "OtherSite"], - "isPrivateClient": true, - "loginEpRestrict": false -} \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/Examples/ClientWithSecret.raml b/apis/customer/slas-admin-uap/Examples/ClientWithSecret.raml deleted file mode 100644 index 48e73285..00000000 --- a/apis/customer/slas-admin-uap/Examples/ClientWithSecret.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "clientId": "client-id1", - "name": "High Adventure Wear", - "secret": "secret12345", - "scopes": ["sfcc.products", - "sfcc.catalogs", - "sfcc.customers:ro"], - "redirectUri": "http://localhost:9010/callback", - "callbackUri": "http://localhost:9010/pwd/reset/callback", - "channels": ["SiteGenesis", - "OtherSite"], - "privateClient": true, - "loginEpRestrict": false - } \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/Examples/IdentityProvider.raml b/apis/customer/slas-admin-uap/Examples/IdentityProvider.raml deleted file mode 100644 index 87a26828..00000000 --- a/apis/customer/slas-admin-uap/Examples/IdentityProvider.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "name": "google", - "clientId": "idp-client-id", - "clientSecret": "idp-secret", - "authUrl": "https://accounts.google.com/o/oauth2/v2/auth", - "tokenUrl": "https://oauth2.googleapis.com/token", - "tokenInfoUrl": "https://oauth2.googleapis.com/tokeninfo", - "userInfoUrl": "https://www.googleapis.com/oauth2/v3/userinfo", - "redirectUrl": "http://localhost:9010/hydra/callback", - "wellKnownUrl": "https://accounts.google.com/.well-known/openid-configuration", - "scopes": ["openid","email","profile"], - "preferenceValue": true, - "isClientCredsBody": false, - "teamId": "appleTeamId", - "keyId": "appleKeyId", - "loginMergeClaims": ["email"], - "oidcClaimMapper": ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - } \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/Examples/IdentityProviderResponse.raml b/apis/customer/slas-admin-uap/Examples/IdentityProviderResponse.raml deleted file mode 100644 index 1ec86f5b..00000000 --- a/apis/customer/slas-admin-uap/Examples/IdentityProviderResponse.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": 100, - "name": "Google", - "clientId": "idp-client-id", - "clientSecret": "idp-secret", - "authUrl": "https://accounts.google.com/o/oauth2/v2/auth", - "tokenUrl": "https://www.googleapis.com/oauth2/v3/token", - "tokenInfoUrl": "https://www.googleapis.com/oauth2/v3/tokeninfo", - "userInfoUrl": "https://www.googleapis.com/oauth2/v3/userinfo", - "redirectUrl": "http://localhost:9010/api/v1/idp/callback/Google", - "wellKnownUrl": "https://accounts.google.com/.well-known/openid-configuration", - "scopes": ["openid","email","profile"], - "isPreferred": true, - "isClientCredsBody": false, - "teamId": "", - "keyId": "", - "loginMergeClaims": ["email"], - "oidcClaimMapper": ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - } \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/Examples/IdpListResponse.raml b/apis/customer/slas-admin-uap/Examples/IdpListResponse.raml deleted file mode 100644 index 441e6b62..00000000 --- a/apis/customer/slas-admin-uap/Examples/IdpListResponse.raml +++ /dev/null @@ -1,79 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - data: - [ - { - "id": 1, - "name": "auth0", - "clientId": "idp-client-id", - "clientSecret": "idp-secret", - "authUrl": "https://slas-auth0-dev.us.auth0.com/authorize", - "tokenUrl": "https://slas-auth0-dev.us.auth0.com/oauth/token", - "tokenInfoUrl": "https://slas-auth0-dev.us.auth0.com/userinfo", - "userInfoUrl": "https://slas-auth0-dev.us.auth0.com/userinfo", - "redirectUrl": "http://localhost:9010/api/v1/idp/callback/auth0", - "scopes": ["openid","email","profile"], - "isPreferred": false, - "isClientCredsBody": false, - "teamId": "", - "keyId": "", - "loginMergeClaims": ["email"], - "oidcClaimMapper": ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - }, - { - "id": 2, - "name": "Google", - "clientId": "idp-client-id", - "clientSecret": "idp-secret", - "authUrl": "https://accounts.google.com/o/oauth2/v2/auth", - "tokenUrl": "https://www.googleapis.com/oauth2/v3/token", - "tokenInfoUrl": "https://www.googleapis.com/oauth2/v3/tokeninfo", - "userInfoUrl": "https://www.googleapis.com/oauth2/v3/userinfo", - "redirectUrl": "http://localhost:9010/api/v1/idp/callback/Google", - "scopes": ["openid","email","profile"], - "isPreferred": true, - "isClientCredsBody": false, - "teamId": "", - "keyId": "", - "loginMergeClaims": ["email"], - "oidcClaimMapper": ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - }, - { - "id": 3, - "name": "okta", - "clientId": "idp-client-id", - "clientSecret": "idp-secret", - "authUrl": "https://dev-9565236.okta.com/oauth2/v1/authorize", - "tokenUrl": "https://dev-9565236.okta.com/oauth2/v1/token", - "tokenInfoUrl": "https://dev-9565236.okta.com/oauth2/v1/introspect", - "userInfoUrl": "https://dev-9565236.okta.com/oauth2/v1/userinfo", - "redirectUrl": "http://localhost:9010/api/v1/idp/callback/okta", - "scopes": ["openid","email","profile"], - "isPreferred": false, - "isClientCredsBody": false, - "teamId": "", - "keyId": "", - "loginMergeClaims": ["email"], - "oidcClaimMapper": ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - }, - { - "id": 4, - "name": "salesforce", - "clientId": "idp-client-id", - "clientSecret": "idp-secret", - "authUrl": "https://login.salesforce.com/services/oauth2/authorize", - "tokenUrl": "https://login.salesforce.com/services/oauth2/token", - "tokenInfoUrl": "https://login.salesforce.com/services/oauth2/introspect", - "userInfoUrl": "https://login.salesforce.com/services/oauth2/userinfo", - "redirectUrl": "http://localhost:9010/api/v1/idp/callback/salesforce", - "scopes": ["openid","email","profile"], - "isPreferred": false, - "isClientCredsBody": false, - "teamId": "", - "keyId": "", - "loginMergeClaims": ["email"], - "oidcClaimMapper": ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - } - ] - } \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/Examples/PasswordActionTemplate.raml b/apis/customer/slas-admin-uap/Examples/PasswordActionTemplate.raml deleted file mode 100644 index 6784a096..00000000 --- a/apis/customer/slas-admin-uap/Examples/PasswordActionTemplate.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "channelId": "SiteGenesis", - "name": "Passwordless SMS Template", - "subject": "Passwordless Token Request", - "link": "This is your passwordless token: ${token}", - "locale": "en-us", - "actionType": "PWDLESS_LOGIN", - "templateType": "SMS", - "template": "Passwordless Login Token Request\n\nHello ${name},\nYou're receiving this because you requested a passwordless login token for your account.\n${link}" - } \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/Examples/PasswordActionTemplateRequest.raml b/apis/customer/slas-admin-uap/Examples/PasswordActionTemplateRequest.raml deleted file mode 100644 index 6784a096..00000000 --- a/apis/customer/slas-admin-uap/Examples/PasswordActionTemplateRequest.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "channelId": "SiteGenesis", - "name": "Passwordless SMS Template", - "subject": "Passwordless Token Request", - "link": "This is your passwordless token: ${token}", - "locale": "en-us", - "actionType": "PWDLESS_LOGIN", - "templateType": "SMS", - "template": "Passwordless Login Token Request\n\nHello ${name},\nYou're receiving this because you requested a passwordless login token for your account.\n${link}" - } \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/Examples/Tenant.raml b/apis/customer/slas-admin-uap/Examples/Tenant.raml deleted file mode 100644 index f5a1d5ee..00000000 --- a/apis/customer/slas-admin-uap/Examples/Tenant.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "createdBy": "slas", - "modifiedBy": "slas", - "createdTime": "2021-02-25T00:55:54.119+0000", - "modifiedTime": "2021-02-25T00:55:54.119+0000", - "tenantId": "slsa_dev", - "merchantId": 2, - "description": "SLAS Default Tenant Two", - "contact": "Tenant Two", - "emailAddress": "tenant2@slas.tst", - "phoneNo": "111-222-4444", - "tier": "S", - "requestQuotaPerMinute": 8000, - "isDeleted": false, - "status": "CLEAR" - } \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/Examples/TenantDto.raml b/apis/customer/slas-admin-uap/Examples/TenantDto.raml deleted file mode 100644 index 96003a0f..00000000 --- a/apis/customer/slas-admin-uap/Examples/TenantDto.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "tenantId": "slsa_dev", - "merchantName": "Popular Merchant", - "description": "Merchant Description", - "contact": "Jerry Smith", - "emailAddress": "jerry@merchant.com", - "phoneNo": "801-555-1234" - } \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/Examples/TenantListResponse.raml b/apis/customer/slas-admin-uap/Examples/TenantListResponse.raml deleted file mode 100644 index 4871040e..00000000 --- a/apis/customer/slas-admin-uap/Examples/TenantListResponse.raml +++ /dev/null @@ -1,49 +0,0 @@ -#%RAML 1.0 NamedExample -# Example of Tenant List -value: - { - data: [ - { - "createdBy": "SLAS", - "modifiedBy": "SLAS", - "createdTime": "2021-02-25T00:55:52.726+0000", - "modifiedTime": "2021-02-25T00:55:52.726+0000", - "tenantId": "bcgl_stg", - "merchantId": 1, - "description": "BCGL Stg", - "contact": "Slas Test", - "emailAddress": "bcgl@slas.tst", - "phoneNo": "", - "isDeleted": false, - "status": "CLEAR" - }, - { - "createdBy": "SLAS", - "modifiedBy": "SLAS", - "createdTime": "2021-02-25T00:55:54.119+0000", - "modifiedTime": "2021-02-25T00:55:54.119+0000", - "tenantId": "slsa_dev", - "merchantId": 2, - "description": "SLAS Default Tenant Two", - "contact": "Tenant Two", - "emailAddress": "tenant2@slas.tst", - "phoneNo": "", - "isDeleted": true, - "status": "CLEAR" - }, - { - "createdBy": "SLAS", - "modifiedBy": "SLAS", - "createdTime": "2021-02-25T01:20:42.179+0000", - "modifiedTime": "2021-02-25T01:20:42.179+0000", - "tenantId": "blar_dev", - "merchantId": 3, - "description": "Token Testing", - "contact": "John Doe", - "emailAddress": "jdoe@shotzphoto.tst", - "phoneNo": "", - "isDeleted": false, - "status": "CLEAR" - } - ] - } \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/Examples/UpdateTenant.raml b/apis/customer/slas-admin-uap/Examples/UpdateTenant.raml deleted file mode 100644 index 71b823b8..00000000 --- a/apis/customer/slas-admin-uap/Examples/UpdateTenant.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "tenantDescription": "Merchant Description", - "tenantContact": "Jerry Smith", - "emailAddress": "jerry@merchant.com", - "phoneNo": "801-555-1234" - } \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange.json b/apis/customer/slas-admin-uap/exchange.json deleted file mode 100644 index 3344a33e..00000000 --- a/apis/customer/slas-admin-uap/exchange.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "provided": false - } - ], - "version": "1.12.23", - "apiVersion": "1.12.23", - "descriptorVersion": "1.0.0", - "classifier": "raml", - "main": "slas-admin.raml", - "assetId": "slas-admin-uap", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "SLAS Admin-UAP" -} \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/customer/slas-admin-uap/slas-admin-description.md b/apis/customer/slas-admin-uap/slas-admin-description.md deleted file mode 100644 index 0fb3c9df..00000000 --- a/apis/customer/slas-admin-uap/slas-admin-description.md +++ /dev/null @@ -1,5 +0,0 @@ -The SLAS Admin API is a companion to the main [Shopper Login and API Access Service](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary) (SLAS), which enables secure access to Commerce Cloud’s Shopper APIs. The SLAS Admin API is only used for administration tasks, not for requesting access to the Shopper APIs. - -**Important:** Before using this API, follow the instructions in [Authorization for Shopper APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) from the Get Started guides. The guide provides a complete set of instructions for setting up a SLAS client. - -For more information, see the [SLAS guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas.html). diff --git a/apis/customer/slas-admin-uap/slas-admin.raml b/apis/customer/slas-admin-uap/slas-admin.raml deleted file mode 100644 index dfe468b1..00000000 --- a/apis/customer/slas-admin-uap/slas-admin.raml +++ /dev/null @@ -1,1078 +0,0 @@ -#%RAML 1.0 -title: SLAS Admin -description: !include slas-admin-description.md -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth-admin/{version} - -securitySchemes: - SlasSecurityScheme.BearerToken: !include slas-bearer-SecurityScheme.raml - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -types: - AdminAuthRoles: - type: string - description: Roles for SLAS Admin API access. The user will need to have SLAS_SERVICE_ADMIN role to access the admin APIs. SLAS_ORGANIZATION_ADMIN role is for Salesforce internal support users. - enum: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN] - - ClientType: - type: string - description: Client Type - enum: [REF_ARCH, WEB_APP, MOBILE_APP, SITE_GENESIS] - - PasswordTemplateActionType: - type: string - description: | - Describes the type of action that the password action template will be used for. - - Here are the actions that each enumerated string refers to: - - - `PWDLESS_LOGIN`: Passwordless login - - `PWD_RESET_ACTION`: Password reset - - `PWD_FORGOT_ACTION`: Forgot password - enum: [PWDLESS_LOGIN, PWD_RESET_ACTION, PWD_FORGOT_ACTION] - - PasswordTemplateType: - type: string - description: Identifies the type of mode that the password action template will be used for. - enum: [SMS] - - TierType: - type: string - description: | - This read only value relates to the B2C Comerce realm of the customer. - - XS = Bronze and Bronze+ - - S = Silver and Silver+ - - M = Gold and Gold+ - - L = Platinum and Platinum+ - enum: [XS, S, M, L] - - Client: - type: object - properties: - clientId: - description: Client ID - type: string - example: "client-id" - name: - description: Client Name - type: string - example: "Client Name" - secret: - description: Client Secret. The secret will only display on create and if the secret was updated when updating the client. - type: string - example: "client-secret" - scopes: - description: | - Merchant scopes. These scopes allows different permissions in SLAS and B2C commerce. - - Shopper Custom Objects additionally provides a way to do granular scoping besides the standard - `sfcc.shopper-custom-objects` like `sfcc.shopper-custom-objects.xyz` SLAS is capable of handling a maximum of 20 Custom Object scopes. - type: string[] - example: ["sfcc.products", "sfcc.catalogs", "sfcc.customers:ro"] - redirectUri: - description: Redirect URI - type: ApiStandards.AbsoluteUrl - example: "http://localhost:9010/callback" - callbackUri: - description: Redirect URI - type: ApiStandards.AbsoluteUrl - example: "http://localhost:9010/pwdless/login/callback" - channels: - description: Client Channels - type: string[] - example: ["RefArch", "SiteGenensis"] - isPrivateClient: - description: Private or Public Client - required: false - type: boolean - example: true - loginEpRestrict: - description: |- - When enabling (true) this will restrict all calls to the `\login` endpoint for the Client Id. When calling the `\login` endpoint and `loginEpRestrict` is enabled a HTTP Status code of 403 will be returned. - required: false - type: boolean - example: false - - ClientRequest: - description: Used to create and update a SLAS Client - properties: - name: - description: Client Name - type: string - example: "High Adventure Wear" - clientId: - description: SLAS client id. Must match the query parameter. - type: string - example: "client_id" - secret: - description: SLAS client secret. On create if left blank then a secret will be generated. - type: string - example: "client_secret" - scopes: - description: | - Merchant scopes. These scopes allows different permissions in SLAS and B2C commerce. - - Shopper Custom Objects additionally provides a way to do granular scoping besides the standard - `sfcc.shopper-custom-objects` like `sfcc.shopper-custom-objects.xyz` SLAS is capable of handling a maximum of 20 Custom Object scopes. - type: string[] - example: ["sfcc.products", "sfcc.catalogs", "sfcc.customers:ro"] - redirectUri: - description: Array of SLAS redirect URLs. Include protocol and domain name in each URL. Wildcards supported. - type: string[] - example: ["http://localhost:3000/callback", "https://*.example.com/callback"] - callbackUri: - description: Array of SLAS callback URLs that will be used for passworless login and password reset when mode=callback. Include protocol and domain name in each URL. Wildcards are NOT supported. - type: string[] - required: false - example: ["localhost:3000/password-reset-callback", "localhost:3000/passwordless-login-callback"] - channels: - description: Client Channels - type: string[] - example: ["RefArch", "SiteGenensis"] - isPrivateClient: - description: Private or Public Client. If left blank the client will default to private. - type: boolean - example: true - loginEpRestrict: - description: |- - When enabling (true) this will restrict all calls to the `\login` endpoint for the Client Id. When calling the `\login` endpoint and `loginEpRestrict` is enabled a HTTP Status code of 403 will be returned. - required: false - type: boolean - example: false - - ClientListResponse: - properties: - data: - description: An array of clients. - type: array - items: - type: Client - - IdentityProvider: - description: Identity provider - properties: - name: - description: Identity Provider Name - type: string - example: "google" - enum: [adfs, apple, auth0, azure, cognito, facebook, forgerock, gigya, gigya_social, google, okta, ping, salesforce] - authUrl: - description: Identity Provider auth URI - type: ApiStandards.AbsoluteUrl - example: "https://accounts.google.com/oauth2/v2/auth" - tokenUrl: - description: Identity Provider token URI - type: ApiStandards.AbsoluteUrl - example: "https://oauth2.googleapis.com/token" - tokenInfoUrl: - description: Identity Provider token info URI - type: ApiStandards.AbsoluteUrl - example: "https://oauth2.googleapis.com/tokeninfo" - userInfoUrl: - description: Identity Provider user info URI - type: ApiStandards.AbsoluteUrl - example: "https://www.googleapis.com/oauth2/v3/userinfo" - redirectUrl: - description: Identity Provider redirect URI - type: ApiStandards.AbsoluteUrl - example: "https://localhost:9010/my/callback" - clientId: - description: Client Id of the third party IDP. - type: string - example: "934277749308-02dg4398n3s31ofge8cot46jirn3kpkf.apps.googleusercontent.com" - clientSecret: - description: Client Secret of the third party IDP. For Apple copy the contents from the .p8 file that was downloaded from Apple between -*----BEGIN PRIVATE KEY-----* and -*---END PRIVATE KEY-----* markers. - type: string - example: "aKZM1xEnZopNP2bm2gc3GKex" - preferenceValue: - description: Set the IDP configuration as the Preferred SLAS IDP. Default value is `false`. - type: boolean - required: false - example: true - isClientCredsBody: - description: Default is to place the client credentials in a basic authorization header for the call to the IDP. If true, the client credentials are placed in the POST body to the IDP. - type: boolean - example: false - useWellKnown: - description: If set to `true`, SLAS uses the `wellKnowUrl` value to populate the `authUrl`, `tokenUrl`, `userInfoUrl`, and `scopes` values from the identity provider. Default value is `false`. - required: false - type: boolean - example: false - scopes: - description: IDP Scopes - type: string[] - example: ["oidc", "email", "profile"] - teamId: - description: Apple Team Id. Used primarily for Sign with Apple in generating the client secret. - type: string - required: false - example: "appleTeamId" - keyId: - description: Apple key id. This is the Key ID that was obtained from Apple when the the private key for client authentication was created. Used primarily for Sign with Apple in generating the client secret. - type: string - required: false - example: "appleKeyId" - loginMergeClaims: - description: | - List of user info claims that can be used as identifiers to look up and merge with an existing B2C Commerce profile for a registered shopper or an existing B2C Commerce profile created via federated login with an external Identity Provider with the same merge claim as this one. If multiple matching B2C Commerce shopper (customer) profiles are found, the external profile is merged with the most recently created shopper (customer) profile. Refer to the Merge Shopper Profiles user guide for more details. - - Note: When configuring an Apple IDP, 'email' and 'sub' are the only supported merge claims. - type: string[] - required: false - example: ["email", "phone"] - oidcClaimMapper: - description: Mapping from the identity provider’s token claims for SLAS to get user information values when the user successfully authenticates. The values in this array should be setup using the following `key=value` pair pattern. The key part is the SLAS key with the value part being the OIDC claim key. - type: string[] - required: false - example: ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - IdentityProviderResponse: - description: Identity provider Response - properties: - name: - description: Identity Provider Name - type: string - example: "google" - authUrl: - description: Identity Provider auth URI - type: ApiStandards.AbsoluteUrl - example: "https://accounts.google.com/o/oauth2/v2/auth" - tokenUrl: - description: Identity Provider token URI - type: ApiStandards.AbsoluteUrl - example: "https://oauth2.googleapis.com/token" - tokenInfoUrl: - description: Identity Provider token info URI - type: ApiStandards.AbsoluteUrl - example: "https://oauth2.googleapis.com/tokeninfo" - userInfoUrl: - description: Identity Provider user info URI - type: ApiStandards.AbsoluteUrl - example: "https://www.googleapis.com/oauth2/v3/userinfo" - redirectUrl: - description: Identity Provider redirect URI - type: ApiStandards.AbsoluteUrl - example: "https://localhost:9010/my/callback" - clientId: - description: SLAS IDP Client Id - type: string - example: "934277749308-02dg4398n3s31ofge8cot46jirn3kpkf.apps.googleusercontent.com" - clientSecret: - description: SLAS IDP Client Secret - type: string - example: "aKZM1xEnZopNP2bm2gc3GKex" - isPreferred: - description: Indicates if the IDP configuration is the Preferred SLAS IDP. - type: boolean - example: true - isClientCredsBody: - description: Default is to place the client credentials in a basic authorization header for the call to the IDP. If true, the client credentials are placed in the POST body to the IDP. - type: boolean - example: false - scopes: - description: Scopes needed by the IDP. - type: array - example: ["oidc", "email", "profile"] - teamId: - description: Apple Team ID. Used primarily for Sign with Apple in generating the client secret. - type: string - required: false - example: "appleTeamId" - keyId: - description: Apple key ID. This is the Key ID that was obtained from Apple when the the private key for client authentication was created. Used primarily for Sign with Apple in generating the client secret. - type: string - required: false - example: "appleKeyId" - loginMergeClaims: - description: | - List of user info claims that can be used as identifiers to look up and merge with an existing B2C Commerce profile for a registered shopper or an existing B2C Commerce profile created via federated login with an external Identity Provider with the same merge claim as this one. If multiple matching B2C Commerce shopper (customer) profiles are found, the external profile is merged with the most recently created shopper (customer) profile. Refer to the Merge Shopper Profiles user guide for more details. - - Note: When configuring an Apple IDP, 'email' and 'sub' are the only supported merge claims. - type: string[] - required: false - example: ["email", "phone"] - oidcClaimMapper: - description: Mapping from the identity provider’s token claims for SLAS to get user information values when the user successfully authenticates. The values in this array should be setup using the following `key=value` pair pattern. The key part is the SLAS key with the value part being the OIDC claim key. - type: string[] - required: false - example: ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - - - IdentityProviderListResponse: - properties: - data: - description: An array of identity providers - type: array - items: - type: IdentityProviderResponse - - Tenant: - description: Tenant - properties: - tenantId: - type: string - example: "aaaa_prd" - merchantId: - type: integer - example: 1 - description: - type: string - example: SLAS Merchant Name - contact: - type: string - example: SLAS Tenant Contact - emailAddress: - type: string - example: tenant_contact@slas.tst - phoneNo: - type: string - example: 000-000-0000 - isDeleted: - type: boolean - example: false - status: - type: string - example: CLEAR - tier: - type: TierType - example: "S" - requestQuotaPerMinute: - description: "This read only value shows the the number of requests that can be made per minute." - type: number - example: 8000 - TenantDto: - description: Create or update tenants - properties: - merchantName: - description: Name of the merchant. - type: string - description: - description: Additional information about the tenant. - type: string - contact: - description: Name of the merchant's designated contact. - type: string - emailAddress: - description: Email address of the designated contact. - type: string - phoneNo: - description: Phone number of the designated contact. - type: string - - TenantListResponse: - properties: - data: - description: An array of tenants. - type: array - items: - type: Tenant - - PasswordActionTemplate: - properties: - channelId: - type: string - example: "SiteGenesis" - name: - type: string - example: "Password Action Email Template" - subject: - type: string - example: "Password Action Token Request" - link: - type: string - example: "This is your password action token: ${token}" - locale: - type: string - example: "en-us" - description: Identifies the locale of the template. Must be one of the [language tag strings supported by JDK 11](https://www.oracle.com/java/technologies/javase/jdk11-suported-locales.html). The string is stored in all lowercase. - actionType: - type: PasswordTemplateActionType - example: "PWDLESS_LOGIN" - templateType: - type: PasswordTemplateType - example: "SMS" - template: - type: string - example: "Passwordless Login Token Request\n\nYou're receiving this because you requested a passwordless login token for your account.\n${link}" - -/tenants: - /{tenantId}: - get: - description: Retrieve a tenant by tenant id - displayName: retrieveTenant - securedBy: - - SlasSecurityScheme.BearerToken: { role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN] } - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: { - "type": "TenantRequestException", - "title": "Unable to retrieve resource because the tenant id was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: { - "type": "TenantException", - "title": "Unable to retrieve resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: { - "type": "TenantNotFoundException", - "title": "Unable to retrieve resource because no resource was found with that value" - } - 200: - description: Success - body: - application/json: - type: Tenant - examples: - Tenant : !include Examples/Tenant.raml - put: - description: Create or update a tenant. Use the request body to provide identification and contact information for the tenant and its associated merchant. - displayName: registerTenant - body: - application/json: - type: TenantDto - example: !include Examples/TenantDto.raml - securedBy: - - SlasSecurityScheme.BearerToken: { role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN] } - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: { - "type": "TenantUpdateException", - "title": "Unable to retrieve resource because the tenant id was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: { - "type": "TenantUpdateException", - "title": "Unable to retrieve resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - example: { - "type": "TenantNotFoundException", - "title": "Unable to retrieve resource because no resource was found with that value" - } - 409: - description: Conflict. - body: - application/json: - type: ApiStandards.ErrorResponse - example: { - "type": "TenantAlreadyExistsException", - "title": "Tenant[abcd_prd] already exists!" - } - 200: - description: Success - Tenant was updated - body: - application/json: - type: Tenant - examples: - Tenant : !include Examples/Tenant.raml - 201: - description: Success - Tenant was Created - body: - application/json: - type: Tenant - examples: - Tenant : !include Examples/Tenant.raml - /clients: - get: - description: Retrieve/Get all tenant clients - displayName: retrieveClients - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN]} - responses: - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientTenantException", - "title": "Unable to retrieve resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientNotFoundException", - "title": "Unable to retrieve resource because no resource was found with that value" - } - 200: - description: Success - body: - application/json: - examples: - ClientListResponse: !include Examples/ClientListResponse.raml - - /{clientId}: - get: - description: Retrieve a client - displayName: retrieveClient - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientRequestException", - "title": "Unable to retrieve resource because the client id was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientTenantException", - "title": "Unable to retrieve resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientNotFoundException", - "title": "Unable to retrieve resource because no resource was found with that value" - } - 200: - description: Success - body: - application/json: - type: Client - example: !include Examples/Client.raml - put: - description: Create or Update a client. Note - It is strongly advised to refrain from using the “sfcc-shopper-context.rw” scope with a PUBLIC Client because it offers fewer protections and could potentially enable malicious actors to access Shopper Context enabled promotions. It is highly recommended to use “sfcc-shopper-context.rw” scope with a private client. - displayName: registerClient - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN]} - body: - application/json: - type: ClientRequest - examples: - ClientRequest: !include Examples/ClientRequest.raml - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientRequestException", - "title": "Unable to update resource because the request body was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientTenantException", - "title": "Unable to update resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientNotFoundException", - "title": "Unable to update resource because no resource was found with that value" - } - 409: - description: Conflict. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientConflictException", - "title": "Unable to create resource because a duplicate resource was found" - } - 200: - description: Success - Client was updated. The secret will only be returned if a secret was sent in for update. - body: - application/json: - type: Client - examples: - Client: !include Examples/ClientWithSecret.raml - 201: - description: Success - Client was Created. This is the only time the secret will be returned. - body: - application/json: - type: Client - examples: - Client: !include Examples/ClientWithSecret.raml - delete: - description: Delete a client - displayName: deleteClient - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientRequestException", - "title": "Unable to delete resource because the request was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientTenantException", - "title": "Unable to delete resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientNotFoundException", - "title": "Unable to delete resource because no resource was found with that value" - } - 204: - description: No Content - - /password-action-templates: - description: | - A password action template simplifies the process of sending notifications to customers about password logins and password reset using string substitution in the template body. The template body is determined by the `template` parameter. The only template type supported is `SMS`. - - The following 3 strings are substituted in the template body according to the following rules: - 1. `${name}`: The first name of the user based on the login that is given. - 2. `${token}`: The password action token that is generated. - 3. `${link}`: A string provided to the endpoint (using the `link` parameter) that can include `${token}` and `${name}` for substitution. - get: - description: Retrieve/get a password action template. - displayName: retrievePwdlessTemplate - securedBy: - - SlasSecurityScheme.BearerToken: - {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - queryParameters: - channelId: - type: string - example: "SiteGenesis" - actionType: - type: PasswordTemplateActionType - example: "PWDLESS_LOGIN" - templateType: - type: string - example: "SMS" - responses: - 200: - description: Success - body: - application/json: - type: PasswordActionTemplate - examples: - Client: !include Examples/PasswordActionTemplate.raml - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "BadRequestException", - "title": "Unable to update resource because the request body was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientTenantException", - "title": "Unable to update resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "PasswordActionTemplateNotFoundException", - "title": "Template was not found" - } - put: - description: Create or update a password action template. - displayName: registerPwdlessTemplate - securedBy: - - SlasSecurityScheme.BearerToken: - {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - body: - application/json: - type: PasswordActionTemplate - example: !include Examples/PasswordActionTemplateRequest.raml - responses: - 201: - description: Success - A password action template was created. - body: - application/json: - type: PasswordActionTemplate - examples: - Client: !include Examples/PasswordActionTemplate.raml - 200: - description: Success - A password action template was updated. - body: - application/json: - type: PasswordActionTemplate - examples: - Client: !include Examples/PasswordActionTemplate.raml - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "PasswordActionTemplateCreateException", - "title": "Template was not created or updated" - } - 401: - description: Unauthorized. Wrong tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientTenantException", - "title": "Unable to update resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "PasswordActionTemplateNotFoundException", - "title": "Template was not found" - } - delete: - description: Delete a password action template. - displayName: deletePwdlessTemplate - securedBy: - - SlasSecurityScheme.BearerToken: - {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - queryParameters: - channelId: - type: string - example: "SiteGenesis" - actionType: - type: PasswordTemplateActionType - example: "PWDLESS_LOGIN" - templateType: - type: string - example: "REDIRECT" - locale: - type: string - example: "en-us" - responses: - 204: - description: No Content - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "PasswordActionTemplateDeleteException", - "title": "Template was not deleted" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientTenantException", - "title": "Unable to update resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "PasswordActionTemplateNotFoundException", - "title": "Template was not found" - } - /idps: - get: - description: Retrieve/Get all tenant identity providers - displayName: retrieveIdentityProviders - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN]} - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpRequestException", - "title": "Unable to retrieve resource because the tenant was deleted" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpTenantException", - "title": "Unable to retrieve resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpNotFoundException", - "title": "Unable to retrieve resource, no resource was found with that value" - } - 200: - description: Success - body: - application/json: - type: IdentityProviderListResponse - examples: - IdentityProvider: !include Examples/IdpListResponse.raml - /{name}: - get: - description: Retrieve/Get a specific identity provider - displayName: retrieveIdentityProvider - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpRequestException", - "title": "Unable to create resource because the request was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpTenantException", - "title": "Unable to create resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpNotFoundException", - "title": "Unable to delete resource, no resource was found with that value" - } - 200: - description: Success - body: - application/json: - type: IdentityProvider - examples: - IdentityProvider: !include Examples/IdentityProvider.raml - put: - description: Create or Update an identity provider - displayName: registerIdentityProvider - body: - application/json: - type: IdentityProvider - examples: - IdentityProvider: !include Examples/IdentityProvider.raml - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpRequestException", - "title": "Unable to update resource because the request body was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpTenantException", - "title": "Unable to update resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpNotFoundException", - "title": "Unable to update resource because no resource was found with that value" - } - 409: - description: Conflict - Duplicate - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpConflictException", - "title": "Unable to create resource because a duplicate resource was found" - } - 200: - description: Success - Updated an Idp. - body: - application/json: - type: IdentityProviderResponse - examples: - IdentityProviderResponse: !include Examples/IdentityProviderResponse.raml - 201: - description: Success - Created an Idp. - body: - application/json: - type: IdentityProviderResponse - examples: - IdentityProviderResponse: !include Examples/IdentityProviderResponse.raml - delete: - description: Delete a identity provider - displayName: deleteIdentityProvider - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpRequestException", - "title": "Unable to create resource because the request was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpTenantException", - "title": "Unable to create resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpNotFoundException", - "title": "Unable to delete resource, no resource was found with that value" - } - 204: - description: No Content - /customers/{customerId}: - delete: - description: Completely deletes all shopper records associated with the shoppers customer id. The email id will be used if passed as a query parameter. This conforms to the GDPR regulations. - displayName: deleteShopper - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - queryParameters: - emailAddress: - description: The shoppers email address. - required: false - type: string - example: "test.user@salesforce.tst" - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ShopperDeleteException", - "title": "Email address does not match stored email address" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ShopperNotFoundException", - "title": "SLAS USER was not found by customer id" - } - - 204: - description: No Content diff --git a/apis/customer/slas-admin-uap/slas-bearer-SecurityScheme.raml b/apis/customer/slas-admin-uap/slas-bearer-SecurityScheme.raml deleted file mode 100644 index 81bfa2fb..00000000 --- a/apis/customer/slas-admin-uap/slas-bearer-SecurityScheme.raml +++ /dev/null @@ -1,42 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements SLAS Administration APIs secured with an ECOM Account Manager JWT.
This security scheme expects a valid ECOM Account Manager Bearer token passed in the Authorization header to permit API access. See OCAPI documentation for /customers/auth?client_id={valid Account Manager clientID} -type: x-custom - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer eyJ0eXAiOiJKV1QiLCJraWQiOiJEMWhPUDdEODN4TjBqZWlqaTI3WWFvZFRjL0E9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJnZ2FubGV5QHNhbGVzZm9yY2UuY29tIiwiY3RzIjoiT0FVVEgyX1NUQVRFTEVTU19HUkFOVCIsImF1dGhfbGV2ZWwiOjAsImF1ZGl0VHJhY2tpbmdJZCI6ImM0ZjViMjZiLTMwZGItNDkwNC1hNTRjLWNlODc5ZTZlMjcyNS0xMzc2ODgwIiwiaXNzIjoiaHR0cHM6Ly9hY2NvdW50LXBvZDUuZGVtYW5kd2FyZS5uZXQ6NDQzL2R3c3NvL29hdXRoMiIsInRva2VuTmFtZSI6ImFjY2Vzc190b2tlbiIsInRva2VuX3R5cGUiOiJCZWFyZXIiLCJhdXRoR3JhbnRJZCI6IjEzaG9jdHBWU3lJdXJ5dS1Kd1QwSV9OT0hxOCIsImF1ZCI6ImI0MDM4NjcwLWY0NGYtNDQ3OS1hMThlLTdkNzgyNmI4Nzg1NCIsIm5iZiI6MTYxNDM1NTEwNCwiZ3JhbnRfdHlwZSI6InRva2VuIiwic2NvcGUiOlsidGVuYW50RmlsdGVyIiwib3BlbklkIiwicm9sZXMiXSwiYXV0aF90aW1lIjoxNjE0MzU1MTA0LCJyZWFsbSI6Ii8iLCJleHAiOjE2MTQzNTY5MDQsImlhdCI6MTYxNDM1NTEwNCwiZXhwaXJlc19pbiI6MTgwMCwianRpIjoiUlVMSDJ3TkVSLW43OHd1T0VSdjFLcVFxUTY4IiwiY2xpZW50X2lkIjoiYjQwMzg2NzAtZjQ0Zi00NDc5LWExOGUtN2Q3ODI2Yjg3ODU0IiwidGVuYW50RmlsdGVyIjoiQ0NEWF9TQlhfVVNFUjp6enh4XzAwMix6enh4X3NieDtFQ09NX0FETUlOOnp6eHhfMDAyO0VDT01fQlVTSU5FU1NfU1VQUE9SVDp6enh4XzAwMjtMT0dDRU5URVJfVVNFUjoqXyo7U0xBU19PUkdBTklaQVRJT05fQURNSU46YmNnbF9zdGcsenp6el8wMDYiLCJyb2xlcyI6WyJBTV9BQ0NPVU5UX0FETUlOIiwiR1JBRkFOQV9VU0VSIiwiQ05QX09QRVJBVElPTlMiLCJFQ09NX1NVUFBPUlQiLCJYQ0hBTkdFX1VTRVIiLCJBTV9PUkdBTklaQVRJT05fQURNSU4iLCJBTV9BUElfQURNSU4iLCJFQ09NX0w1X1NVUFBPUlQiLCJFQ09NX0FETUlOIiwiQ1FVT1RJRU5UX0NPTkZJR1VSQVRPUl9VU0VSIiwiQ05QX0FETUlOIiwiQ05QX0NJQ0QiLCJFQ09NX0JVU0lORVNTX1NVUFBPUlQiLCJBTV9ST0xFX0FETUlOIiwiU0xBU19PUkdBTklaQVRJT05fQURNSU4iLCJDUVVPVElFTlRfREFTSEJPQVJEX1VTRVIiLCJDQ0RYX1NCWF9VU0VSIiwiQVBQRF9VU0VSIiwiU0FMRVNGT1JDRV9VU0VSIiwiTE9HQ0VOVEVSX1VTRVIiLCJDTlBfU1VQUE9SVCIsIkFNX0dMT0JBTF9BRE1JTiJdfQ.SCaUxGskd8fslE37g0om3xfehFdm6U83mPML8kVcJPdSF_9OyXWhpKfYrfWVKSWJmRT-31xdze2TKH9ZhYRWFYALs-hEADjQ35jSjNUEqeFaVp5XgMned6jrE52aHg_1eMJQLvupff3lyhUIFbhjFUfsgFigMvbPZ6riAE6Rhmfp6iM4qUD_W2eadXgWJd3lMP9Hgu1mTFXi6yP0sd7m6jgM2atL9lF0Vv2fSQc7qo2CJl4aZgAeulOOpcp1qTpabEDD_8P5umoRzL_2DqacePCqTEq5MdQVu6rA5IXbcPl4u3PAdFOUUemRqDSk87He8G9EnoFrB2u14F5AlHDMfw - responses: - 401: - description: Unauthorized. ECOM access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: ApiStandards.ErrorResponse - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your ECOM access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your ECOM token is valid, but you have no permissions to access the resource. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your ECOM token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/.metadata.json b/apis/customer/slas-shopper-login-uap/.metadata.json deleted file mode 100644 index a5ce2920..00000000 --- a/apis/customer/slas-shopper-login-uap/.metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/slas-shopper-login-uap/1.39.33", - "name": "SLAS Shopper Login-UAP", - "description": "", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "slas-shopper-login-uap", - "version": "1.39.33", - "categories": { - "CC API Family": [ - "Customer" - ] - } -} diff --git a/apis/customer/slas-shopper-login-uap/examples/jwks-get-response.json b/apis/customer/slas-shopper-login-uap/examples/jwks-get-response.json deleted file mode 100644 index 2a732b15..00000000 --- a/apis/customer/slas-shopper-login-uap/examples/jwks-get-response.json +++ /dev/null @@ -1,30 +0,0 @@ - -{ - "keys": [ - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "2d670fa8-0f28-44a1-b8b4-87a6d2feb1d8", - "x": "_2tPqxGhgX6cA5Qg7v6UH_9om8OR3-OehkgXXWraTp8", - "y": "DAykmQPtf282buIcL0rLwKYbK6ApgripMjazdAthUFw" - }, - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "eb70508f-4d64-46f7-a3d5-b36558d6e6b6", - "x": "VV0JVJFhkz71wY0E73Z-snorZ5oJf1QOdkIbCjyMqLs", - "y": "QLkqBVSPPrkd7HjaSEMgMU9Ob-FDpg1W-oLq5I4ExqQ" - }, - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "0f2016af-1388-4972-b54d-31cb9e3704ed", - "x": "KpmPoZTFXs80Uxy7QcOQ9aaqW35xgT3Qyakee8zR7gA", - "y": "P87TZ52rjnOGlmjaPeUGbLaOqiB7FHnoEzULIw6QlfJ" - } - ] -} - \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/examples/jwks-get-response.raml b/apis/customer/slas-shopper-login-uap/examples/jwks-get-response.raml deleted file mode 100644 index d6b67816..00000000 --- a/apis/customer/slas-shopper-login-uap/examples/jwks-get-response.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "keys": [ - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "2d670fa8-0f28-44a1-b8b4-87a6d2feb1d8", - "x": "_2tPqxGhgX6cA5Qg7v6UH_9om8OR3-OehkgXXWraTp8", - "y": "DAykmQPtf282buIcL0rLwKYbK6ApgripMjazdAthUFw" - }, - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "eb70508f-4d64-46f7-a3d5-b36558d6e6b6", - "x": "VV0JVJFhkz71wY0E73Z-snorZ5oJf1QOdkIbCjyMqLs", - "y": "QLkqBVSPPrkd7HjaSEMgMU9Ob-FDpg1W-oLq5I4ExqQ" - }, - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "0f2016af-1388-4972-b54d-31cb9e3704ed", - "x": "KpmPoZTFXs80Uxy7QcOQ9aaqW35xgT3Qyakee8zR7gA", - "y": "P87TZ52rjnOGlmjaPeUGbLaOqiB7FHnoEzULIw6QlfJ" - } - ] -} - \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange.json b/apis/customer/slas-shopper-login-uap/exchange.json deleted file mode 100644 index 7c855c64..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "provided": false - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "provided": false - } - ], - "version": "1.39.36", - "apiVersion": "1.39.36", - "descriptorVersion": "1.0.0", - "classifier": "raml", - "main": "shopper-login.raml", - "assetId": "slas-shopper-login-uap", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "SLAS Shopper Login-UAP" -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/shopper-login-and-api-access-description.md b/apis/customer/slas-shopper-login-uap/shopper-login-and-api-access-description.md deleted file mode 100644 index 05669435..00000000 --- a/apis/customer/slas-shopper-login-uap/shopper-login-and-api-access-description.md +++ /dev/null @@ -1,5 +0,0 @@ -The Shopper Login and API Access Service (SLAS) enables secure access to Commerce Cloud’s Shopper APIs for a wide range of headless commerce applications. - -**Important:** Before using this API, see [Authorization for Shopper APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) in the Get Started guides and the more detailed [SLAS guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas.html) for instructions on setting up a SLAS client, obtaining credentials, as well as flow and use case information. - -For load shedding and rate limiting information, see [Load Shedding and Rate Limiting.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/throttle-rates.html) \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/shopper-login.raml b/apis/customer/slas-shopper-login-uap/shopper-login.raml deleted file mode 100644 index 843361bf..00000000 --- a/apis/customer/slas-shopper-login-uap/shopper-login.raml +++ /dev/null @@ -1,2071 +0,0 @@ -#%RAML 1.0 -title: Shopper Login -description: !include shopper-login-and-api-access-description.md -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6ope - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -traits: - SlasRateLimit: !include traits/slasRateLimit.raml - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml -types: - ResponseType: - type: string - description: Response Type - enum: [code] - GrantType: - type: string - description: Grant Type - enum: - [ - authorization_code, - refresh_token, - client_credentials, - authorization_code_pkce, - session_bridge, - ] - TokenType: - type: string - description: Token Type - enum: [Bearer] - TokenTypeHint: - type: string - description: Token Type Hint - enum: [access_token, refresh_token] - ThirdPartyIdps: - type: string - description: IDPs that work with SLAS. Use `ecom` when using B2C Commerce is the identity provider. - enum: - [ - apple, - auth0, - azure, - azure_adb2c, - cognito, - default, - ecom, - facebook, - forgerock, - gigya, - gigya_socialize, - google, - okta, - ping, - salesforce, - ] - PasswordActionModes: - type: string - description: Password Action delivery modes - enum: [callback, sms] - TrustedOnBehalf: - type: string - description: Type of system used for Trusted System On Behalf of requests. - enum: [ts_ext_on_behalf_of] - TokenRequest: - type: object - properties: - refresh_token: - description: The long-term token used to refresh the short term access token. Required only with a grant type of `refresh_token`. - type: string - required: false - maxLength: 256 - code: - description: Authorization code from the OAuth 2.1 service received in the front channel that is used to get access tokens and refresh tokens. Required with a grant type of `authorization_code` and `session_bridge`. - type: string - required: false - maxLength: 256 - example: "M0t1K0pyoFKhBpUZnuUYO07xf8iYyMJrAc7h31h_ra8.gglPClJHsofqdTm_yPe5n6m2yCXzFmD8qICwIEjQGVA" - usid: - description: The shopper's unique identifier, if known. If not provided, a new USID is generated. - type: string - required: false - example: "54ad2c5a-91f0-44ab-817c-73d6b86872d9" - grant_type: - description: OAuth 2.1 grant type - type: GrantType - example: "authorization_code" - redirect_uri: - description: | - The redirect URI that was used when getting the authorization code. A variety of URI formats and wildcards for host are supported, but app links like `airbnb://` or `fb://` are not. - - Examples of supported URIs: - - `http://localhost:3000/callback` - - `https://example.com/callback` - - `com.example.app:redirect_uri_path` - - ` *.subdomain.topleveldomain.com` - type: string - required: false - maxLength: 256 - example: "http://localhost:3000/callback" - code_verifier: - description: |- - PKCE code verifier. Created by the client calling the `login` endpoint. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - - The `code_verifier` is optional when using a private client id for the token request. - type: string - maxLength: 128 - required: false - client_id: - description: The SLAS client ID. Required when the grant type is `authorization_code_pkce`. - required: false - type: string - maxLength: 40 - example: "z99ec276-cg53-4g94-cf72-76f300c6778zc" - channel_id: - description: |- - The channel (B2C Commerce site) that the user is associated with. - - **Important: We strongly recommended using the channel_id query parameter because it will be required in the future. - - **NOTE - As of July 31, 2024**, SLAS will be requiring the `channel_id` query parameter in token requests. - required: false - type: string - maxLength: 100 - example: "RefArch" - dnt: - description: |- - This is an optional parameter to set `Do Not Track` for the session. - - SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. - - Values are: - * `false` - * `true` - - If not added the `dnt` value will default to `false`. - - required: false - type: string - example: "true" - TokenResponse: - type: object - properties: - access_token: - description: |- - Short term shopper JWT that can be used to access Shopper APIs. Valid for 30 minutes. - - A trusted agent shopper JWT is valid for 15 min. - type: string - example: |- - "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg" - id_token: - description: User ID token. Valid for 30 minutes. - type: string - example: "eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w" - refresh_token: - description: |- - Long term refresh token that can be used to refresh an access token. Valid for 30 days. - - The refresh_token will not be returned for trusted agents JWTs. A JWT for trusted agents expires after 15 minutes and is not refreshable. When expired, then app must restart the authorization flow and make another request to the /trusted-agent/authorize endpoint. - - type: string - example: "EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU" - expires_in: - description: Remaining access token expiry time, in seconds. - type: integer - example: 900 - refresh_token_expires_in: - description: Remaining refresh token expiry time, in seconds. - type: number - example: 2592000 - token_type: - description: Token Type - type: TokenType - usid: - type: string - description: The unique shopper ID. Returned when using the `client_credentials` grant type. - example: 18cda486-fe32-4e27-888b-6e4f89938e67 - customer_id: - type: string - description: Customer's ID - example: "1000005" - enc_user_id: - type: string - description: MD5 Hashed B2C Commerce user ID in uppercase. - example: "45D39A8499A95288F82855427EBA99B5" - idp_access_token: - type: string - maxLength: 8192 - description: This is the access token that is returned from the IDP. The IDP access token is returned to be able to make calls into the IDP outside of SLAS. - example: "eyJraWQiOiJYS21HbHVuSm0zSlBTMHNjQXZXV19XQlYtRi1wMkxLSDR0V05UMHVVSjVJIiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULjFMY0xxTWhqM2t0N1FKeFhxQ0VtdGZOOVV2eUcweW1meDFxZG9BdzF1NWMub2FyeXhveHF0QUtxaVFMbkM1ZDYiLCJpc3MiOiJodHRwczovL2Rldi05NTY1MjM2Lm9rdGEuY29tIiwiYXVkIjoiaHR0cHM6Ly9kZXYtOTU2NTIzNi5va3RhLmNvbSIsInN1YiI6Im9rdGEuc2xhcy50ZXN0IiwiaWF0IjoxNjc5Njk4MzA4LCJleHAiOjE2Nzk3MDE5MDgsImNpZCI6IjBvYTJrNXNma0JXZ0poTEVHNWQ2IiwidWlkIjoiMDB1MzhxZGpuU2NMT0IxbXE1ZDYiLCJzY3AiOlsib2ZmbGluZV9hY2Nlc3MiLCJvcGVuaWQiLCJlbWFpbCIsInByb2ZpbGUiXSwiYXV0aF90aW1lIjoxNjc5Njk4MzA2fQ.FDbGsnZGwTYVKGSlAo6jqcjG2HQ_BqQKRk72M5h69DRHyOM4wngsEELN_Wtgj3E77sP7IOmIKjiK5SFP17ADMbKZptVr2pqaMVF3PuU3Cbl_MgXZValfT-z12jHRq9sHMfsdTjY2RnvG44ZDFKc2no8mdL6IJ1MfCaZT5Tql5Ktq_UgudaWFsYqad3ETcmp5Y8ivz1bFnqud0sO9D9JzYOtfd9h71JKcsSC2rXc_Si-INPKKaGl8CDgaLXxu_Am9twJpUenHLpy0BerhcVvdFz7_611E53xOT_Esrc1pe-XAZtlYsJFnhxTBDT342ukiSWk2m6juVappv1GsRfUf2g" - - TokenActionRequest: - type: object - properties: - token: - description: Token to inspect or revoke. - type: string - example: "EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU" - token_type_hint: - description: Token type hint. For inspecting, use `access_token` or `refresh_token`. For revoking, use `refresh_token`. - type: TokenTypeHint - required: false - TrustedSystemTokenRequest: - type: object - description: A request for an access token on behalf of a registered user whose credentials are stored using a third party system. - properties: - usid: - description: The shopper's unique identifier, if known. If not provided, a new USID is generated. - type: string - required: false - example: "54ad2c5a-91f0-44ab-817c-73d6b86872d9" - grant_type: - description: Grant Type. Must be set to `client_credentials` for trusted system requests. - type: GrantType - example: "client_credentials" - hint: - description: The type of trusted system to use. - type: TrustedOnBehalf - example: "ts_ext_on_behalf_of" - login_id: - description: |- - The ID used by the shopper for trusted system access. - - If set to `guest`, a token is returned for a guest user. - type: string - maxLength: 128 - example: "samantha.sampleson@example.com" - idp_origin: - description: The external IDP that the user is associated with. Use `ecom` as the `idp_origin` value when using B2C Commerce as the identity provider. - type: ThirdPartyIdps - maxLength: 16 - example: "google" - client_id: - description: The SLAS public client ID for use with trusted-system requests. - type: string - maxLength: 40 - example: "6c388ebd-6843-4863-aef9-781382c9e8cd" - channel_id: - description: The channel (ECOM site) that the user is associated with. - type: string - maxLength: 100 - example: "RefArch" - email_id: - description: The email address for the shopper that is used for trusted-system requests. If not provided, `login_id` is used instead. - type: string - required: false - maxLength: 128 - example: "samantha.sampleson@example.com" - dnt: - description: |- - This is an optional parameter to set `Do Not Track` for the session. - - SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. - - Values are: - * `false` - * `true` - - If not added the `dnt` value will default to `false`. - - Note: The default value for `dnt` is set to `false` for SLAS token requests except for Trusted Agent token request. For Trusted Agent token requests the default value for `dnt` is `true`. - - required: false - type: string - example: "true" - TrustedAgentTokenRequest: - properties: - agent_id: - description: |- - The ID of the merchant. If passed in, the `agent_id` will be validated using the SUB claim in the response from Account Manager. - - This is an optional parameter unless the request is for a Trusted Agent on Behalf then `agent_id` is required. - type: string - required: false - maxLength: 40 - example: "merchant@example.com" - client_id: - description: |- - The SLAS public client ID or SLAS private client ID for use with trusted-system requests. - - The `client_id` is not needed if a using a SLAS private `client_id` and the `_sfdc_client_auth` header. - type: string - required: true - maxLength: 40 - example: "6c388ebd-6843-4863-aef9-781382c9e8cd" - channel_id: - description: The channel (B2C Commerce site) that the user is associated with. - type: string - required: true - maxLength: 100 - example: "RefArch" - code_verifier: - description: |- - PKCE code verifier. Created by the caller. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - - The `code_verifier` is not needed if a using a SLAS private `client_id` and the `_sfdc_client_auth` header. - type: string - example: "Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo" - grant_type: - description: Grant Type. Must be set to `client_credentials` for trusted agent requests. - type: GrantType - required: true - example: "client_credentials" - login_id: - description: |- - The ID is the shopper for trusted agent access. - - For TAOB Guest the `login_id` must be set to `Guest`. - type: string - required: true - maxLength: 128 - example: "jack.shopper@example.com" - idp_origin: - description: |- - The IDP that the user is associated with. - - For TAOB Guest the `idp_origin` parameter should be `slas`. If set to any other IDP origin a 400 Bad Request will be returned. - - type: string - required: true - maxLength: 16 - example: "ecom" - usid: - description: The shopper's unique identifier, if known. If not provided, a new USID is generated. - type: string - required: false - example: "54ad2c5a-91f0-44ab-817c-73d6b86872d9" - dnt: - description: |- - This is an optional parameter to set `Do Not Track` for the session. - - SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. - - Values are: - * `false` - * `true` - - If not added the `dnt` value will default to `true` - - Note: The default value for `dnt` is set to `true` for all TAOB flows. This is opposite from other SLAS token requests. - - required: false - type: string - example: "true" - state: - description: |- - This is an optional parameter to set state for the trusted agent session. - - If the `state` parameter is used it will be validated and a 400 Bad Request will be returned if missing or invalid. - - For TAOB Guest you must pass the `state` parameter to transfer the state from the TAOB Guest authorization call to the token call. - The `state` parameter value is returned with the authorization code in the response url from the TAOB guest authorization call, - for example: `.../taob/callback?code=HETXpvg5LKBNIHjDTWkRrf2MLVU&state=taob.gst.7bc7fb7f-e646-44fd-bc73-dfd5c3c9019b`. - - You would use `taob.gst.7bc7fb7f-e646-44fd-bc73-dfd5c3c9019b` for the `state` value in the TAOB request. - - required: false - type: string - example: "taobgst.3ebdcbb6-ef87-4f41-8173-67728636e513" - SessionBridgeTokenRequest: - properties: - code: - description: |- - Authorization code returned from session bridge authorization received in the front channel that is used to get session bridge access tokens and refresh tokens. Required with a grant type of `session_bridge`. The SLAS client must have the `sfcc.session_bridge` scope to request a session bridge token. - type: string - maxLength: 256 - example: "M0t1K0pyoFKhBpUZnuUYO07xf8iYyMJrAc7h31h_ra8.gglPClJHsofqdTm_yPe5n6m2yCXzFmD8qICwIEjQGVA" - client_id: - description: The SLAS public client ID for use with PKCE requests. This is a required parameter when using a public client. - type: string - required: true - maxLength: 40 - example: "6c388ebd-6843-4863-aef9-781382c9e8cd" - channel_id: - description: The channel (B2C Commerce site) that the user is associated with. - type: string - required: true - maxLength: 100 - example: "RefArch" - code_verifier: - description: |- - PKCE code verifier. Created by the caller. This is a required parameter when using a public client. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - type: string - example: "Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo" - dwsid: - description: |- - Cookie passed back from the '/authorize' endpoint call for session bridge. This parameter is optional and not needed if using the `dwsgst` parameter. - - **DEPRECATED** - As of January 31, 2024, SLAS will no longer support the SESB `dwsid` parameter for `guest` users for `session-bridge/token` calls. It is recommended to transition over to using a SESB `dwsgst` token. - - The `dwsid` will still be needed for `registered` user session-bridge/token calls. - - - type: string - example: pATvWUO3KSdt-Kmcy-8-RsxKnoO4BMDwoec7ACVlW6tZNnhaOL7gt7mHqL-h7QYn5TyE61z0DeSMCqxngsWeHw== - grant_type: - description: |- - Grant Type. Both `session_bridge` and `client_credentials` are supported. - - For public client id requests the grant_type must be set to `session_bridge`. - - For private client_id and secret the grant_type must be set to `client_credentials` along with a basic authorization header. - - type: GrantType - required: true - example: session_bridge - login_id: - description: |- - The ID of the shopper for session bridge access. If requesting a token for a guest user set login_id to `guest`. - type: string - required: true - maxLength: 128 - example: "jack.shopper@example.com" - dwsgst: - type: string - required: false - description: |- - Signed guest Json Web Token (JWT) that was obtained from B2C Commerce. This parameter is optional and not needed if using the guest `dwsid` parameter. - example: eyJraWQiOiIxNjgxNTU5OTkxNzkwIiwiYWxnIjoiRVMyNTYifQ.eyJ0ZW5hbnRJZCI6IkJHVk5fUzA1IiwiZHdzaWQiOiJuWHRhckdNU2ZxbnBaSUNJUGFKTHJSWGZ6b2lWYXBBU3BBTFNfeFdUMV9QZjRBWDA0N1lMQ1dSUFByM1BiSEl4d2RaODFiVGZoM3M1Wlgza2NhOG0zZz09IiwiY3VzdG9tZXJJZCI6ImJjQXI5N2NuMm1ZdmhjMGhqTGsxYmFXSzRqIiwiaWF0IjoxNjg1MTI4NjM2LCJleHAiOjE2ODUxMjkyMzksImlzcyI6ImNvbW1lcmNlY2xvdWQvcHJvZHVjdGlvbi9iZ3ZuczA1IiwidmVycyI6IjEiLCJ0eXBlIjoiRyJ9.BGY4kyOXbQSzZxubE3BrSzhf8ByehGUfJa7_J2XRQ93xY4dAOhF_xbXcHmBaEUBUzSny-Cf0pATzEaSsKpTxkg - dwsrst: - type: string - required: false - description: |- - Signed registered customer Json Web Token (JWT) that was obtained from B2C Commerce. This parameter is optional and not needed if using the registered user `dwsid` parameter. - - **NOTE:** The registered customer Json Web Token (JWT) will be available in ECOM versions 25.4 and higher. - - example: eyJraWQiOiIxNjMwOTM5MzAyODE0IiwiYWxnIjoiRVMyNTYifQ.eyJmbmFtZSI6Ikx1a2UiLCJkd3NpZCI6IkdkWWpSQjViZGVpU0xkb3Ixdy15QzRTZ1l3dDJHYl9Ec255OG5nZ2I3c0VDajVMWndnT0ZJWTZsa21sNlVRMXZoazl1SDVJUGxMek5rZTJhNTV2YU9nPT0iLCJ2ZXJzIjoiMiIsImlzcyI6InNsYXMvZGV2L2Jndm5fc3RnIiwidHlwZSI6IlIiLCJsbmFtZSI6IlNreXdhbGtlciIsInJjdXN0b21lcklkIjoiOGgzNHh6dDQxOTVpOHA1MmE2ejAzczIxNDgiLCJwaG9uZSI6bnVsbCwidGVuYW50SWQiOiJiZ3ZuX3N0ZyIsImN1c3RvbWVySWQiOiI0OHB1eXA4dTdmMmM5NHgzMTUxeDA4bGEweiIsImV4cCI6MTczNTE1NDQ4NiwiaWF0IjoxNzMyNTYyNDg2LCJlbWFpbCI6Imx1a2Uuc2t5d2Fsa2VyQG5hYm9vLm9yZyJ9.Q2nF0wuEl1X7aVZ-ycCwxDjjmq5toJred5AEDqKXXjj89BY_0HIQoAEMbx9UDqOmhjdBkxN4idVzYVoXcl0c2A - usid: - type: string - required: false - description: The unique shopper ID. Returned when from session bridge authorization. - example: 18cda486-fe32-4e27-888b-6e4f89938e67 - dnt: - description: |- - This is an optional parameter to set `Do Not Track` for the session. - - SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. - - Values are: - * `false` - * `true` - - If not added the `dnt` value will default to `false`. - - required: false - type: string - example: "true" - PasswordlessLoginRequest: - type: object - description: A request for a passwordless login token. This is only available for resgistered users using B2C Commerce. - properties: - user_id: - description: User ID for logging in. - type: string - maxLength: 128 - example: "samantha.sampleson@example.com" - mode: - description: Notification mode for sending the passwordless token to the user. Using `callback` SLAS will make POST request to the given callback_uri. Using `sms` requires Marketing Cloud to be configured for SLAS and have a `sms` password action template also configured. - type: PasswordActionModes - example: "callback" - locale: - description: The locale of the template. Not needed for the `callback` mode - required: false - type: string - example: "en-us" - usid: - description: The shopper's unique identifier, if known. If not provided, a new USID is generated. - required: false - type: string - example: 18cda486-fe32-4e27-888b-6e4f89938e67 - channel_id: - description: The channel (B2C Commerce site) that the user is associated with. - type: string - maxLength: 100 - example: "RefArch" - callback_uri: - description: | - The callback URI. Required when the mode is `callback`. The `callback_uri` property will be validated against the callback URIs that have been registered with the SLAS client. The callback URI _must_ be a `POST` endpoint because the token will be included in the body. - - Wildcards are not allowed in the callback_uri because this is a security risk that can expose the token. This is not considered an OAuth2 callback_url. - required: false - type: string - example: "http://localhost:9050/passwordless/login/callback" - PasswordActionRequest: - type: object - description: A request for a password reset token. This is only available for resgistered users using B2C Commerce. - properties: - user_id: - description: User ID for logging in. This is the id that is used to log into SFCC. - type: string - maxLength: 128 - example: "samantha.sampleson@example.com" - mode: - description: Notification mode for sending the passwordless token to the user. Using `callback` SLAS will make POST request to the given callback_uri. Using `sms` requires Marketing Cloud to be configured for SLAS and have a `sms` password action template also configured. - type: PasswordActionModes - example: "callback" - channel_id: - description: The channel (B2C Commerce site) that the user is associated with. - type: string - example: "RefArch" - locale: - description: The locale of the template. - required: false - type: string - example: "en-us" - client_id: - description: -| - The public client ID. Requires setting `grant_type` to `passwordless_login_pkce`. - - When using the `hint` query parameter either a public or private client ID can be used. - required: false - type: string - maxLength: 40 - example: "6b200ebd-7843-4073-aef9-792482c9e1de" - code_challenge: - description: |- - PKCE code challenge. Created by the client. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - - Requires setting `grant_type` to `passwordless_login_pkce` - required: false - type: string - minLength: 43 - maxLength: 128 - example: "Nx_Vf0-0W6SpyRVBVTbl8VSu2OE4yD2fZNExW6N3V_Q" - callback_uri: - description: | - The callback uri. Required when the mode is `callback`. The `callback_uri` property will be validated against the callback URIs that have been registered with the SLAS client. The callback URI _must_ be a `POST` endpoint because the token will be included in the body. - - Wildcards are not allowed in the callback_uri because this is a security risk that can expose the token. This is not considered an OAuth2 callback_url. - required: false - type: string - example: "http://localhost:9050/password/reset/callback" - idp_name: - description: The name of the 3rd party identity provider for the user ID - required: false - type: string - example: "okta" - hint: - description: Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_challenge for password reset request. If the `hint` query parameter is used it must also be used in the password reset request. - required: false - type: string - example: "cross_device" - - PasswordActionVerifyRequest: - type: object - description: A request for creating a new password using the password action token. - properties: - client_id: - description: -| - The public client ID. - - When using the `hint` query parameter either a public or private client ID can be used. - type: string - maxLength: 40 - example: "6b200ebd-7843-4073-aef9-792482c9e1de" - pwd_action_token: - description: Password action token that was returned from the `/password/reset` endpoint. - type: string - example: "QJO3CA7QTPVCQ3OMROXF2MTDDED3EEC3" - code_verifier: - description: |- - PKCE code verifier. Created by the client. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - type: string - example: "Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo" - new_password: - description: The new password to set for the shopper associated with the password action token. - required: false - type: string - example: "new_password" - channel_id: - description: The channel that the request is for. For a B2C Commerce request, this is angalous to the site ID. - required: true - type: string - maxLength: 100 - example: "RefArch" - hint: - description: Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_verifier for password reset request. If the `hint` query parameter is used it must also have been used in the password action request. - required: false - type: string - example: "cross_device" - - PasswordLessLoginTokenRequest: - type: object - description: A request for an access token using a passwordless token. - properties: - grant_type: - description: OAuth 2.1 grant type. Must be set to `client_credentials` for passwordless login. - type: GrantType - example: "client_credentials" - hint: - description: Passwordless hint. Use `pwdless_login`. - type: string - example: "pwdless_login" - pwdless_login_token: - description: Passwordless login token that was created from the user ID. - type: string - example: "QJO3CA7QTPVCQ3OMROXF2MTDDED3EEC3" - client_id: - description: The public client ID. - required: false - type: string - maxLength: 40 - example: "6b200ebd-7843-4073-aef9-792482c9e1de" - code_verifier: - description: |- - PKCE code verifier. Created by the client. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - required: false - type: string - example: "Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo" - IntrospectResponse: - type: object - properties: - active: - type: boolean - scope: - type: string - example: "offline_access openid" - client_id: - type: string - example: "553ac8ac-4db9-4ed3-825c-3ae3bf5d327b" - sub: - type: string - example: "usid:156c4e69-e89b-406b-a4b7-576980bb234e::upn:Guest" - exp: - type: integer - example: 1594733276 - username: - type: string - example: "samantha.sampleson@example.com" - token_type: - type: string - example: "refresh_token" - Oauth2ErrorResponse: - type: object - properties: - error: - type: string - example: "invalid_client" - error_uri: - type: string - required: false - example: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/oauth-service" - error_description: - type: string - required: false - example: "Missing access token or refresh token." - JwksSuccessResponse: - type: object - properties: - keys: - type: array - LoginRequest: - description: |- - Supports multiple custom parameters to invoke hooks in B2C Commerce API. Multiple custom parameters can be added. Use the `c_` prefix to distinguish custom query parameters from standard query parameters, for example: c_captcha=true - - If there is a validation error, a 400 Bad_Request with the details of the error is thrown. - type: - CommerceCloudStandards.OpenObject - properties: - client_id: - description: SLAS client ID. Required when the grant type is `authorization_code_pkce`. - required: false - type: string - maxLength: 40 - example: "z99ec276-cg53-4g94-cf72-76f300c6778zc" - response_type: - description: Must be `code`. Indicates that the client wants an authorization code (when the grant type is `authorization_code`). - required: false - type: ResponseType - redirect_uri: - description: | - The URI to which the server redirects the browser after the user grants the authorization. The URI must be registered with the SLAS client. A variety of URI formats and wildcards for host are supported, but app links like airbnb:// or fb:// are not. Examples of supported URIs: - - Examples of supported URIs: - - `http://localhost:3000/callback` - - `https://example.com/callback` - - `com.example.app:redirect_uri_path` - - ` *.subdomain.topleveldomain.com` - required: true - maxLength: 256 - type: string - example: "http://localhost:3000/callback" - state: - description: Value to be sent by the client to determine the state between the authorization request and the server response. Optional, but strongly recommended. - required: false - type: string - maxLength: 512 - example: "client-state" - scope: - description: Scopes to limit an application's access to a user's account. - required: false - type: string - maxLength: 256 - example: "openid|offline_access|email" - usid: - description: The unique shopper ID. - required: false - type: string - example: "18cda486-fe32-4e27-888b-6e4f89938e67" - channel_id: - description: The channel that the request is for. For a B2C Commerce request, this is angalous to the site ID. - required: true - type: string - maxLength: 100 - example: "RefArch" - code_challenge: - description: |- - PKCE code verifier. Created by the client calling the `login` endpoint. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - - The `code_challenge` is optional when using a private client id for the token request. - type: string - required: false - minLength: 43 - maxLength: 128 - example: "krc5G3_5lRUcXDUzFZQ88oJA_-ZmlHWkyGsgOrSLEWg" - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /oauth2: - /login: - description: | - **Deprecation notice**: The `GET` method is deprecated for this endpoint. Please use `POST` instead. - Get authorization code after authenticating a user using a B2C Commerce (B2C Commerce) instance. - - post: - description: | - Logs in a shopper with credentials that are managed by a B2C Commerce instance (B2C Commerce). It follows the authorization code grant flow as defined by the OAuth 2.1 standard. It also uses a proof key for code exchange (PKCE). - - For PKCE values: - - The `code_verifier` string is a random string used for the `/token` endpoint request. - - The `code_challenge` is an encoded version of the `code_verifier` string using an SHA-256 hash. - - The request must include a basic authorization header that contains a Base64 encoded version of the following string: `:`. - - Required parameters: `code_challenge`, `channel_id`, `client_id`, and `redirect_uri`. - - Optional parameters: `usid`. - - The SLAS `/login` endpoint redirects back to the redirect URI and returns an authorization code. - - Calls to `/login` made with the same loginId and tenantId within 1 second will result in a conflict. - displayName: authenticateCustomer - is: - - SlasRateLimit: - responseStatus: 303 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 500 - headers: - Authorization: - displayName: Login - description: Base64-encoded username and password for HTTP Basic authentication. - type: string - required: true - example: "Basic " - body: - application/x-www-form-urlencoded: - type: LoginRequest - responses: - 303: - description: Success. The authorization code and usid is added to the location header and sent to the callback as query parameters. - body: - application/json: - type: string - example: | - location: https://:/callback?usid=d11392ae-cbf0-4296-9723-8f9f0e49fd73&state=1728422547223&scope=openid%20offline_access&code=561X8NOKvoRezq2aucazwwkrevUoIP37YRTfsRHX8ow - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: |- - { - "error": "invalid_request", - "error_description": "Bad or missing client_id." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Basic Authorization failed." - } - 409: - description: Conflict - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "conflict", - "error_description": "The same loginId and tenantId tried to login twice within 1 second." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /passwordless/login: - description: Log in a customer using Core with their customer profiles loaded in B2C Commerce. Allows the user to authenticate when their identity provider (Core) is down. The SLAS client must have the `sfcc.pwdless_login` scope to access this endpoint. - post: - description: Allows the customer to authenticate when their identity provider is down. - displayName: authorizePasswordlessCustomer - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 412 - headers: - Authorization: - displayName: Authorization - description: "Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`" - type: string - required: false - example: "Basic " - body: - application/x-www-form-urlencoded: - type: PasswordlessLoginRequest - responses: - 200: - description: Success - body: - application/json: - type: string - - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing access token." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 412: - description: Precondition Failure - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "precondition_failure", - "error_description": "Dependent service is not available." - } - /logout: - description: Log out a shopper. - get: - description: |- - Log out a shopper. The shopper's access token and refresh token are revoked. If the shopper authenticated with a B2C Commerce (B2C Commerce) instance, the OCAPI JWT is also revoked. This should be called for Registered users that have logged in using SLAS. his should be called for registered users that have logged in using SLAS. This endpoint is not for use with guest users. - - Required header: Authorization header bearer token of the Shopper access token to logout. - - Required parameters: `refresh token`, `channel_id`, and `client`. - displayName: logoutCustomer - is: - - SlasRateLimit: - responseStatus: 303 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 500 - - securedBy: - - CommerceCloudStandards.ShopperToken: - { - Bearer eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw, - } - queryParameters: - client_id: - description: The SLAS client ID. - required: true - type: string - maxLength: 40 - example: "z99ec276-cg53-4g94-cf72-76f300c6778zc" - refresh_token: - description: Refresh token that was given during the access token request. - required: true - type: string - channel_id: - description: The `channel_id` parameter must be provided if the shopper authenticated using the `login` endpoint with B2C Commerce. - required: false - type: string - maxLength: 100 - example: "RefArch" - hint: - description: Optional parameter for logging out user sessions. Use `all-sessions` to log out all user sessions. If `hint` is not used, only the current user session will be logged out. - required: false - type: string - maxLength: 12 - example: all-sessions - responses: - 200: - description: Success - body: - application/json: - type: TokenResponse - example: | - { - "access_token": "", - "id_token": "null", - "refresh_token": "EnL9U2f3-WiVPwL60CFBI21UY_oxWAwX5JkgO-X12Vs", - "expires_in": 0, - "refresh_token_expires_in": 0, - "token_type": "Bearer", - "usid": "null", - "customer_id": "null", - "enc_user_id": "null", - "idp_access_token": "" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing client_id." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Basic Authorization failed." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /authorize: - description: OAuth 2.1 authorization endpoints. - get: - description: |- - Get an authorization code after authenticating a user against an identity provider (IDP). This is the first step of the OAuth 2.1 authorization code flow, where a user can log in via federation to the IDP configured for the client. After successfully logging in, the user gets an authorization code via a redirect URI. - - This endpoint can be called from the front channel (the browser). - displayName: authorizeCustomer - is: - - SlasRateLimit: - responseStatus: 303 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 500 - queryParameters: - redirect_uri: - description: | - The URL to which the server redirects the browser after the user grants the authorization. The URI must be pre-registered. A variety of URI formats and wildcard for host are supported, but app links like `airbnb://` or `fb://` are not. Examples of supported URIs: - - `http://localhost:3000/callback` - - `https://example.com/callback` - - `com.example.app:redirect_uri_path` - - ` *.subdomain.topleveldomain.com` - required: true - maxLength: 256 - type: string - example: "http://localhost:3000/callback" - response_type: - description: Must be `code`. Indicates that the client wants an authorization code (using the `authorization_code` grant type). - required: true - type: ResponseType - client_id: - description: The client ID obtained during application registration. - required: true - type: string - maxLength: 40 - example: "client-id1" - scope: - required: false - type: string - maxLength: 256 - enum: [openid, offline_access, email] - state: - description: Value to send the client to determine the state between the authorization request and the server response. Optional, but strongly recommended. - required: false - type: string - maxLength: 512 - example: "client-state" - usid: - description: A unique shopper identifier (USID). If not provided, a new USID is generated. - required: false - type: string - maxLength: 256 - example: "d09c5010-4baa-11ea-98d8-01062d1a14bb" - hint: - description: |- - Name of an identity provider (IDP) to optionally redirect to, thereby skipping the IDP selection step. - - To use a public client, set `hint` to `guest` and use a public client ID to get an authorization code. If no `hint` is provided, the preferred IDP of the tenant is used by default. - - For session bridge authorization the `hint` should be set to `sb-user` for a registered customer and to `sb-guest` for a guest. For session bridge authorization the SLAS Client `sfcc.session_bridge` scope. - required: false - type: string - maxLength: 256 - example: "google" - channel_id: - description: The channel that this request is for. For a B2C Commerce request, this is angalous to the site ID. - required: false - type: string - maxLength: 100 - example: "RefArch" - code_challenge: - description: |- - PKCE code challenge. Created by the client calling the `login` endpoint. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - required: false - type: string - minLength: 43 - maxLength: 128 - example: "krc5G3_5lRUcXDUzFZQ88oJA_-ZmlHWkyGsgOrSLEWg" - ui_locales: - description: |- - End-User's preferred languages and scripts for the user interface, represented as a space-separated list of BCP47 [RFC5646] language tag values, ordered by preference. For example, the value `fr-CA fr en` represents a preference for French as spoken in Canada, then French (without a region designation), followed by English (without a region designation). - - In most cases the IDP supports one language tag and has a default language set on the server. SLAS will support the space-separated list and pass them to the IDP. - required: false - type: string - maxLength: 256 - example: "en es-A fr-CA" - - responses: - 303: - description: Success. The authorization code is added to the `redirect_uri`. - body: - application/json: - type: string - example: | - { - "authorizationCode": "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiS", - "usid": "156c4e69-e89b-406b-a4b7-576980bb234e" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing client_id." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Basic Authorization failed." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - - /token: - description: Shopper OAuth 2.1 token endpoint. - post: - description: |- - Get the shopper or guest JWT access token and a refresh token. This is the second step of the OAuth 2.1 authorization code flow. - - For a private client, an application is able to get an access token for the shopper through the back channel (a trusted server) by passing in the client credentials and the authorization code retrieved from the `authorize` endpoint. - - For a guest user, get the shopper JWT access token and a refresh token. This is where a client appplication is able to get an access token for the guest user through the back channel (a trusted server) by passing in the client credentials. - - For a public client using PKCE, an application will pass a PKCE `code_verifier` that matches the `code_challenge` that was used to `authorize` the customer along with the authorization code. - - When refreshing the access token with a private client ID and client secret, the refresh token is _not_ regenerated. However, when refreshing the access token with a public client ID, the refresh token is _always_ regenerated. The old refresh token is voided with every refresh call, so the refresh token on the client needs to be replaced to always store the new refresh token. - - See the Body section for required parameters, including `grant_type` and others, depending on the value of `grant_type`. - - **Important**: We strongly recommended using the `channel_id` query parameter because **it will be required in the future**. - - **NOTE - As of July 31, 2024**, SLAS will be requiring the `channel_id` query parameter in token requests. - displayName: getAccessToken - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 500 - headers: - Authorization: - displayName: Authorization - description: "Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`. Required unless the grant type is `authorization_code_pkce`." - type: string - required: false - example: "Basic " - body: - application/x-www-form-urlencoded: - type: TokenRequest - responses: - 200: - description: Success - body: - application/json: - type: TokenResponse - example: | - { - "access_token": "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg", - "id_token": "eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w", - "refresh_token": "EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU", - "expires_in": 900, - "refresh_token_expires_in": 7776000, - "token_type": "Bearer", - "usid": "18cda486-fe32-4e27-888b-6e4f89938e67", - "customer_id": "1000005", - "enc_user_id": "45D39A8499A95288F82855427EBA99B5", - "idp_access_token": "eyJraWQiOiJYS21HbHVuSm0zSlBTMHNjQXZXV19XQlYtRi1wMkxLSDR0V05UMHVVSjVJIiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULjFMY0xxTWhqM2t0N1FKeFhxQ0VtdGZOOVV2eUcweW1meDFxZG9BdzF1NWMub2FyeXhveHF0QUtxaVFMbkM1ZDYiLCJpc3MiOiJodHRwczovL2Rldi05NTY1MjM2Lm9rdGEuY29tIiwiYXVkIjoiaHR0cHM6Ly9kZXYtOTU2NTIzNi5va3RhLmNvbSIsInN1YiI6Im9rdGEuc2xhcy50ZXN0IiwiaWF0IjoxNjc5Njk4MzA4LCJleHAiOjE2Nzk3MDE5MDgsImNpZCI6IjBvYTJrNXNma0JXZ0poTEVHNWQ2IiwidWlkIjoiMDB1MzhxZGpuU2NMT0IxbXE1ZDYiLCJzY3AiOlsib2ZmbGluZV9hY2Nlc3MiLCJvcGVuaWQiLCJlbWFpbCIsInByb2ZpbGUiXSwiYXV0aF90aW1lIjoxNjc5Njk4MzA2fQ.FDbGsnZGwTYVKGSlAo6jqcjG2HQ_BqQKRk72M5h69DRHyOM4wngsEELN_Wtgj3E77sP7IOmIKjiK5SFP17ADMbKZptVr2pqaMVF3PuU3Cbl_MgXZValfT-z12jHRq9sHMfsdTjY2RnvG44ZDFKc2no8mdL6IJ1MfCaZT5Tql5Ktq_UgudaWFsYqad3ETcmp5Y8ivz1bFnqud0sO9D9JzYOtfd9h71JKcsSC2rXc_Si-INPKKaGl8CDgaLXxu_Am9twJpUenHLpy0BerhcVvdFz7_611E53xOT_Esrc1pe-XAZtlYsJFnhxTBDT342ukiSWk2m6juVappv1GsRfUf2g" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing access token." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Basic Authorization failed." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /session-bridge/token: - description: Evaluate the session bridge authorization code and issue a shopper token (JWT). The SLAS client must have the `sfcc.session_bridge` scope to access this endpoint. - - post: - description: |- - Get a shopper JWT access token for a registered customer using session bridge. - - For public client id requests the grant_type must be set to `session_bridge`. - - For private client_id and secret the grant_type must be set to `client_credentials` along with a basic authorization header. - - **DEPRECATED** - As of January 31, 2024, SLAS will no longer support the SESB `dwsid` parameter for `guest` users for `session-bridge/token` calls. It is recommended to transition over to using a SESB `dwsgst` token. - - The `dwsid` will still be needed for `registered` user `session-bridge/token` calls. - - **NOTE:** The registered customer Json Web Token (JWT) will be available in ECOM versions 25.4 and higher. - - displayName: getSessionBridgeAccessToken - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 503 - body: - application/x-www-form-urlencoded: - type: SessionBridgeTokenRequest - responses: - 200: - description: Success - body: - application/json: - type: TokenResponse - example: | - { - "access_token": "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg", - "id_token": "eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w", - "refresh_token": "EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU", - "expires_in": 900, - "refresh_token_expires_in": 7776000, - "token_type": "Bearer", - "usid": "18cda486-fe32-4e27-888b-6e4f89938e67", - "customer_id": "1000005", - "enc_user_id": "45D39A8499A95288F82855427EBA99B5", - "idp_access_token": "" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing authorization token." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 503: - description: Gateway Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /trusted-system/token: - description: Shopper OAuth 2.1 token endpoint. - post: - description: |- - Get a shopper JWT access token for a registered customer whose credentials are stored using a third party. The SLAS client must have the `sfcc.ts_ext_on_behalf_of` scope to access this endpoint. - - - For trusted-system requests, a basic authorization header that includes a SLAS private client ID and SLAS private client secret can be used in place of the bearer token. - - - For trusted-system requests SLAS public client_ids can not be used. - - displayName: getTrustedSystemAccessToken - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 503 - headers: - Authorization: - displayName: Authorization - description: "Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`. Required unless the grant type is `authorization_code_pkce`." - type: string - required: false - example: "Basic " - body: - application/x-www-form-urlencoded: - type: TrustedSystemTokenRequest - responses: - 200: - description: Success - body: - application/json: - type: TokenResponse - example: | - { - "access_token": "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg", - "id_token": "eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w", - "refresh_token": "EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU", - "expires_in": 900, - "refresh_token_expires_in": 7776000, - "token_type": "Bearer", - "usid": "18cda486-fe32-4e27-888b-6e4f89938e67", - "customer_id": "1000005", - "enc_user_id": "45D39A8499A95288F82855427EBA99B5", - "idp_access_token": "" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing access token." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 409: - description: Conflict - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "conflict", - "error_description": "The same loginId and tenantId tried to login twice within 1 second." - } - 503: - description: Gateway Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /trusted-agent/authorize: - description: Obtains a new agent on behalf authorization token for a registered customer. The SLAS client must have the `sfcc.ta_ext_on_behalf_of` scope to access this endpoint. - get: - description: Obtains a new agent on behalf authorization token for a registered customer. - displayName: getTrustedAgentAuthorizationToken - is: - - SlasRateLimit: - responseStatus: 303 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 500 - queryParameters: - client_id: - description: The SLAS public client ID or SLAS private client ID for use with trusted-agent requests. When using a private client ID a PKCE code challenge is not required. - type: string - required: true - maxLength: 40 - example: "6c388ebd-6843-4863-aef9-781382c9e8cd" - channel_id: - description: The channel (B2C Commerce site) that the user is associated with. - type: string - required: true - maxLength: 100 - example: "RefArch" - code_challenge: - description: |- - PKCE code challenge. Created by the caller. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - - The `code_challenge` is not needed if a using SLAS private `client_id`. - type: string - minLength: 43 - maxLength: 128 - example: "krc5G3_5lRUcXDUzFZQ88oJA_-ZmlHWkyGsgOrSLEWg" - login_id: - description: |- - The ID of the shopper for trusted agent access. - - For TAOB Guest the `login_id` must be set to `Guest`. - type: string - maxLength: 128 - example: "jack.shopper@example.com" - idp_origin: - description: |- - The IDP that the shopper is associated with. - - For TAOB Guest the `idp_origin` must be set to `slas`. This is standard for SLAS Guest requests. If any other `idp_origin` value is used, SLAS returns a bad request. - type: string - required: true - maxLength: 16 - example: "ecom" - redirect_uri: - description: | - The redirect for Account Manager to redirect to. A variety of URI formats and wildcard for host are supported, but app links like `airbnb://` or `fb://` are not. Examples of supported URIs: - - `http://localhost:3000/callback` - - `https://example.com/callback` - - `com.example.app:redirect_uri_path` - - ` *.subdomain.topleveldomain.com` - type: string - required: true - maxLength: 256 - example: "http://localhost:3000/callback" - response_type: - description: Must be `code`. Indicates that the caller wants an authorization code. - required: true - type: ResponseType - responses: - 303: - description: Success. Locaion header with `redirect_uri` to Account Manager to allow the Agent to log in. - body: - application/json: - type: string - example: "Location Header - https://account.demandware.com:443/dwsso/UI/Login?realm=/&goto=https://account.demandware.com:443/dwsso/oauth2/authorize?client_id=6739cb07-2f5f-4e16-a88a-8113a3cb5512&redirect_uri=https://stg.us1.shopper.cc.salesforce.com/api/v1/trusted-agent/callback" - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing client_id." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /trusted-agent/token: - description: Evaluate the trusted agent token and issue a shopper token (JWT). - post: - description: |- - Get a shopper JWT access token for a registered customer using a trusted agent (merchant). - - If using a SLAS private client ID, you must also use an `_sfdc_client_auth` header. - - The value of the `_sfdc_client_auth` header must be a Base64-encoded string. The string is composed of a SLAS private client ID and client secret, separated by a colon (`:`). For example, `privateClientId:privateClientsecret` becomes `cHJpdmF0ZUNsaWVudElkOnByaXZhdGVDbGllbnRzZWNyZXQ=` after Base64 encoding. - displayName: getTrustedAgentAccessToken - securedBy: - - CommerceCloudStandards.ShopperToken: - { - Bearer eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw, - } - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 503 - headers: - Authorization: - displayName: Authorization - description: "This is the `Bearer` token returned from Account Manager after the trusted agent on behalf of (TAOB) authorize call." - type: string - required: false - example: "Bearer HQ8zQXpc0VVaXEdBdzasZQaCQDw" - _sfdc_client_auth: - displayName: _sfdc_client_auth - description: |- - "Base64-encoded string of client credentials. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`. (Do not add the string `"Basic"`.) - - The `_sfdc_client_auth` header is only required when using a SLAS private client ID." - type: string - required: false - example: "" - body: - application/x-www-form-urlencoded: - type: TrustedAgentTokenRequest - responses: - 200: - description: Success - body: - application/json: - type: TokenResponse - example: | - { - "access_token": "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg", - "id_token": "eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w", - "refresh_token": "EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU", - "expires_in": 900, - "token_type": "Bearer", - "refresh_token_expires_in": 7776000, - "usid": "18cda486-fe32-4e27-888b-6e4f89938e67", - "customer_id": "1000005", - "enc_user_id": "45D39A8499A95288F82855427EBA99B5", - "idp_access_token": "" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing authorization token." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 503: - description: Gateway Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /password: - /reset: - description: -| - Request a password reset token. The password reset token will be sent to the shopper using a redirect URI back to the merchant who will then send the token to the customer. - - Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_verifier for password reset request. If the `hint` query parameter is used it must also have been used in the password action request. - post: - description: Request a reset password token - displayName: getPasswordResetToken - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 412 - body: - application/x-www-form-urlencoded: - type: PasswordActionRequest - responses: - 200: - description: Success - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing request parameters." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 412: - description: Precondition Failure - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "precondition_failure", - "error_description": "Depenant service is not available." - } - - /action: - description: -| - Creates a new password. Creates a new password that is passed in with the password action token that was sent from the `/password/reset` endpoint. - - Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_challenge for password reset request. If the `hint` query parameter is used it must also be used in the password reset request. - - When using the `hint` query parameter either a public or private client_id can be used. - post: - description: Creates a new password - displayName: resetPassword - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 503 - headers: - Authorization: - displayName: Authorization - description: "Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`" - type: string - required: false - example: "Basic " - body: - application/x-www-form-urlencoded: - type: PasswordActionVerifyRequest - responses: - 200: - description: Success - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing request parameters." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 503: - description: Gateway Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "gateway_server_error", - "error_description": "A service that the server relies on is down or is having difficulty." - } - /passwordless/token: - description: Evaluate the passwordless token and issue a shopper token (JWT). The SLAS client must have the `sfcc.pwdless_login` scope to access this endpoint. - post: - description: Issue a shopper token (JWT). - displayName: getPasswordLessAccessToken - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 503 - headers: - Authorization: - displayName: Authorization - description: "Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`" - type: string - required: false - example: "Basic " - body: - application/x-www-form-urlencoded: - type: PasswordLessLoginTokenRequest - responses: - 200: - description: Success - body: - application/json: - type: TokenResponse - example: | - { - "access_token": "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg", - "id_token": "eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w", - "refresh_token": "EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU", - "expires_in": 900, - "refresh_token_expires_in": 7776000, - "token_type": "Bearer", - "usid": "18cda486-fe32-4e27-888b-6e4f89938e67", - "customer_id": "1000005", - "enc_user_id": "45D39A8499A95288F82855427EBA99B5", - "idp_access_token": "" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing access token." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 503: - description: Gateway Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "gateway_server_error", - "error_description": "A service that the server relies on is down or is having difficulty." - } - - /revoke: - description: Shopper OAuth 2.1 token revoke endpoint. - post: - description: Invalidate the refresh token. A basic auth header with Base64-encoded `clientId:secret` is required in the Authorization header, and the refresh token to be revoked is required in the body. - displayName: revokeToken - headers: - Authorization: - displayName: Authorization - description: Base64 string for HTTP Basic authentication. - type: string - required: true - example: "Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW" - body: - application/x-www-form-urlencoded: - type: TokenActionRequest - example: | - { - "token": "ry5XU_WHX20S6Cn6W7keFIs7Pzkv4wTZJS9Yvh0Ve9A.cdBxoCY9Q3jffQQOFnb_qghbSmSRnn9-2H4GwFTDMTk", - "token_type_hint": "refresh_token" - } - responses: - 200: - description: Success - body: - application/json: - type: TokenResponse - example: | - { - "access_token": "", - "id_token": "null", - "refresh_token": "EnL9U2f3-WiVPwL60CFBI21UY_oxWAwX5JkgO-X12Vs", - "expires_in": 0, - "refresh_token_expires_in": 0, - "token_type": "Bearer", - "usid": "null", - "customer_id": "null", - "enc_user_id": "null", - "idp_access_token": "" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing refresh token." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Basic Authorization failed." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /introspect: - description: Returns information about an access token or refresh token. Used by resource servers or other internal servers. - post: - description: Returns the token properties. A basic auth header with Base64-encoded `clientId:secret` is required in the Authorization header, as well as an access token or refresh token. Use `token_type_hint` to help identify the token. - displayName: introspectToken - headers: - Authorization: - displayName: Authorization - description: Base64 string for HTTP Basic authentication. - type: string - required: true - example: "Basic " - body: - application/x-www-form-urlencoded: - type: TokenActionRequest - example: | - { - "token": "eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw", - "token_type_hint": "access_token" - } - responses: - 200: - description: Success - body: - application/json: - example: | - { - "active": true, - "scope": "offline_access openid", - "client_id": "553ac8ac-4db9-4ed3-825c-3ae3bf5d327b", - "sub": "usid:edbf780a-2d83-4e82-9f64-8d051e3538d2::uido:Google::upn:blair.slas.test@gmail.com::uidn:Foo SLAS-Test", - "exp": 1602523099, - "iat": 1594747099, - "iss": "https://localhost:9000/", - "token_type": "refresh_token" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing access token or refresh token" - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Basic Authorization failed." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /userinfo: - description: Return claims about the authenticated user. - get: - description: Returns a JSON listing of claims about the currently authenticated user. - displayName: getUserInfo - securedBy: - - CommerceCloudStandards.ShopperToken: - { - Bearer eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw, - } - # headers: - # Authorization: - # displayName: Authorization - # description: SLAS Access Token - # type: string - # required: true - # example: "eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw" - queryParameters: - channel_id: - description: Used when getting user information for a SFCC login. For an B2C Commerce customer, this is angalous to the site ID. Required when getting user information for an B2C Commerce customer. - required: false - maxLength: 100 - type: string - example: "RefArch" - responses: - 200: - description: Success - body: - application/json: - type: string - example: | - { - "sub": "98a84e4b-be50-422a-ab04-e9034e859eb9", - "name": "Slas Test", - "given_name": "Slas", - "family_name": "Test", - "email": "slas-okta-test@test.org", - "external_id": "okta-00u38qdjnScLOB1mq5d6", - "customer_id": "abxHc1lblIlKwRl0k1mqYYkewY", - "validated": true - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing access token." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - - /.well-known/openid-configuration: - description: | - OpenID Connect (OIDC) is an identity layer built on top of the OAuth 2.1 standard and supported by some OAuth 2.1 providers, such as Google. It defines a sign-in flow that enables a client application to authenticate a user and obtain information about the user. Each piece of user information is called a claim. Claims can be used to access username, email, and so on. User identity information is encoded in a secure JSON Web Token (JWT). - - For performance purposes, the `/.well-known/openid-configuration` endpoint is rate limited to 25 call per minute. - get: - description: | - Returns a JSON listing of the OpenID/OAuth endpoints, supported scopes and claims, public keys used to sign the tokens, and other details. - - For performance purposes, the `/.well-known/openid-configuration` endpoint is rate limited to 25 call per minute. - displayName: getWellknownOpenidConfiguration - responses: - 200: - description: Success - body: - application/json: - type: string - example: | - { - "issuer": "https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2", - "authorization_endpoint": "https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/authorize", - "token_endpoint": "https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/token", - "revocation_endpoint": "https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/revoke", - "userinfo_endpoint": "https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/userinfo", - "jwks_uri": "https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/jwks", - "grant_types_supported": [ - "authorization_code", - "authorization_code_pkce", - "client_credentials", - "refresh_token" - ], - "id_token_encryption_enc_values_supported": [ - "A256GCM" - ], - "subject_types_supported": [ - "public" - ], - "claims_supported": [ - "email", - "name", - "given_name", - "family_name", - "sub" - ], - "scopes_supported": [ - "email", - "openid", - "profile" - ], - "response_types_supported": [ - "code", - "token", - "token id_token" - ], - "code_challenge_methods_supported": [ - "S256" - ] - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Tenant Id Exception - Must be a well-formed tenantId" - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /jwks: - description: | - The `/jwks` endpoint provides a JSON Web Key Set (JWKS) that includes current, past, and future public keys. These keys allow clients to validate the Shopper JSON Web Token (JWT) issued by SLAS, ensuring that no tampering has occurred with the token. Every SLAS JWT that is passed into SLAS, SCAPI, or OCAPI is always validated and is rejected if the signature validation does not match. - - To optimize performance, the `/jwks` endpoint is limited to 25 calls per minute, so it is recommended to cache the JWKS keys and refresh them only when necessary, instead of making frequent requests. Typically, the JWKs endpoint can be used once per DAY. - - For additional information on using JWKS, see https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-validate-jwt-with-jwks.html - get: - description: | - The `/jwks` endpoint provides a JSON Web Key Set (JWKS) that includes current, past, and future public keys. These keys allow clients to validate the Shopper JSON Web Token (JWT) issued by SLAS, ensuring that no tampering has occurred with the token. Every SLAS JWT that is passed into SLAS, SCAPI, or OCAPI is always validated and is rejected if the signature validation does not match. - - To optimize performance, the `/jwks` endpoint is limited to 25 calls per minute, so it is recommended to cache the JWKS keys and refresh them only when necessary, instead of making frequent requests. Typically, the JWKs endpoint can be used once per DAY. - - For additional information on using JWKS, see https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-validate-jwt-with-jwks.html - displayName: getJwksUri - responses: - 200: - description: Success, the response body contains the JWKS keys. - body: - application/json: - type: object - examples: - object: !include examples/jwks-get-response.json - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Tenant Id Exception - Must be a well-formed tenantId" - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation it doesn't know how to handle." - } diff --git a/apis/customer/slas-shopper-login-uap/slasJWT-BearerSecurityScheme.raml b/apis/customer/slas-shopper-login-uap/slasJWT-BearerSecurityScheme.raml deleted file mode 100644 index 899084a6..00000000 --- a/apis/customer/slas-shopper-login-uap/slasJWT-BearerSecurityScheme.raml +++ /dev/null @@ -1,42 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements SLAS Service APIs secured with an SLAS access token. To permit access to Shopper APIs, this security scheme expects a valid SLAS access token as a bearer token passed in via the `Authorization` header. -type: x-custom -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - slasAccessToken: Bearer eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw - - responses: - 401: - description: Unauthorized. Your access token is invalid and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: ApiStandards.ErrorResponse - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/traits/private/slasRateLimitHeaders.raml b/apis/customer/slas-shopper-login-uap/traits/private/slasRateLimitHeaders.raml deleted file mode 100644 index 0ff40c81..00000000 --- a/apis/customer/slas-shopper-login-uap/traits/private/slasRateLimitHeaders.raml +++ /dev/null @@ -1,14 +0,0 @@ - description: The user has sent too many requests in a given amount of time, and rate limiting is in effect. - headers: - X-RateLimit-1M-Limit: - description: The 1 minute maximum number of requests permitted per hour. - X-RateLimit-1M-Remaining: - description: The 1 minute number of requests remaining in the current rate limit window. - X-RateLimit-1M-Reset: - description: The 1 minute time at which the current rate limit window resets in UTC epoch seconds. - X-RateLimit-5M-Limit: - description: The 5 minute maximum number of requests permitted per hour. - X-RateLimit-5M-Remaining: - description: The 5 minute number of requests remaining in the current rate limit window. - X-RateLimit-5M-Reset: - description: The 5 minute time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/traits/slasRateLimit.raml b/apis/customer/slas-shopper-login-uap/traits/slasRateLimit.raml deleted file mode 100644 index c6f89661..00000000 --- a/apis/customer/slas-shopper-login-uap/traits/slasRateLimit.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on SLAS endpoints for rate limiting. - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/slasRateLimitHeaders.raml - <>: - !include private/slasRateLimitHeaders.raml - <>: - !include private/slasRateLimitHeaders.raml - <>: - !include private/slasRateLimitHeaders.raml \ No newline at end of file diff --git a/apis/customers-oas/customers-oas-1.0.31/.metadata.json b/apis/customers-oas/customers-oas-1.0.31/.metadata.json new file mode 100644 index 00000000..5768c18b --- /dev/null +++ b/apis/customers-oas/customers-oas-1.0.31/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/customers-oas/1.0.31", + "name": "Customers OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "customers-oas", + "version": "1.0.31", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/customers-oas/customers-oas-1.0.31/customers-oas-v1-internal.yaml b/apis/customers-oas/customers-oas-1.0.31/customers-oas-v1-internal.yaml new file mode 100644 index 00000000..3a21c192 --- /dev/null +++ b/apis/customers-oas/customers-oas-1.0.31/customers-oas-v1-internal.yaml @@ -0,0 +1,2074 @@ +openapi: 3.0.3 +info: + title: Customers + version: v1 + description: |- + # API Overview + + The Customers API enables you to search for and manage customer information within a customer list. It also enables you to search for customer groups. + + Once you find the customer, you can also use the API to manage customer addresses. + + The `customerNo` is created when you create a shopper record. You can create a shopper record using the Customers API or Business Manager. For details, see [registerCustomer](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-customers?meta=registerCustomer) and [Create and Manage Customer Records](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-customer-records.html?q=create%20customer). + + ![b2c-commerce-customers-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-customers-screenshot-1.png) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/customer/customers/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/customer-lists/{customerListId}/customer-search: + post: + summary: Search for customers in a customer list. + description: "Search for customers in a customer list.\nThe query attribute specifies a complex query that can be used to narrow down the search. The following list\nprovides searchable attributes:\n\n| Attribute | Type |\n|-----------|--------|\n| customerNo| String |\n| firstName | String |\n| secondName | String |\n| lastName | String |\n| suffix | String |\n| salutation | String |\n| title | String |\n| fax| String |\n| phoneHome | String |\n| phoneBusiness | String |\n| phoneMobile | String |\n| email | String |\n| gender | Integer |\n| companyName | String | \n| credentials.login | String | \n| credentials.enabled | Boolean |" + operationId: searchCustomerInCustomerList + parameters: + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + examples: + CustomerSearchBody: + $ref: '#/components/examples/CustomerSearchBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerSearchResult' + examples: + CustomerSearchResult: + $ref: '#/components/examples/CustomerSearchResult' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists + - sfcc.customerlists.rw + /organizations/{organizationId}/customer-lists/{customerListId}/customers: + post: + summary: Create a new customer in a customer list. + description: | + Create a new customer. The customer is created using the specified credentials and customer + information. This action verifies: + + - Login acceptance criteria and uniqueness. + - Mandatory customer properties. + + If the action fails to create the customer, it returns a 400 fault with an appropriate message. + operationId: createCustomerList + parameters: + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + PostCustomerBody: + $ref: '#/components/examples/PostCustomerBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + postCustomers: + $ref: '#/components/examples/postCustomers' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists.rw + /organizations/{organizationId}/customer-lists/{customerListId}/customers/{customerNo}: + get: + summary: Get customer information. + description: Action to get customer information. + operationId: getCustomerFromCustomerList + parameters: + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + postCustomers: + $ref: '#/components/examples/postCustomers' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists + - sfcc.customerlists.rw + put: + summary: Create a new customer in a customer list. + description: | + Create a new customer. The customer is created using the specified customer number, credentials, and + customer information. This action verifies: + + - Login acceptance criteria and uniqueness. + - Mandatory customer properties. + + If the action fails to create the customer, it returns a 400 fault with an appropriate message. + operationId: createCustomerInCustomerList + parameters: + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + PostCustomerBody: + $ref: '#/components/examples/PostCustomerBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + postCustomers: + $ref: '#/components/examples/postCustomers' + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + postCustomers: + $ref: '#/components/examples/postCustomers' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists.rw + delete: + summary: Delete a customer from a customer list. + description: Deletes the customer, including all related information like the customer addresses. + operationId: deleteCustomerFromCustomerList + parameters: + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: No Content + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists.rw + patch: + summary: Update a customer in a customer list. + description: |- + Updates the customer with the specified information. The customer number can be updated, but results in a + CustomerNumberAlreadyInUseException if there is another customer with the same customer number. + operationId: updateCustomerInCustomerList + parameters: + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + PostCustomerBody: + $ref: '#/components/examples/PostCustomerBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + postCustomers: + $ref: '#/components/examples/postCustomers' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists.rw + /organizations/{organizationId}/customer-lists/{customerListId}/customers/{customerNo}/addresses: + get: + summary: Get a list of customer addresses. + description: |- + Returns a list of all customer addresses in pages. The + default page size is 10 customer addresses. + operationId: getAddressesForCustomerFromCustomerList + parameters: + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddressResult' + examples: + addressesGet: + $ref: '#/components/examples/addressesGet' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists + - sfcc.customerlists.rw + post: + summary: Add a new customer address. + description: |- + Creates a new customer address with the given address + information. + operationId: createAddressForCustomerInCustomerList + parameters: + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + AddressesBody: + $ref: '#/components/examples/AddressesBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + addressesPost: + $ref: '#/components/examples/addressesPost' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists.rw + /organizations/{organizationId}/customer-lists/{customerListId}/customers/{customerNo}/addresses/{addressId}: + get: + summary: Get a customer address. + description: Action that returns a single customer address from a customer list. + operationId: getAddressForCustomerFromCustomerList + parameters: + - $ref: '#/components/parameters/addressId' + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + AddressGet: + $ref: '#/components/examples/AddressGet' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists + - sfcc.customerlists.rw + delete: + summary: Delete a customer address. + description: Deletes a customer address. + operationId: removeAddressForCustomerInCustomerList + parameters: + - $ref: '#/components/parameters/addressId' + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: No Content + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists.rw + patch: + summary: Update a customer address. + description: Updates an address of a customer with the given address information. + operationId: updateAddressForCustomerInCustomerList + parameters: + - $ref: '#/components/parameters/addressId' + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + AddressesBody: + $ref: '#/components/examples/AddressesBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + addressesPost: + $ref: '#/components/examples/addressesPost' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists.rw + /organizations/{organizationId}/customer-group-search: + post: + summary: Search for customer groups. + description: |- + Search for customer groups in a given site ID. + The query attribute specifies a complex query that can be used to narrow down the search. The following list + provides searchable attributes: + + | Attribute | Type | + |-----------|--------| + | id| String | + | description | String | + | type | String | + + Note: This endpoint is available with B2C Commerce version 24.2. + operationId: searchCustomerGroup + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + examples: + CustomerSearchBody: + $ref: '#/components/examples/CustomerSearchBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerGroupSearchResult' + examples: + CustomerGroupSearchResult: + $ref: '#/components/examples/CustomerGroupSearchResult' + '400': + description: | + Bad Request. Thrown if the search term in term query does not match any of the customer group or if the query is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerGroup400: + $ref: '#/components/examples/searchCustomerGroup400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + security: + - AmOAuth2: + - sfcc.customergroups + - sfcc.customergroups.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.customerlists: Customer Lists scope READONLY + sfcc.customerlists.rw: Customer Lists scope + sfcc.customergroups: Customer Groups scope READONLY + sfcc.customergroups.rw: Customer Groups scope + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.customerlists: Customer Lists scope READONLY + sfcc.customerlists.rw: Customer Lists scope + sfcc.customergroups: Customer Groups scope READONLY + sfcc.customergroups.rw: Customer Groups scope + parameters: + customerListId: + name: customerListId + in: path + description: The customer list ID. + required: true + schema: + maxLength: 256 + minLength: 1 + type: string + example: Site1CustomerList + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + customerNo: + name: customerNo + in: path + description: The customer number. + required: true + schema: + maxLength: 100 + minLength: 1 + type: string + example: 1 + addressId: + name: addressId + in: path + description: The address ID. + required: true + schema: + maxLength: 256 + minLength: 1 + type: string + example: Home + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + Credentials: + required: + - login + type: object + properties: + enabled: + type: boolean + description: A flag indicating whether the customer is enabled and can log in. + example: true + locked: + type: boolean + description: A flag indicating whether the customer account is locked. + example: false + login: + maxLength: 256 + type: string + description: The login of the customer. + example: wleung + passwordQuestion: + maxLength: 256 + type: string + description: The password question. + example: Pet Name? + description: Document representing the credentials of a customer. + CustomerAddress: + required: + - addressId + - countryCode + - lastName + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + address1: + maxLength: 256 + type: string + description: The customer's first address. + example: 123 Trailblazer Ave. + address2: + maxLength: 256 + type: string + description: The customer's second address value. + example: '' + addressId: + maxLength: 256 + type: string + description: The customer address ID. + example: Home + city: + maxLength: 256 + type: string + description: The customer's city. + example: San Francisco + companyName: + maxLength: 256 + type: string + description: The customer's company name. + example: Ursa Major Solar + countryCode: + maxLength: 2 + type: string + description: The customer's two-character country code per ISO 3166-1 alpha-2. + example: US + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. + format: date-time + example: '9999-12-31T00:00:00.0Z' + etag: + type: string + description: The generated eTag representing the state of the customer address. + example: 0267dee58b0ddd9a13f27309470b84f5b2b7e00fa53dfcf400c1f7a5661f319d + firstName: + maxLength: 256 + type: string + description: The customer's first name. + example: Wei + fullName: + maxLength: 1027 + type: string + description: The concatenation of the customer's first, middle, last names, and suffix. + example: Wei Leung + jobTitle: + maxLength: 256 + type: string + description: The customer's job title. + example: '' + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. + format: date-time + example: '9999-12-31T00:00:00.0Z' + lastName: + maxLength: 256 + type: string + description: The customer's last name. + example: Leung + phone: + maxLength: 32 + type: string + description: The customer's phone number. + example: 415-555-1212 + postBox: + maxLength: 256 + type: string + description: The customer's post box. + example: '' + postalCode: + maxLength: 256 + type: string + description: The customer's postal code. + example: 94105 + salutation: + maxLength: 256 + type: string + description: The customer's salutation. + example: Ms. + secondName: + maxLength: 256 + type: string + description: The customer's second name. + example: Leung + stateCode: + maxLength: 256 + type: string + description: The customer's state. + example: CA + suffix: + maxLength: 256 + type: string + description: The customer's suffix. + example: '' + suite: + maxLength: 32 + type: string + description: The customer's suite. + example: '' + title: + maxLength: 256 + type: string + description: The customer's title. + example: '' + description: Any address that is associated with a customer (billing, shipping, mailing, and so on). + Customer: + required: + - customerNo + - lastName + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + birthday: + type: string + description: The customer's birthday. + format: date + example: '1999-12-31' + companyName: + maxLength: 256 + type: string + description: The customer's company name. + example: Ursa Major Solar + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. + format: date-time + example: '9999-12-31T00:00:00.0Z' + credentials: + $ref: '#/components/schemas/Credentials' + customerId: + maxLength: 28 + type: string + description: |- + The customer's ID. Both registered and guest customers have a + customer ID. + example: wleung + customerNo: + maxLength: 100 + type: string + description: The customer's number. + example: D100201 + email: + maxLength: 256 + type: string + description: The customer's email address. + example: wleung@example.com + fax: + maxLength: 32 + type: string + description: |- + The customer's fax number. + The length is restricted to 32 characters. + example: 415-555-1213 + firstName: + maxLength: 256 + type: string + description: The customer's first name. + example: Wei + gender: + type: integer + description: The customer's gender. + format: int32 + example: 2 + jobTitle: + maxLength: 256 + type: string + description: The customer's job title. + example: '' + lastLoginTime: + type: string + description: The last login time of the customer. + format: date-time + example: '9999-12-31T00:00:00.0Z' + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. + format: date-time + example: '9999-12-31T00:00:00.0Z' + lastName: + maxLength: 256 + type: string + description: The customer's last name. + example: Leung + lastVisitTime: + type: string + description: The last visit time of the customer. + format: date-time + example: '9999-12-31T00:00:00.0Z' + phoneBusiness: + maxLength: 32 + type: string + description: The customer's business phone number. + example: 333-333-3333 + phoneHome: + maxLength: 32 + type: string + description: The customer's home phone number. + example: 415-555-1211 + phoneMobile: + maxLength: 32 + type: string + description: The customer's mobile phone number. + example: 415-555-1212 + preferredLocale: + maxLength: 5 + type: string + description: The customer's preferred locale. + example: en_US + previousLoginTime: + type: string + description: The time when the customer previously logged in. + format: date-time + example: '9999-12-31T00:00:00.0Z' + previousVisitTime: + type: string + description: The time when the customer previously visited the store. + format: date-time + example: '9999-12-31T00:00:00.0Z' + primaryAddress: + $ref: '#/components/schemas/CustomerAddress' + salutation: + maxLength: 256 + type: string + description: The customer's salutation. + example: Ms. + secondName: + maxLength: 256 + type: string + description: The customer's second name. + example: Leung + suffix: + maxLength: 256 + type: string + description: The customer's suffix (for example, "Jr." or "Sr."). + example: '' + title: + maxLength: 256 + type: string + description: The customer's title (for example, "Mrs" or "Mr"). + example: '' + description: Person or entity who shops on Commerce Cloud storefronts by creating a shopper account in Commerce Cloud. + CustomerSearchHit: + description: Document representing a customer search hit. + type: object + required: + - data + - relevance + properties: + data: + description: List of found customers. + allOf: + - $ref: '#/components/schemas/Customer' + relevance: + description: The hit's relevance score. + type: number + format: double + example: 1 + CustomerSearchResult: + type: object + required: + - hits + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + items: + $ref: '#/components/schemas/CustomerSearchHit' + type: array + description: The sorted array of search hits. Can be empty. + example: + - customerNo: D100201 + lastName: Leung + description: Document representing a customer search result. + example: + value: + hits: + - data: + birthday: '1999-12-31' + companyName: Salesforce + creationDate: '2023-07-21T07:29:39.505Z' + credentials: + enabled: true + locked: false + login: af4ab358-3187-4ec5-82a6-918e0fe8a21f + customerId: absAzIVSkman3GPpSYluYBbLrB + customerNo: '00000012' + email: w.leung@gmail.com + fax: 123-123-1234 + firstName: Wei + gender: 1 + lastModified: '2023-07-21T07:29:39.506Z' + lastName: Leung + phoneBusiness: 123-123-1234 + phoneHome: 123-123-1234 + phoneMobile: 123-123-1234 + preferredLocale: en-US + salutation: Dr. + secondName: J + suffix: Jr. + title: Mr. + relevance: 4.258296012878418 + limit: 1 + offset: 0 + query: + textQuery: + fields: + - email + searchPhrase: w.leung@gmail.com + total: 1 + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + CustomerAddressResult: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/CustomerAddress' + type: array + description: The array of customer address documents. + description: Result document containing an array of customer addresses. + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + CustomerGroupRule: + required: + - description + type: object + properties: + description: + type: string + description: Customer Group Rule description. Describing its conditions in natural language. + example: Customers who spend more than $1000 in the last month + description: Customer Group Rule + CustomerGroup: + required: + - creationDate + - description + - id + - inDeletion + - memberCount + - rule + - type + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + creationDate: + type: string + format: date-time + description: The date the customer group was created. + example: '9999-12-31T00:00:00.0Z' + description: + maxLength: 4000 + type: string + description: Customer Group description. + example: Customers who spent more than $1000 in last month + id: + maxLength: 256 + type: string + description: Customer Group id. + example: Big Spenders + inDeletion: + type: boolean + description: Boolean to indicate if the customer group is marked for deletion. + example: false + memberCount: + type: integer + description: Number of members in the customer group + example: 109 + rule: + $ref: '#/components/schemas/CustomerGroupRule' + type: + type: string + description: Customer Group Type. + example: static + enum: + - system + - dynamic + - static + description: Document representing a customer group. + CustomerGroupSearchResult: + type: object + required: + - hits + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + items: + $ref: '#/components/schemas/CustomerGroup' + type: array + description: The sorted array of search hits. Can be empty. + description: Document representing a customer group search result. + example: + value: + limit: 1 + hits: + - creationDate: '2020-01-09T16:50:32.000Z' + description: Big Spenders + id: Big Spenders + inDeletion: false + lastModified: '2020-01-09T16:50:32.000Z' + memberCount: 109 + rule: + description: Customers who spend more than $1000 in the last month + type: dynamic + query: + textQuery: + fields: + - id + searchPhrase: Big + offset: 0 + total: 1 + examples: + CustomerSearchBody: + value: + limit: 2 + offset: 50 + query: + textQuery: + fields: + - email + searchPhrase: wleung + CustomerSearchResult: + value: + hits: + - data: + birthday: '1999-12-31' + companyName: Salesforce + creationDate: '2023-07-21T07:29:39.505Z' + credentials: + enabled: true + locked: false + login: af4ab358-3187-4ec5-82a6-918e0fe8a21f + customerId: absAzIVSkman3GPpSYluYBbLrB + customerNo: '00000012' + email: w.leung@gmail.com + fax: 123-123-1234 + firstName: Wei + gender: 1 + lastModified: '2023-07-21T07:29:39.506Z' + lastName: Leung + phoneBusiness: 123-123-1234 + phoneHome: 123-123-1234 + phoneMobile: 123-123-1234 + preferredLocale: en-US + salutation: Dr. + secondName: J + suffix: Jr. + title: Mr. + relevance: 4.258296012878418 + limit: 1 + offset: 0 + query: + textQuery: + fields: + - email + searchPhrase: w.leung@gmail.com + total: 1 + searchCustomerInCustomerList400: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-query-parameter + detail: offset-BAD-REQUEST parameters are not defined in RAML. + searchCustomerInCustomerList401: + value: + title: Invalid Access Token + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token + detail: The request is unauthorized, the access token is invalid. + accessToken: hbGciOiJIUzI1NiIsInR5cCI6Ikp + searchCustomerInCustomerList404: + value: + title: Customer List Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-list-not-found + detail: No customer list with ID 'SiteGenesis-NOT-FOUND' could be found. + listId: SiteGenesis-NOT-FOUND + PostCustomerBody: + value: + credentials: + enabled: true + locked: false + login: wleung + passwordQuestion: '' + lastName: Leung + customerNo: '00005002' + postCustomers: + value: + creationDate: '2019-09-23T19:46:07.412Z' + credentials: + enabled: true + locked: false + login: wleung + customerId: adg2p1zObo8JDt3iXZCNIZBcai + customerNo: '00005001' + lastModified: '2019-09-23T19:46:07.417Z' + lastName: Leung + addressesGet: + value: + data: + - addressId: '1' + city: San Francisco + companyName: Ursa Major Solar + countryCode: US + creationDate: '2019-09-23T16:14:07.000Z' + etag: d288bfd83f75b23640b4bbab2b0d3f65a5c5e934dab818f2246b7c1aed5672f8 + firstName: Wei + fullName: Leung + jobTitle: '' + lastModified: '2019-09-23T16:23:19.000Z' + lastName: Leung + phone: 415-555-1212 + postalCode: '94105' + salutation: Ms + secondName: '' + stateCode: CA + limit: 1 + offset: 0 + total: 1 + AddressesBody: + value: + addressId: '2' + address1: 123 Trailblazer Ave. + postalCode: '94105' + lastName: Leung + title: '' + salutation: Ms + companyName: Ursa Major Solar + secondName: '' + phone: 415-555-1212 + countryCode: US + city: San Francisco + address2: '' + firstName: Wei + jobTitle: '' + stateCode: CA + addressesPost: + value: + addressId: '3' + city: San Francisco + companyName: Ursa Major Solar + countryCode: US + creationDate: '2019-09-23T20:49:38.370Z' + etag: 8772fd1c59fed8313a6c1ad260544c116dc0af4bc13941957173244edba47d31 + firstName: Wei + fullName: Wei Leung + jobTitle: '' + lastModified: '2019-09-23T20:49:38.372Z' + lastName: Leung + phone: 415-555-1212 + postalCode: '94105' + salutation: Ms + secondName: '' + stateCode: CA + AddressGet: + value: + address1: 123 Trailblazer Ave. + address2: '' + addressId: HomeAddress + city: San Francisco + companyName: '' + countryCode: US + firstName: Wei + fullName: Wei Leung + jobTitle: '' + lastName: Leung + phone: '' + postalCode: '' + postBox: '' + salutation: Ms. + secondName: '' + stateCode: CA + suffix: '' + suite: '' + title: '' + CustomerGroupSearchResult: + value: + limit: 1 + hits: + - creationDate: '2020-01-09T16:50:32.000Z' + description: Big Spenders + id: Big Spenders + inDeletion: false + lastModified: '2020-01-09T16:50:32.000Z' + memberCount: 109 + rule: + description: Customers who spend more than $1000 in the last month + type: dynamic + query: + textQuery: + fields: + - id + searchPhrase: Big + offset: 0 + total: 1 + searchCustomerGroup400: + value: + title: Customer Group Type Invalid + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-query-parameter + detail: The customer group type 'stat' is invalid. diff --git a/apis/customers-oas/customers-oas-1.0.31/customers-oas-v1-public.yaml b/apis/customers-oas/customers-oas-1.0.31/customers-oas-v1-public.yaml new file mode 100644 index 00000000..3a21c192 --- /dev/null +++ b/apis/customers-oas/customers-oas-1.0.31/customers-oas-v1-public.yaml @@ -0,0 +1,2074 @@ +openapi: 3.0.3 +info: + title: Customers + version: v1 + description: |- + # API Overview + + The Customers API enables you to search for and manage customer information within a customer list. It also enables you to search for customer groups. + + Once you find the customer, you can also use the API to manage customer addresses. + + The `customerNo` is created when you create a shopper record. You can create a shopper record using the Customers API or Business Manager. For details, see [registerCustomer](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-customers?meta=registerCustomer) and [Create and Manage Customer Records](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-customer-records.html?q=create%20customer). + + ![b2c-commerce-customers-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-customers-screenshot-1.png) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/customer/customers/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/customer-lists/{customerListId}/customer-search: + post: + summary: Search for customers in a customer list. + description: "Search for customers in a customer list.\nThe query attribute specifies a complex query that can be used to narrow down the search. The following list\nprovides searchable attributes:\n\n| Attribute | Type |\n|-----------|--------|\n| customerNo| String |\n| firstName | String |\n| secondName | String |\n| lastName | String |\n| suffix | String |\n| salutation | String |\n| title | String |\n| fax| String |\n| phoneHome | String |\n| phoneBusiness | String |\n| phoneMobile | String |\n| email | String |\n| gender | Integer |\n| companyName | String | \n| credentials.login | String | \n| credentials.enabled | Boolean |" + operationId: searchCustomerInCustomerList + parameters: + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + examples: + CustomerSearchBody: + $ref: '#/components/examples/CustomerSearchBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerSearchResult' + examples: + CustomerSearchResult: + $ref: '#/components/examples/CustomerSearchResult' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists + - sfcc.customerlists.rw + /organizations/{organizationId}/customer-lists/{customerListId}/customers: + post: + summary: Create a new customer in a customer list. + description: | + Create a new customer. The customer is created using the specified credentials and customer + information. This action verifies: + + - Login acceptance criteria and uniqueness. + - Mandatory customer properties. + + If the action fails to create the customer, it returns a 400 fault with an appropriate message. + operationId: createCustomerList + parameters: + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + PostCustomerBody: + $ref: '#/components/examples/PostCustomerBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + postCustomers: + $ref: '#/components/examples/postCustomers' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists.rw + /organizations/{organizationId}/customer-lists/{customerListId}/customers/{customerNo}: + get: + summary: Get customer information. + description: Action to get customer information. + operationId: getCustomerFromCustomerList + parameters: + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + postCustomers: + $ref: '#/components/examples/postCustomers' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists + - sfcc.customerlists.rw + put: + summary: Create a new customer in a customer list. + description: | + Create a new customer. The customer is created using the specified customer number, credentials, and + customer information. This action verifies: + + - Login acceptance criteria and uniqueness. + - Mandatory customer properties. + + If the action fails to create the customer, it returns a 400 fault with an appropriate message. + operationId: createCustomerInCustomerList + parameters: + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + PostCustomerBody: + $ref: '#/components/examples/PostCustomerBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + postCustomers: + $ref: '#/components/examples/postCustomers' + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + postCustomers: + $ref: '#/components/examples/postCustomers' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists.rw + delete: + summary: Delete a customer from a customer list. + description: Deletes the customer, including all related information like the customer addresses. + operationId: deleteCustomerFromCustomerList + parameters: + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: No Content + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists.rw + patch: + summary: Update a customer in a customer list. + description: |- + Updates the customer with the specified information. The customer number can be updated, but results in a + CustomerNumberAlreadyInUseException if there is another customer with the same customer number. + operationId: updateCustomerInCustomerList + parameters: + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + PostCustomerBody: + $ref: '#/components/examples/PostCustomerBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + postCustomers: + $ref: '#/components/examples/postCustomers' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists.rw + /organizations/{organizationId}/customer-lists/{customerListId}/customers/{customerNo}/addresses: + get: + summary: Get a list of customer addresses. + description: |- + Returns a list of all customer addresses in pages. The + default page size is 10 customer addresses. + operationId: getAddressesForCustomerFromCustomerList + parameters: + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddressResult' + examples: + addressesGet: + $ref: '#/components/examples/addressesGet' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists + - sfcc.customerlists.rw + post: + summary: Add a new customer address. + description: |- + Creates a new customer address with the given address + information. + operationId: createAddressForCustomerInCustomerList + parameters: + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + AddressesBody: + $ref: '#/components/examples/AddressesBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + addressesPost: + $ref: '#/components/examples/addressesPost' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists.rw + /organizations/{organizationId}/customer-lists/{customerListId}/customers/{customerNo}/addresses/{addressId}: + get: + summary: Get a customer address. + description: Action that returns a single customer address from a customer list. + operationId: getAddressForCustomerFromCustomerList + parameters: + - $ref: '#/components/parameters/addressId' + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + AddressGet: + $ref: '#/components/examples/AddressGet' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists + - sfcc.customerlists.rw + delete: + summary: Delete a customer address. + description: Deletes a customer address. + operationId: removeAddressForCustomerInCustomerList + parameters: + - $ref: '#/components/parameters/addressId' + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: No Content + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists.rw + patch: + summary: Update a customer address. + description: Updates an address of a customer with the given address information. + operationId: updateAddressForCustomerInCustomerList + parameters: + - $ref: '#/components/parameters/addressId' + - $ref: '#/components/parameters/customerNo' + - $ref: '#/components/parameters/customerListId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + AddressesBody: + $ref: '#/components/examples/AddressesBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + addressesPost: + $ref: '#/components/examples/addressesPost' + '400': + description: | + Bad Request. Thrown when a specified parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList400: + $ref: '#/components/examples/searchCustomerInCustomerList400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + '404': + description: Not Found. This error is thrown when the ID does not match any of the customer group sites or if the ID is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList404: + $ref: '#/components/examples/searchCustomerInCustomerList404' + security: + - AmOAuth2: + - sfcc.customerlists.rw + /organizations/{organizationId}/customer-group-search: + post: + summary: Search for customer groups. + description: |- + Search for customer groups in a given site ID. + The query attribute specifies a complex query that can be used to narrow down the search. The following list + provides searchable attributes: + + | Attribute | Type | + |-----------|--------| + | id| String | + | description | String | + | type | String | + + Note: This endpoint is available with B2C Commerce version 24.2. + operationId: searchCustomerGroup + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + examples: + CustomerSearchBody: + $ref: '#/components/examples/CustomerSearchBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerGroupSearchResult' + examples: + CustomerGroupSearchResult: + $ref: '#/components/examples/CustomerGroupSearchResult' + '400': + description: | + Bad Request. Thrown if the search term in term query does not match any of the customer group or if the query is ill-formed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerGroup400: + $ref: '#/components/examples/searchCustomerGroup400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + searchCustomerInCustomerList401: + $ref: '#/components/examples/searchCustomerInCustomerList401' + security: + - AmOAuth2: + - sfcc.customergroups + - sfcc.customergroups.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.customerlists: Customer Lists scope READONLY + sfcc.customerlists.rw: Customer Lists scope + sfcc.customergroups: Customer Groups scope READONLY + sfcc.customergroups.rw: Customer Groups scope + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.customerlists: Customer Lists scope READONLY + sfcc.customerlists.rw: Customer Lists scope + sfcc.customergroups: Customer Groups scope READONLY + sfcc.customergroups.rw: Customer Groups scope + parameters: + customerListId: + name: customerListId + in: path + description: The customer list ID. + required: true + schema: + maxLength: 256 + minLength: 1 + type: string + example: Site1CustomerList + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + customerNo: + name: customerNo + in: path + description: The customer number. + required: true + schema: + maxLength: 100 + minLength: 1 + type: string + example: 1 + addressId: + name: addressId + in: path + description: The address ID. + required: true + schema: + maxLength: 256 + minLength: 1 + type: string + example: Home + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + Credentials: + required: + - login + type: object + properties: + enabled: + type: boolean + description: A flag indicating whether the customer is enabled and can log in. + example: true + locked: + type: boolean + description: A flag indicating whether the customer account is locked. + example: false + login: + maxLength: 256 + type: string + description: The login of the customer. + example: wleung + passwordQuestion: + maxLength: 256 + type: string + description: The password question. + example: Pet Name? + description: Document representing the credentials of a customer. + CustomerAddress: + required: + - addressId + - countryCode + - lastName + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + address1: + maxLength: 256 + type: string + description: The customer's first address. + example: 123 Trailblazer Ave. + address2: + maxLength: 256 + type: string + description: The customer's second address value. + example: '' + addressId: + maxLength: 256 + type: string + description: The customer address ID. + example: Home + city: + maxLength: 256 + type: string + description: The customer's city. + example: San Francisco + companyName: + maxLength: 256 + type: string + description: The customer's company name. + example: Ursa Major Solar + countryCode: + maxLength: 2 + type: string + description: The customer's two-character country code per ISO 3166-1 alpha-2. + example: US + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. + format: date-time + example: '9999-12-31T00:00:00.0Z' + etag: + type: string + description: The generated eTag representing the state of the customer address. + example: 0267dee58b0ddd9a13f27309470b84f5b2b7e00fa53dfcf400c1f7a5661f319d + firstName: + maxLength: 256 + type: string + description: The customer's first name. + example: Wei + fullName: + maxLength: 1027 + type: string + description: The concatenation of the customer's first, middle, last names, and suffix. + example: Wei Leung + jobTitle: + maxLength: 256 + type: string + description: The customer's job title. + example: '' + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. + format: date-time + example: '9999-12-31T00:00:00.0Z' + lastName: + maxLength: 256 + type: string + description: The customer's last name. + example: Leung + phone: + maxLength: 32 + type: string + description: The customer's phone number. + example: 415-555-1212 + postBox: + maxLength: 256 + type: string + description: The customer's post box. + example: '' + postalCode: + maxLength: 256 + type: string + description: The customer's postal code. + example: 94105 + salutation: + maxLength: 256 + type: string + description: The customer's salutation. + example: Ms. + secondName: + maxLength: 256 + type: string + description: The customer's second name. + example: Leung + stateCode: + maxLength: 256 + type: string + description: The customer's state. + example: CA + suffix: + maxLength: 256 + type: string + description: The customer's suffix. + example: '' + suite: + maxLength: 32 + type: string + description: The customer's suite. + example: '' + title: + maxLength: 256 + type: string + description: The customer's title. + example: '' + description: Any address that is associated with a customer (billing, shipping, mailing, and so on). + Customer: + required: + - customerNo + - lastName + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + birthday: + type: string + description: The customer's birthday. + format: date + example: '1999-12-31' + companyName: + maxLength: 256 + type: string + description: The customer's company name. + example: Ursa Major Solar + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. + format: date-time + example: '9999-12-31T00:00:00.0Z' + credentials: + $ref: '#/components/schemas/Credentials' + customerId: + maxLength: 28 + type: string + description: |- + The customer's ID. Both registered and guest customers have a + customer ID. + example: wleung + customerNo: + maxLength: 100 + type: string + description: The customer's number. + example: D100201 + email: + maxLength: 256 + type: string + description: The customer's email address. + example: wleung@example.com + fax: + maxLength: 32 + type: string + description: |- + The customer's fax number. + The length is restricted to 32 characters. + example: 415-555-1213 + firstName: + maxLength: 256 + type: string + description: The customer's first name. + example: Wei + gender: + type: integer + description: The customer's gender. + format: int32 + example: 2 + jobTitle: + maxLength: 256 + type: string + description: The customer's job title. + example: '' + lastLoginTime: + type: string + description: The last login time of the customer. + format: date-time + example: '9999-12-31T00:00:00.0Z' + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. + format: date-time + example: '9999-12-31T00:00:00.0Z' + lastName: + maxLength: 256 + type: string + description: The customer's last name. + example: Leung + lastVisitTime: + type: string + description: The last visit time of the customer. + format: date-time + example: '9999-12-31T00:00:00.0Z' + phoneBusiness: + maxLength: 32 + type: string + description: The customer's business phone number. + example: 333-333-3333 + phoneHome: + maxLength: 32 + type: string + description: The customer's home phone number. + example: 415-555-1211 + phoneMobile: + maxLength: 32 + type: string + description: The customer's mobile phone number. + example: 415-555-1212 + preferredLocale: + maxLength: 5 + type: string + description: The customer's preferred locale. + example: en_US + previousLoginTime: + type: string + description: The time when the customer previously logged in. + format: date-time + example: '9999-12-31T00:00:00.0Z' + previousVisitTime: + type: string + description: The time when the customer previously visited the store. + format: date-time + example: '9999-12-31T00:00:00.0Z' + primaryAddress: + $ref: '#/components/schemas/CustomerAddress' + salutation: + maxLength: 256 + type: string + description: The customer's salutation. + example: Ms. + secondName: + maxLength: 256 + type: string + description: The customer's second name. + example: Leung + suffix: + maxLength: 256 + type: string + description: The customer's suffix (for example, "Jr." or "Sr."). + example: '' + title: + maxLength: 256 + type: string + description: The customer's title (for example, "Mrs" or "Mr"). + example: '' + description: Person or entity who shops on Commerce Cloud storefronts by creating a shopper account in Commerce Cloud. + CustomerSearchHit: + description: Document representing a customer search hit. + type: object + required: + - data + - relevance + properties: + data: + description: List of found customers. + allOf: + - $ref: '#/components/schemas/Customer' + relevance: + description: The hit's relevance score. + type: number + format: double + example: 1 + CustomerSearchResult: + type: object + required: + - hits + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + items: + $ref: '#/components/schemas/CustomerSearchHit' + type: array + description: The sorted array of search hits. Can be empty. + example: + - customerNo: D100201 + lastName: Leung + description: Document representing a customer search result. + example: + value: + hits: + - data: + birthday: '1999-12-31' + companyName: Salesforce + creationDate: '2023-07-21T07:29:39.505Z' + credentials: + enabled: true + locked: false + login: af4ab358-3187-4ec5-82a6-918e0fe8a21f + customerId: absAzIVSkman3GPpSYluYBbLrB + customerNo: '00000012' + email: w.leung@gmail.com + fax: 123-123-1234 + firstName: Wei + gender: 1 + lastModified: '2023-07-21T07:29:39.506Z' + lastName: Leung + phoneBusiness: 123-123-1234 + phoneHome: 123-123-1234 + phoneMobile: 123-123-1234 + preferredLocale: en-US + salutation: Dr. + secondName: J + suffix: Jr. + title: Mr. + relevance: 4.258296012878418 + limit: 1 + offset: 0 + query: + textQuery: + fields: + - email + searchPhrase: w.leung@gmail.com + total: 1 + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + CustomerAddressResult: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/CustomerAddress' + type: array + description: The array of customer address documents. + description: Result document containing an array of customer addresses. + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + CustomerGroupRule: + required: + - description + type: object + properties: + description: + type: string + description: Customer Group Rule description. Describing its conditions in natural language. + example: Customers who spend more than $1000 in the last month + description: Customer Group Rule + CustomerGroup: + required: + - creationDate + - description + - id + - inDeletion + - memberCount + - rule + - type + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + creationDate: + type: string + format: date-time + description: The date the customer group was created. + example: '9999-12-31T00:00:00.0Z' + description: + maxLength: 4000 + type: string + description: Customer Group description. + example: Customers who spent more than $1000 in last month + id: + maxLength: 256 + type: string + description: Customer Group id. + example: Big Spenders + inDeletion: + type: boolean + description: Boolean to indicate if the customer group is marked for deletion. + example: false + memberCount: + type: integer + description: Number of members in the customer group + example: 109 + rule: + $ref: '#/components/schemas/CustomerGroupRule' + type: + type: string + description: Customer Group Type. + example: static + enum: + - system + - dynamic + - static + description: Document representing a customer group. + CustomerGroupSearchResult: + type: object + required: + - hits + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + items: + $ref: '#/components/schemas/CustomerGroup' + type: array + description: The sorted array of search hits. Can be empty. + description: Document representing a customer group search result. + example: + value: + limit: 1 + hits: + - creationDate: '2020-01-09T16:50:32.000Z' + description: Big Spenders + id: Big Spenders + inDeletion: false + lastModified: '2020-01-09T16:50:32.000Z' + memberCount: 109 + rule: + description: Customers who spend more than $1000 in the last month + type: dynamic + query: + textQuery: + fields: + - id + searchPhrase: Big + offset: 0 + total: 1 + examples: + CustomerSearchBody: + value: + limit: 2 + offset: 50 + query: + textQuery: + fields: + - email + searchPhrase: wleung + CustomerSearchResult: + value: + hits: + - data: + birthday: '1999-12-31' + companyName: Salesforce + creationDate: '2023-07-21T07:29:39.505Z' + credentials: + enabled: true + locked: false + login: af4ab358-3187-4ec5-82a6-918e0fe8a21f + customerId: absAzIVSkman3GPpSYluYBbLrB + customerNo: '00000012' + email: w.leung@gmail.com + fax: 123-123-1234 + firstName: Wei + gender: 1 + lastModified: '2023-07-21T07:29:39.506Z' + lastName: Leung + phoneBusiness: 123-123-1234 + phoneHome: 123-123-1234 + phoneMobile: 123-123-1234 + preferredLocale: en-US + salutation: Dr. + secondName: J + suffix: Jr. + title: Mr. + relevance: 4.258296012878418 + limit: 1 + offset: 0 + query: + textQuery: + fields: + - email + searchPhrase: w.leung@gmail.com + total: 1 + searchCustomerInCustomerList400: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-query-parameter + detail: offset-BAD-REQUEST parameters are not defined in RAML. + searchCustomerInCustomerList401: + value: + title: Invalid Access Token + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token + detail: The request is unauthorized, the access token is invalid. + accessToken: hbGciOiJIUzI1NiIsInR5cCI6Ikp + searchCustomerInCustomerList404: + value: + title: Customer List Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-list-not-found + detail: No customer list with ID 'SiteGenesis-NOT-FOUND' could be found. + listId: SiteGenesis-NOT-FOUND + PostCustomerBody: + value: + credentials: + enabled: true + locked: false + login: wleung + passwordQuestion: '' + lastName: Leung + customerNo: '00005002' + postCustomers: + value: + creationDate: '2019-09-23T19:46:07.412Z' + credentials: + enabled: true + locked: false + login: wleung + customerId: adg2p1zObo8JDt3iXZCNIZBcai + customerNo: '00005001' + lastModified: '2019-09-23T19:46:07.417Z' + lastName: Leung + addressesGet: + value: + data: + - addressId: '1' + city: San Francisco + companyName: Ursa Major Solar + countryCode: US + creationDate: '2019-09-23T16:14:07.000Z' + etag: d288bfd83f75b23640b4bbab2b0d3f65a5c5e934dab818f2246b7c1aed5672f8 + firstName: Wei + fullName: Leung + jobTitle: '' + lastModified: '2019-09-23T16:23:19.000Z' + lastName: Leung + phone: 415-555-1212 + postalCode: '94105' + salutation: Ms + secondName: '' + stateCode: CA + limit: 1 + offset: 0 + total: 1 + AddressesBody: + value: + addressId: '2' + address1: 123 Trailblazer Ave. + postalCode: '94105' + lastName: Leung + title: '' + salutation: Ms + companyName: Ursa Major Solar + secondName: '' + phone: 415-555-1212 + countryCode: US + city: San Francisco + address2: '' + firstName: Wei + jobTitle: '' + stateCode: CA + addressesPost: + value: + addressId: '3' + city: San Francisco + companyName: Ursa Major Solar + countryCode: US + creationDate: '2019-09-23T20:49:38.370Z' + etag: 8772fd1c59fed8313a6c1ad260544c116dc0af4bc13941957173244edba47d31 + firstName: Wei + fullName: Wei Leung + jobTitle: '' + lastModified: '2019-09-23T20:49:38.372Z' + lastName: Leung + phone: 415-555-1212 + postalCode: '94105' + salutation: Ms + secondName: '' + stateCode: CA + AddressGet: + value: + address1: 123 Trailblazer Ave. + address2: '' + addressId: HomeAddress + city: San Francisco + companyName: '' + countryCode: US + firstName: Wei + fullName: Wei Leung + jobTitle: '' + lastName: Leung + phone: '' + postalCode: '' + postBox: '' + salutation: Ms. + secondName: '' + stateCode: CA + suffix: '' + suite: '' + title: '' + CustomerGroupSearchResult: + value: + limit: 1 + hits: + - creationDate: '2020-01-09T16:50:32.000Z' + description: Big Spenders + id: Big Spenders + inDeletion: false + lastModified: '2020-01-09T16:50:32.000Z' + memberCount: 109 + rule: + description: Customers who spend more than $1000 in the last month + type: dynamic + query: + textQuery: + fields: + - id + searchPhrase: Big + offset: 0 + total: 1 + searchCustomerGroup400: + value: + title: Customer Group Type Invalid + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-query-parameter + detail: The customer group type 'stat' is invalid. diff --git a/apis/customers-oas/customers-oas-1.0.31/exchange.json b/apis/customers-oas/customers-oas-1.0.31/exchange.json new file mode 100644 index 00000000..304eb6ad --- /dev/null +++ b/apis/customers-oas/customers-oas-1.0.31/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "customers-oas-v1-public.yaml", + "name": "Customers OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "customers-oas", + "version": "1.0.31", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/customers-oas/shopper-customers-oas-1.0.52/.metadata.json b/apis/customers-oas/shopper-customers-oas-1.0.52/.metadata.json new file mode 100644 index 00000000..ec46c726 --- /dev/null +++ b/apis/customers-oas/shopper-customers-oas-1.0.52/.metadata.json @@ -0,0 +1,17 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-customers-oas/1.0.52", + "name": "Shopper Customers OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-customers-oas", + "version": "1.0.52", + "categories": { + "SDK Type": [ + "Isomorphic", + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/customers-oas/shopper-customers-oas-1.0.52/exchange.json b/apis/customers-oas/shopper-customers-oas-1.0.52/exchange.json new file mode 100644 index 00000000..95053791 --- /dev/null +++ b/apis/customers-oas/shopper-customers-oas-1.0.52/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-customers-oas-v1-public.yaml", + "name": "Shopper Customers OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-customers-oas", + "version": "1.0.52", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/customers-oas/shopper-customers-oas-1.0.52/shopper-customers-oas-v1-internal.yaml b/apis/customers-oas/shopper-customers-oas-1.0.52/shopper-customers-oas-v1-internal.yaml new file mode 100644 index 00000000..43538111 --- /dev/null +++ b/apis/customers-oas/shopper-customers-oas-1.0.52/shopper-customers-oas-v1-internal.yaml @@ -0,0 +1,6143 @@ +openapi: 3.0.3 +info: + title: Shopper Customers + version: v1 + description: |- + # API Overview + + The Shopper Customers API enables you to develop functionality that lets customers log in, and manage their profiles and product lists. Profile management includes ability for shoppers to add or modify addresses and payment methods, and add or modify products to wishlists or favorites. Commerce Cloud provides a rich set of Authentication APIs that include logging in guest shoppers, registered shoppers, agents on behalf of customers and a trusted system authentication on behalf of customers. In all authentication scenarios involving customers, a JSON Web Token (JWT) is generated in Commerce Cloud. Using the JWT, customers can access other Shopper API resources like Orders and Baskets. The application must refresh the JWT every 30 minutes to save the shopper activity (for example, retain products in a shopper's cart) for prolonged periods of time. + + ## Authentication & Authorization + + The client requesting the customer information must have access to the Customer and Product List resources. The API requests pass a system-to-system bearer token in the header of the request. For the trusted system API, the trusted client must first authenticate against Account manager to log in on behalf of a customer. + + For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + ### Register a New Customer + + In this use case, a customer who is browsing on a commerce shopping app built using B2C Commerce APIs would like to create a customer profile, so that they can track their order when logged in on the next visit. + + The API flow is shown in the following diagram: + + ![b2c-commerce-shopper-customers-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-customers-screenshot-1.png) + + 1. The shopper opens the shopping app. + 2. Request an access token from SLAS. For details, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. + 3. The SLAS API responds with the shopper access token (JWT). + 4. The shopper adds a product to their basket. + 5. Use the Shopper Baskets API to create a basket. The shopper JWT from SLAS is supplied in the authorization header. + 6. Save the basket with a registered user customer ID (even though the shopper is still a guest). The shopper JWT from SLAS is supplied in the authorization header. + 7. The shopper creates a profile. + 8. Use the Shopper Customers API to register the customer. + + ### Authenticate a Trusted System on Behalf of a Customer + + In this cross-cloud use case, a Experience Cloud user places an order on Commerce Cloud from the Experience Cloud using the platform APIs. The Experience Cloud app is a trusted system that has a trusted relationship with Commerce Cloud using the OAuth client credentials grant against the Commerce Cloud Account Manager. The Experience Cloud user logs in with a redirect to Salesforce IDM and after successful login, the client application is able to call B2C Commerce APIs on behalf of the customer. Commerce Cloud returns a JWT for the Experience Cloud user and the Experience Cloud user is able to place orders on Commerce Cloud. + + The API flow is shown in the following diagram: + + ![b2c-commerce-shopper-customers-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-customers-screenshot-2.png) + + ### Reset Customer Password + + In this use case, a shopper who is browsing on a commerce shopping app, built using B2C Commerce APIs, requests to reset their password. The app verifies the shopper's credentials and returns a 404 if verification fails. Otherwise, when the shopper requests their password to be reset, the app first creates a password reset token using the shopper’s login ID, and an account manager token (obtained using the client credentials grant). After the app has the password reset token, the app can prompt the shopper for new password. Any app-level customization, such as sending a password reset email, can be done at this step. Finally, the app calls the reset endpoint to reset the customer’s password. + + ![b2c-commerce-shopper-customers-screenshot-3.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-customers-screenshot-3.png) + + ### Update Shopper LoginId + + In this use case, in order to update a shopper's loginId, the PATCH /customers/{customerId} call can be used starting B2C Commerce Cloud GA release 24.7. The new field in the request called `currentPassword` is mandatory and needs to match the shopper's existing password. If this field is not provided or does not match the existing shopper password when trying to update loginId, a HTTP 400 rsponse will be returned. If the loginId field is not sent in the PATCH request body, the `currentPassword` field is not required. + **Note: After the `loginId` is updated, a new SLAS token must be fetched for the shopper for subsequent calls. + + ### Use Hooks + + For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/customer/shopper-customers/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/customers: + post: + summary: Register a new customer. + description: Mandatory data includes the credentials, profile last name, and email. This requires a JSON Web Token (JWT) which needs to be obtained using the POST /customers/auth API with type "guest", or from the Shopper Login (SLAS) API. The return type object for this endpoint is a common customer object shared by multiple Shopper Customer endpoints. In this case, all customer object details are returned, but attributes that are not included in the response, although they might be part of the customer object, are ignored. For example, although address information is included in the customer object, it is not displayed in the response for this endpoint and is ignored. + operationId: registerCustomer + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerRegistration' + examples: + CustomerRegistrationBody: + $ref: '#/components/examples/CustomerRegistrationBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + customerRegistrationResponse: + $ref: '#/components/examples/customerRegistrationResponse' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '401': + description: | + In the case of type credentials, the username is unknown or the password does not match. In the case of type session, the session is no longer active or the dwsecuretoken value is invalid. In both cases, the customer is disabled or locked. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer401: + $ref: '#/components/examples/registerCustomer401' + security: + - ShopperToken: + - sfcc.shopper-customers.register + /organizations/{organizationId}/customers/password/actions/reset: + post: + summary: Reset customer password after obtaining a reset token. + description: This is the second step in the reset customer password flow, in which a customer password is reset by providing new credentials along with a reset token. This call should be preceded by a call to the /create-reset-token endpoint. + operationId: resetPassword + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPasswordRequest' + examples: + ResetPasswordBody: + $ref: '#/components/examples/ResetPasswordBody' + required: true + responses: + '204': + description: Reset password successful. No Content. + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + security: + - AmOAuth2: + - sfcc.shopper-customers.login + /organizations/{organizationId}/customers/password/actions/create-reset-token: + post: + summary: Get reset password token. + description: This is the first step in the reset customer password flow, in which a password reset token is requested for future use to reset a customer password. This call should be followed by a call to the /reset endpoint. + operationId: getResetPasswordToken + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPasswordTokenRequest' + examples: + ResetPasswordTokenBody: + $ref: '#/components/examples/ResetPasswordTokenBody' + required: true + responses: + '200': + description: Reset password token generated and returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPasswordToken' + examples: + getResetPasswordTokenSuccess: + $ref: '#/components/examples/getResetPasswordTokenSuccess' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + security: + - AmOAuth2: + - sfcc.shopper-customers.login + /organizations/{organizationId}/customers/external-profile: + get: + summary: Gets the new external profile for a customer. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: getExternalProfile + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/externalId' + - $ref: '#/components/parameters/authenticationProviderId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerExternalProfile' + examples: + getExternalProfileSuccess: + $ref: '#/components/examples/getExternalProfileSuccess' + '400': + description: | + Customer ExternalId URL parameter is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getExternalProfile400: + $ref: '#/components/examples/getExternalProfile400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getExternalProfile404: + $ref: '#/components/examples/getExternalProfile404' + security: + - AmOAuth2: + - sfcc.shopper-customers.login + post: + summary: Register a new external profile for a customer. This endpoint accepts a guest customer ShopperToken (JWT) only. + operationId: registerExternalProfile + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerExtProfileRequest' + examples: + ExternalProfileBody: + $ref: '#/components/examples/ExternalProfileBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerExternalProfile' + examples: + registerExternalProfileSuccess: + $ref: '#/components/examples/registerExternalProfileSuccess' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '401': + description: | + In the case of type credentials, the username is unknown or the password does not match. In the case of type session, the session is no longer active or the dwsecuretoken value is invalid. In both cases, the customer is disabled or locked. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer401: + $ref: '#/components/examples/registerCustomer401' + security: + - ShopperToken: + - sfcc.shopper-customers.register + /organizations/{organizationId}/customers/{customerId}: + get: + summary: Get a customer and all existing addresses and payment instruments associated with the requested customer. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: getCustomer + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + getCustomerSuccess: + $ref: '#/components/examples/getCustomerSuccess' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount + - sfcc.shopper-myaccount.rw + patch: + summary: Update a customer. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: updateCustomer + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + UpdateCustomerBody: + $ref: '#/components/examples/UpdateCustomerBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + updateCustomerResponse: + $ref: '#/components/examples/updateCustomerResponse' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.rw + /organizations/{organizationId}/customers/{customerId}/addresses: + post: + summary: Create a new address with the given name for the customer. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: createCustomerAddress + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + CustomerAddressBody: + $ref: '#/components/examples/CustomerAddressBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + customerAddressResponse: + $ref: '#/components/examples/customerAddressResponse' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.addresses.rw + /organizations/{organizationId}/customers/{customerId}/addresses/{addressName}: + get: + summary: Retrieve a customer's address by address name. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: getCustomerAddress + parameters: + - $ref: '#/components/parameters/addressName' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + customerAddressResponse: + $ref: '#/components/examples/customerAddressResponse' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.addresses + - sfcc.shopper-myaccount.addresses.rw + delete: + summary: Delete a customer's address by address name. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: removeCustomerAddress + parameters: + - $ref: '#/components/parameters/addressName' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: No content + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.addresses.rw + patch: + summary: Update a customer's address by address name. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: updateCustomerAddress + parameters: + - $ref: '#/components/parameters/addressName' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + CustomerAddressResponseBody: + $ref: '#/components/examples/CustomerAddressResponseBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + customerAddressResponse: + $ref: '#/components/examples/customerAddressResponse' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.addresses.rw + /organizations/{organizationId}/customers/{customerId}/baskets: + get: + summary: Get the baskets for a customer. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: getCustomerBaskets + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/BasketsResult' + examples: + customerBasketsResult: + $ref: '#/components/examples/customerBasketsResult' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.baskets + /organizations/{organizationId}/customers/{customerId}/orders: + get: + summary: Return a page list of all the customer's orders. The default page size is 10. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: getCustomerOrders + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/crossSites' + - $ref: '#/components/parameters/from' + - $ref: '#/components/parameters/until' + - $ref: '#/components/parameters/status' + - $ref: '#/components/parameters/siteId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 10 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 10. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerOrderResult' + examples: + CustomersOrdersResult: + $ref: '#/components/examples/CustomersOrdersResult' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.orders + /organizations/{organizationId}/customers/{customerId}/password: + put: + summary: Update a customer's password. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: updateCustomerPassword + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordChangeRequest' + examples: + UpdatePasswordBody: + $ref: '#/components/examples/UpdatePasswordBody' + required: true + responses: + '204': + description: No content + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-customers.login + /organizations/{organizationId}/customers/{customerId}/payment-instruments: + post: + summary: Add a payment instrument to the customer information. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: createCustomerPaymentInstrument + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerPaymentInstrumentRequest' + examples: + CustomerPaymentInstrumentBody: + $ref: '#/components/examples/CustomerPaymentInstrumentBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerPaymentInstrument' + examples: + getCustomerPaymentInstrumentSuccess: + $ref: '#/components/examples/getCustomerPaymentInstrumentSuccess' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.paymentinstruments.rw + /organizations/{organizationId}/customers/{customerId}/payment-instruments/{paymentInstrumentId}: + get: + summary: Retrieve a customer's payment instrument by its ID. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: getCustomerPaymentInstrument + parameters: + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerPaymentInstrument' + examples: + getCustomerPaymentInstrumentSuccess: + $ref: '#/components/examples/getCustomerPaymentInstrumentSuccess' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.paymentinstruments + - sfcc.shopper-myaccount.paymentinstruments.rw + delete: + summary: Delete a customer's payment instrument. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: deleteCustomerPaymentInstrument + parameters: + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: No content + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.paymentinstruments.rw + /organizations/{organizationId}/customers/{customerId}/product-lists: + get: + summary: Return all customer product lists. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: getCustomerProductLists + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductListResult' + examples: + customerProductListResult: + $ref: '#/components/examples/customerProductListResult' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists + - sfcc.shopper-myaccount.productlists.rw + post: + summary: Create a customer product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: createCustomerProductList + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductList' + examples: + PostCustomerProductListBody: + $ref: '#/components/examples/PostCustomerProductListBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductList' + examples: + customerProductList: + $ref: '#/components/examples/customerProductList' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists.rw + /organizations/{organizationId}/customers/{customerId}/product-lists/{listId}: + get: + summary: Return a customer product list for the given customer and the items in the list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: getCustomerProductList + parameters: + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductList' + examples: + getCustomerProductListByListId: + $ref: '#/components/examples/getCustomerProductListByListId' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists + - sfcc.shopper-myaccount.productlists.rw + delete: + description: Delete a customer product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: deleteCustomerProductList + parameters: + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: No content + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists.rw + patch: + summary: Change a product list. Changeable properties include name, description, and if the list is public. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: updateCustomerProductList + parameters: + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductList' + examples: + UpdateCustomerProductListByListIdBody: + $ref: '#/components/examples/UpdateCustomerProductListByListIdBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductList' + examples: + getCustomerProductListByListId: + $ref: '#/components/examples/updateCustomerProductListByListId' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists.rw + /organizations/{organizationId}/customers/{customerId}/product-lists/{listId}/items: + post: + summary: Add an item to the customer's product list. + description: "This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken.\n\nConsidered values from the request body are:\n\n- `type` → The item type to be added to the customer's product. This value is required and must be a valid type.\nlist.\n- `priority` → The priority of the item to be added to the customer's product list.\n- `public` → The flag that determines whether the item to be added to the customer's product list is public.\n- `product_id` → The ID (SKU) of the product related to the item to be added to the customer's product list. Required when item type is `product`, and must be a valid product ID and only used for product item type. Otherwise, a `ProductListProductIdMissingException` or `ProductListProductNotFoundException` is thrown. \n- `quantity` → Only used for product item type. This is the quantity of the item to be added to the customer's product list.\n\nYou can also use a custom property of the form `c_`. The custom property must correspond to a custom attribute (``) that is defined for `ProductListItem`. The value of this property must be valid for the type of custom attribute defined for `ProductListItem`." + operationId: createCustomerProductListItem + parameters: + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductListItem' + examples: + UpdateCustomerProductListItemBody: + $ref: '#/components/examples/UpdateCustomerProductListItemBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductListItem' + examples: + updateCustomerProductListItemSuccess: + $ref: '#/components/examples/updateCustomerProductListItemSuccess' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists.rw + /organizations/{organizationId}/customers/{customerId}/product-lists/{listId}/items/{itemId}: + get: + summary: Return an item of a customer product list and the actual product details such as image, availability, and price. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: getCustomerProductListItem + parameters: + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductListItem' + examples: + getCustomerProductListItemSuccess: + $ref: '#/components/examples/getCustomerProductListItemSuccess' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists + - sfcc.shopper-myaccount.productlists.rw + delete: + summary: Remove an item from a customer product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: deleteCustomerProductListItem + parameters: + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: No content + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists.rw + patch: + summary: Update an item in a customer's product list. + description: |- + This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + Considered values from the request body are: + + priority: The priority of the customer's product list item. + public: The flag that indicates if the customer's product list item is public. + quantity: The quantity of + the customer's product list item. Onlyl used for product item type. + custom properties in the form c_: The custom property + must correspond to a custom attribute () defined for ProductListItem. + The value of this property must be valid for the type of custom attribute defined for ProductListItem. + operationId: updateCustomerProductListItem + parameters: + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductListItem' + examples: + CustomerProductListItemBody: + $ref: '#/components/examples/CustomerProductListItemBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductListItem' + examples: + updateCustomerProductListItemSuccess: + $ref: '#/components/examples/updateCustomerProductListItemSuccess' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists.rw + /organizations/{organizationId}/product-lists: + get: + summary: 'Retrieve all public product lists as defined by the given search term, for example: email OR first name and last name). This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken.' + operationId: getPublicProductListsBySearchTerm + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/email' + - $ref: '#/components/parameters/firstName' + - $ref: '#/components/parameters/lastName' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PublicProductListResult' + examples: + productListsResultExample: + $ref: '#/components/examples/productListsResultExample' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '401': + description: | + Indicates that the customerId URL parameter does not match the verified customer represented by the JWT token, which is not relevant when using OAuth, or indicates that the provided new address name is already in use for the customer. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getPublicProductListsBySearchTerm401: + $ref: '#/components/examples/getPublicProductListsBySearchTerm401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-productlists + /organizations/{organizationId}/product-lists/{listId}: + get: + summary: Retrieve a public product list by ID and the items under that product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: getPublicProductList + parameters: + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PublicProductList' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '401': + description: | + Indicates that the customerId URL parameter does not match the verified customer represented by the JWT token, which is not relevant when using OAuth, or indicates that the provided new address name is already in use for the customer. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getPublicProductListsBySearchTerm401: + $ref: '#/components/examples/getPublicProductListsBySearchTerm401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-productlists + /organizations/{organizationId}/product-lists/{listId}/items/{itemId}: + get: + summary: Retrieve an item from a public product list and the actual product details such as product, image, availability, and price. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: getProductListItem + parameters: + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PublicProductListItem' + examples: + getCustomerProductListItemSuccess: + $ref: '#/components/examples/publicProductListItemsExample' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '401': + description: | + Indicates that the customerId URL parameter does not match the verified customer represented by the JWT token, which is not relevant when using OAuth, or indicates that the provided new address name is already in use for the customer. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getPublicProductListsBySearchTerm401: + $ref: '#/components/examples/getPublicProductListsBySearchTerm401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-productlists +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-customers.register: Shopper Customers Register scope READONLY + sfcc.shopper-customers.login: Shopper Customers Login scope READONLY + sfcc.shopper-myaccount: Shopper MyAccount scope READONLY + sfcc.shopper-myaccount.rw: Shopper MyAccount scope + sfcc.shopper-myaccount.addresses: Shopper MyAccount Addresses scope READONLY + sfcc.shopper-myaccount.addresses.rw: Shopper MyAccount Addresses scope + sfcc.shopper-myaccount.baskets: Shopper MyAccount Baskets scope READONLY + sfcc.shopper-myaccount.orders: Shopper MyAccount Orders scope READONLY + sfcc.shopper-myaccount.paymentinstruments: Shopper MyAccount PaymentInstruments scope READONLY + sfcc.shopper-myaccount.paymentinstruments.rw: Shopper MyAccount PaymentInstruments scope + sfcc.shopper-myaccount.productlists: Shopper MyAccount ProductLists scope READONLY + sfcc.shopper-myaccount.productlists.rw: Shopper MyAccount ProductLists scope + sfcc.shopper-productlists: Shopper ProductLists scope READONLY + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-customers.register: Shopper Customers Register scope READONLY + sfcc.shopper-customers.login: Shopper Customers Login scope READONLY + sfcc.shopper-myaccount: Shopper MyAccount scope READONLY + sfcc.shopper-myaccount.rw: Shopper MyAccount scope + sfcc.shopper-myaccount.addresses: Shopper MyAccount Addresses scope READONLY + sfcc.shopper-myaccount.addresses.rw: Shopper MyAccount Addresses scope + sfcc.shopper-myaccount.baskets: Shopper MyAccount Baskets scope READONLY + sfcc.shopper-myaccount.orders: Shopper MyAccount Orders scope READONLY + sfcc.shopper-myaccount.paymentinstruments: Shopper MyAccount PaymentInstruments scope READONLY + sfcc.shopper-myaccount.paymentinstruments.rw: Shopper MyAccount PaymentInstruments scope + sfcc.shopper-myaccount.productlists: Shopper MyAccount ProductLists scope READONLY + sfcc.shopper-myaccount.productlists.rw: Shopper MyAccount ProductLists scope + sfcc.shopper-productlists: Shopper ProductLists scope READONLY + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-customers.login: Shopper Customers Login scope READONLY + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-customers.login: Shopper Customers Login scope READONLY + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + CustomerAddress: + description: Address that is associated with a shopper (billing, shipping, mailing, and so on). + properties: + address1: + description: The first address. + example: 10 Presidential Way + maxLength: 256 + type: string + address2: + description: The second address. + example: Apt-616 + maxLength: 256 + type: string + addressId: + description: The ID of the address as specified by account owner. + example: Home + maxLength: 256 + type: string + city: + description: The city. + example: New York + maxLength: 256 + type: string + companyName: + description: The company name. + example: Acme Inc + maxLength: 256 + type: string + countryCode: + description: The two-letter ISO 3166-1 (Alpha-2) country code. + example: US + maxLength: 2 + pattern: ^([A-Z][A-Z])$ + type: string + creationDate: + description: Returns the value of attribute 'creationDate'. + example: '9999-12-31T17:12:56.670Z' + format: date-time + type: string + firstName: + description: The first name. + example: John + maxLength: 256 + type: string + fullName: + description: The full name. + example: John Smith + maxLength: 256 + type: string + jobTitle: + description: The job title. + example: Supervisor + maxLength: 256 + type: string + lastModified: + description: Returns the value of attribute 'lastModified'. + example: '9999-12-31T17:12:56.670Z' + format: date-time + type: string + lastName: + description: The last name. + example: Smith + maxLength: 256 + type: string + phone: + description: The phone number. + example: 555-555-5555 + maxLength: 32 + type: string + postBox: + description: The post box. + example: '12345' + maxLength: 256 + type: string + postalCode: + description: The postal code. + example: N5 + maxLength: 256 + type: string + preferred: + description: The preferred attribute. + example: true + type: boolean + salutation: + description: The salutation. + example: Sir + maxLength: 256 + type: string + secondName: + description: The second name. + example: Smith + maxLength: 256 + type: string + stateCode: + description: The state code. + example: UT + maxLength: 256 + type: string + suffix: + description: The suffix. + example: Sr. + maxLength: 256 + type: string + suite: + description: The suite. + example: '100' + maxLength: 32 + type: string + title: + description: The title. + example: Supervisor + maxLength: 256 + type: string + required: + - addressId + - countryCode + - lastName + type: object + PaymentCard: + additionalProperties: false + description: Document representing a payment card. + type: object + properties: + cardType: + maxLength: 256 + description: The payment card type. + example: Visa + type: string + creditCardExpired: + description: A flag indicating if the credit card is expired. It is read only. + example: true + type: boolean + creditCardToken: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + example: E67TY8GQ27X + type: string + expirationMonth: + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + maxLength: 4000 + description: The masked payment card number. + example: '*********4422' + type: string + numberLastDigits: + maxLength: 4000 + description: The last digits of the payment card number. It is read only. + example: '4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month the payment card is valid from. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year the payment card is valid from. + example: 2015 + type: integer + CustomerPaymentInstrument: + type: object + properties: + bankRoutingNumber: + maxLength: 256 + type: string + description: The bank routing number. + example: KDSJHKS + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. + format: date-time + example: 253402214400 + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. + format: date-time + example: 253402214400 + maskedGiftCertificateCode: + type: string + description: The masked gift certificate code. + example: gift-code + paymentCard: + allOf: + - $ref: '#/components/schemas/PaymentCard' + description: The payment card. + paymentInstrumentId: + type: string + description: The payment instrument ID. + example: Personal + paymentMethodId: + maxLength: 256 + type: string + description: The payment method ID. Optional if a customer payment instrument ID is specified. + example: Personal + description: Method for customers to pay for the goods purchased on an ecommerce site. Payment methods include - credit card, debit card, bank account, and gift card. + Customer: + description: Person or entity who shops on Commerce Cloud storefronts by creating a shopper account in Commerce Cloud. + properties: + addresses: + description: The customer's addresses. + items: + $ref: '#/components/schemas/CustomerAddress' + type: array + authType: + description: The customer's authorization type (indicates whether the customer is a guest or a registered customer). + enum: + - guest + - registered + example: registered + type: string + birthday: + description: The customer's birthday. + format: date + type: string + companyName: + description: The customer's company name. + example: Acme + maxLength: 256 + type: string + creationDate: + description: Returns the value of attribute 'creationDate'. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + currentPassword: + description: The shopper's current password. This is only used when attempting to update a shopper's `loginId` in a PATCH call. This value is never returned in any response for security reasons, but is validated and must match shopper's existing password in order to update `loginId`. Otherwise, an HTTP 400 statusCode is returned and the `loginId` is not updated. This field and functionality is available with B2C Commerce version 24.7. + type: string + customerId: + description: The customer's number (ID). Both registered and guest customers have an customer ID. + example: dfuisydifu2342usyf + maxLength: 28 + type: string + customerNo: + description: The customer's number (ID). Only a registered customer has a customer number. + example: D0000123 + maxLength: 100 + type: string + email: + description: The customer's email address. + example: johnsmith@email.com + maxLength: 256 + type: string + enabled: + description: A flag indicating whether this customer is enabled and can log in. + example: true + type: boolean + fax: + description: The customer's fax number. The length is restricted to 32 characters. + example: 555-555-5555 + maxLength: 32 + type: string + firstName: + description: The customer's first name. + example: John + maxLength: 256 + type: string + gender: + description: The customer's gender. + example: 1 + format: int32 + type: integer + hashedLogin: + description: Represents the read-only hashed value for the `loginId` used for Einstein events. This field is available with B2C Commerce version 24.9. + example: 123927deac310a3dae382897d9e458bd92ef1d4ea5cdd327a0fcffd8426dfbb5 + type: string + jobTitle: + description: The customer's job title. + example: Supervisor + maxLength: 256 + type: string + lastLoginTime: + description: The time when the customer last logged in. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + lastModified: + description: Returns the value of attribute 'lastModified'. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + lastName: + description: The customer's last name. + example: Smith + maxLength: 256 + type: string + lastVisitTime: + description: The time when the customer last visited. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + login: + description: The customer's login. In a PATCH call, this field can only be updated by providing a valid `currentPassword` for the shopper. The `loginId` update feature is available with B2C Commerce version 24.7. + example: jsmith + maxLength: 256 + type: string + note: + description: The customer's note. + example: customer-note + type: string + paymentInstruments: + description: The customer's payment instruments. + items: + $ref: '#/components/schemas/CustomerPaymentInstrument' + type: array + phoneBusiness: + description: The customer's business phone number. + example: 555-555-5555 + maxLength: 32 + type: string + phoneHome: + description: The customer's home phone number. + example: 555-555-5555 + maxLength: 32 + type: string + phoneMobile: + description: The customer's mobile phone number. + example: 555-555-5555 + maxLength: 32 + type: string + preferredLocale: + description: The customer's preferred locale. + example: us-en + type: string + previousLoginTime: + description: The time when the customer previously logged in. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + previousVisitTime: + description: The time when the customer last visited the store. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + salutation: + description: The salutation to use for the customer. + example: Mr. + maxLength: 256 + type: string + secondName: + description: The customer's second name. + example: Smith + maxLength: 256 + type: string + suffix: + description: The customer's suffix (for example, "Jr." or "Sr."). + example: Jr. + maxLength: 256 + type: string + title: + description: The customer's title (for example, "Mrs" or "Mr"). + example: Mr. + maxLength: 256 + type: string + type: object + CustomerRegistration: + description: Document representing the registration information for a customer. + properties: + customer: + allOf: + - $ref: '#/components/schemas/Customer' + description: The customer registration information. The mandatory properties for registration are login, last name and email. + example: + email: jsmith@test.com + last_name: Smith + login: jsmith + password: + description: The login password + example: Abcd!1234 + type: string + required: + - customer + - password + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + ResetPasswordRequest: + required: + - login + - newPassword + - resetToken + type: object + properties: + resetToken: + maxLength: 4096 + type: string + description: Temporary token used to reset password. + example: R1e2s3e4t5T6o7k8e9n0 + login: + maxLength: 256 + type: string + description: The customer's login. + example: loginId + newPassword: + maxLength: 4096 + type: string + description: New password to reset to. + example: p@ssword2 + description: Document representing a reset password request. + ResetPasswordTokenRequest: + required: + - login + type: object + properties: + login: + maxLength: 256 + type: string + description: The customer's login. + example: loginId + description: Document representing a reset password token request. + ResetPasswordToken: + required: + - email + - expiresInMinutes + - login + - resetToken + type: object + properties: + login: + maxLength: 256 + type: string + description: The customer's login. + example: loginId + email: + maxLength: 256 + type: string + description: The customer's email address. + example: jdoe@customer.com + resetToken: + maxLength: 4096 + type: string + description: Temporary token generated that will be used to reset password. + example: R1e2s3e4t5T6o7k8e9n0 + expiresInMinutes: + type: integer + description: Reset token expiry (in minutes). + format: int32 + example: 30 + description: Document representing reset password token response. + CustomerExtProfileRequest: + description: Document representing the External Profile Request. + properties: + authenticationProviderId: + description: The authentication Provider Id + example: Google + minLength: 1 + type: string + email: + description: The Email of the customer. + example: s@gmail.com + minLength: 1 + type: string + externalId: + description: The ID of the customer. + example: jsmith@gmail.com + minLength: 1 + type: string + firstName: + description: The First Name of the customer. + example: John + minLength: 1 + type: string + lastName: + description: The Last Name of the customer. + example: Smith + minLength: 1 + type: string + required: + - authenticationProviderId + - externalId + type: object + CustomerExternalProfile: + type: object + required: + - customerId + allOf: + - $ref: '#/components/schemas/CustomerExtProfileRequest' + properties: + customerId: + description: The Id of the Customer + example: '1234' + minLength: 1 + type: string + description: The Document representing the External Profile of a Customer. + CountryCode: + pattern: ^[A-Z][A-Z]$ + description: A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. + example: US + type: string + OrderAddress: + description: Document representing an order address. + properties: + address1: + description: The first address line. + example: 45 Main Rd. + type: string + address2: + description: The second address line. + example: Apartment 204 + type: string + city: + description: The city. + example: Boston + type: string + companyName: + description: The company name. + example: Salesforce + type: string + countryCode: + $ref: '#/components/schemas/CountryCode' + firstName: + description: The first name. + example: Max + type: string + fullName: + description: The full name. + example: Max Mustermann + type: string + id: + description: The ID of the address. + example: me + type: string + jobTitle: + description: The job title. + example: Software Engineer + type: string + lastName: + description: The last name. + example: Mustermann + type: string + phone: + description: The phone number. + example: '6175555555' + type: string + postBox: + description: The post office box. + example: PO BOX 109 + type: string + postalCode: + description: The postal code. + example: '05408' + type: string + salutation: + description: The salutation. + example: Mr + type: string + secondName: + description: The second name. + type: string + stateCode: + description: The state code. + example: MA + type: string + suffix: + description: The suffix. + example: Sr + type: string + suite: + description: The suite. + example: 24A + type: string + title: + description: The title. + example: Dr. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + ProductDetailsLink: + description: Document representing a link to the resource for product details. + properties: + productDescription: + description: The description of the product. + example: Nintendo DS revolutionizes handheld gameplay. + type: string + productId: + $ref: '#/components/schemas/ProductId' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + title: + description: The link title. + example: Nintendo DS Game Console + type: string + type: object + required: + - productId + additionalProperties: false + BonusDiscountLineItem: + description: Document representing a bonus discount line item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + bonusProducts: + description: The bonus products the customer can choose from. + type: array + items: + $ref: '#/components/schemas/ProductDetailsLink' + couponCode: + description: The coupon code that triggered the promotion, if applicable. + example: 5ties + type: string + id: + description: The ID of the line item. It is read only. + example: 91f4dd8bfa0653d58b7783b04f + type: string + maxBonusItems: + format: int32 + description: The maximum number of bonus items the user can select for this promotion. + type: integer + promotionId: + description: The ID of the promotion that triggered the creation of the line item. + example: Buy1Get2 + type: string + CouponItemId: + minLength: 1 + type: string + description: The coupon item ID + example: d4c9c0141e9c74c150225580f3 + CouponItem: + description: Document representing a coupon item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + code: + maxLength: 256 + description: The coupon code. + example: 5ties + type: string + couponItemId: + description: The coupon item ID. It is read only. + allOf: + - $ref: '#/components/schemas/CouponItemId' + statusCode: + description: The status of the coupon item. It is read only. + example: no_applicable_promotion + enum: + - coupon_code_already_in_basket + - coupon_code_already_redeemed + - coupon_code_unknown + - coupon_disabled + - redemption_limit_exceeded + - customer_redemption_limit_exceeded + - timeframe_redemption_limit_exceeded + - no_active_promotion + - coupon_already_in_basket + - no_applicable_promotion + - applied + - adhoc + type: string + valid: + description: |- + A flag indicating whether the coupon item is valid. A coupon line item is valid if + the status code is "applied" or "no_applicable_promotion". It is read only. + example: true + type: boolean + required: + - code + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + CustomerInfo: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: The customer information for guest or logged-in customers. + type: object + properties: + customerId: + maxLength: 100 + description: The customer ID. It is read only. + example: abMKqMaNYOBMnNdDNzyC5oNTi5 + type: string + customerName: + description: The customer name. + example: Max Mustermann + type: string + customerNo: + maxLength: 100 + description: The customer number. + example: '0002352' + type: string + email: + description: The customer's email address. + example: no-reply@salesforce.com + type: string + required: + - email + GiftCertificateItemId: + example: 629dea6e7b61e58da629b57b21 + type: string + minLength: 1 + GiftCertificateItem: + description: A gift certificate item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The gift certificate item amount. + example: 20 + type: number + giftCertificateItemId: + description: The item ID. It is read only. + allOf: + - $ref: '#/components/schemas/GiftCertificateItemId' + message: + maxLength: 4000 + description: The gift certificate message. + example: Birthday present. + type: string + recipientEmail: + minLength: 1 + description: The recipient email. + example: no-reply@salesforce.com + type: string + recipientName: + description: The recipient's name. + example: Daniel Mustermann + type: string + senderName: + description: The sender's name. + example: Max Mustermann + type: string + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + required: + - amount + - recipientEmail + GroupedTaxItem: + description: Document representing the grouped tax item. + type: object + properties: + taxRate: + description: The tax rate. It is read only. + type: number + format: double + example: 0.1 + taxValue: + description: The summed up tax total for the tax rate. It is read only. + type: number + format: double + example: 10.03 + additionalProperties: false + Discount: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: Document representing a discount. + type: object + properties: + amount: + format: double + description: The discount amount for discount types that define specific discount amounts. It is read only. + example: 130.88 + type: number + percentage: + format: double + description: The discount percent for discount types that define percentage discounts. It is read only. + example: 0.19 + type: number + priceBookId: + description: The price book ID that is used with some types. It is read only. + example: usd-sale-prices + type: string + type: + description: The type of discount. It is read only. + example: fixed_price + enum: + - percentage + - fixed_price + - amount + - free + - price_book_price + - bonus + - total_fixed_price + - bonus_choice + - percentage_off_options + type: string + required: + - type + PriceAdjustmentId: + example: ba248424e3eee797f062161f8b + type: string + PriceAdjustment: + description: |- + Document representing a price adjustment within a basket or order. Price adjustments + can be assigned at the order, product, or shipping level. + properties: + appliedDiscount: + description: |- + Details describing the discount this price adjustment is based on. For adjustments + not based on a discount, this value is null. + allOf: + - $ref: '#/components/schemas/Discount' + couponCode: + description: |- + The coupon code of the coupon this price adjustment is based on. For adjustments + not based on a coupon, this value is null. It is read only. + example: 5ties + type: string + createdBy: + description: The user who created the price adjustment. It is read only. + example: Support + type: string + creationDate: + description: The timestamp when the price adjustment was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + custom: + description: |- + A flag indicating whether this price adjustment was created by custom logic. This + flag is set to true unless the price adjustment was created by the promotion + engine. + example: true + type: boolean + itemText: + description: The text describing the item. + type: string + lastModified: + description: The timestamp when the price adjustment was last modified. It is read only. + example: '2021-02-25T09:58:08.715Z' + type: string + format: date-time + manual: + description: |- + A flag indicating whether this price adjustment was created by a manual process. + If the price adjustment was created by the promotion engine, this value is always + false. + example: true + type: boolean + price: + format: double + description: The adjustment price. It is read only. + example: 120.88 + type: number + priceAdjustmentId: + description: The price adjustment ID. It is read only. + allOf: + - $ref: '#/components/schemas/PriceAdjustmentId' + promotionId: + description: |- + The ID of the related promotion. Custom price adjustments + can be assigned any promotion ID so long it is not + used by a price adjustment belonging to the same item, + and is not used by a promotion defined in the promotion engine. + If not specified, a promotion ID is generated. + type: string + reasonCode: + description: The reason for the price adjustment. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + Status: + description: Document representing an object status. + properties: + code: + description: The status code. + type: string + message: + description: The status message. + type: string + status: + format: int32 + description: |- + The status. + For more information on the status values see Status.OK and Status.ERROR. + type: integer + type: object + additionalProperties: false + PaymentInstrumentId: + description: The payment instrument ID + example: ba248424e3eee797f062162f8b + type: string + OrderPaymentInstrument: + description: Document representing an order payment instrument. + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + authorizationStatus: + description: The authorization status of the payment transaction. It is read only. + allOf: + - $ref: '#/components/schemas/Status' + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '12030000' + type: string + maskedGiftCertificateCode: + description: The gift certificate code with the last 4 characters not masked. + example: '******Gzzy' + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/PaymentCard' + paymentInstrumentId: + description: The payment instrument ID. It is read only. + allOf: + - $ref: '#/components/schemas/PaymentInstrumentId' + paymentMethodId: + maxLength: 256 + description: The payment method ID. It is read only. + example: CREDIT_CARD + type: string + type: object + ProductItem: + description: Document representing a product item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including + adjustments. If the taxation policy is net, it doesn't include tax. If the + taxation policy is gross, it includes tax. It is read only. + example: 130 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. + example: true + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. + example: inventory + type: string + itemId: + description: |- + The product item ID. Use it to identify this item when updating its quantity or + creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not + including order-level adjustments or shipping charges. If the taxation policy is + net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 20.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation + policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 15.5 + type: number + productId: + maxLength: 100 + description: The ID of the product. + example: nintendo-ds-console + type: string + productListItem: + description: |- + If this product line item was added from a product list, this value is a reference + to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A + related shipping item represents a surcharge applied to individual products using + a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax for the product item, not including price adjustments. It is read only. + example: 0.3 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this product item. It is read only. + example: 30 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.9 + type: number + ItemId: + description: The item id. + example: 430ef5aad3a24de59378458434 + type: string + OptionItem: + description: |- + An option item represents an optional purchase related to a product item, and is always associated with that parent product + item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + example: ba248414e3eee797f062162f8b + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. It is read only. + example: false + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: false + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. It is read only. + example: inventory + type: string + itemId: + description: The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + example: The item text. + type: string + optionId: + maxLength: 256 + description: The ID of the option. It is read only. + example: consoleWarranty + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + optionValueId: + maxLength: 256 + description: The ID of the option value. It is read only. + example: '000' + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + example: 150.99 + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not including order-level adjustments or + shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated order-level adjustments, but not + including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 40.5 + type: number + productId: + $ref: '#/components/schemas/ProductId' + productListItem: + description: If this product line item was added from a product list, this value is a reference to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The ordered quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A related shipping item represents a + surcharge applied to individual products using a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax on the line item before applying any adjustments. It is read only. + example: 0 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. It is read only. + example: 50 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.19 + type: number + required: + - optionId + - optionValueId + ProductListLink: + description: Document representing a link to a product list. + properties: + description: + description: The description of this product list. + type: string + name: + description: The name of this product list. + type: string + public: + description: |- + A flag indicating whether the owner made this product list available for access + by other customers. It is read only. + example: true + type: boolean + title: + description: The link title. + type: string + type: + description: The type of the product list. + example: shopping_list + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + type: string + type: object + additionalProperties: false + ProductListItemReference: + description: Document representing product list item details. + type: object + additionalProperties: false + properties: + id: + description: The ID of the product list item. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + priority: + format: int32 + description: The priority of the product list item. + example: 1 + type: integer + productDetailsLink: + $ref: '#/components/schemas/ProductDetailsLink' + productList: + description: A reference to the associated product list. It is read only. + allOf: + - $ref: '#/components/schemas/ProductListLink' + public: + example: false + type: boolean + purchasedQuantity: + format: double + description: The total quantity of this item purchased from the product list. + example: 0 + type: number + quantity: + minimum: 0 + format: double + description: The number of products or gift certificates that get shipped when purchasing this product list item. + example: 1 + type: number + type: + description: Specifies whether the item is a product or a gift certificate. + example: product + enum: + - product + - gift_certificate + type: string + required: + - id + ShipmentId: + minLength: 1 + type: string + example: me + description: The identifier of the shipment + ShippingPromotion: + description: Document representing a shipping promotion. + properties: + calloutMsg: + description: The localized callout message of the promotion. + example: $30 Fixed Shipping Amount Above 150 + type: string + promotionId: + description: The unique ID of the promotion. + example: $30FixedShippingAmountAbove150 + type: string + promotionName: + description: The localized promotion name. + example: $30 Fixed Shipping Amount Above 150 + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ShippingMethod: + description: Document representing a shipping method. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + description: + description: The localized description of the shipping method. + example: Order received within 7-10 business days + type: string + externalShippingMethod: + description: The external shipping method. + type: string + id: + maxLength: 256 + description: The shipping method ID. + example: '001' + type: string + name: + description: The localized name of the shipping method. + example: Ground + type: string + price: + format: double + description: |- + The shipping cost total, including shipment level costs, + product level fix, and surcharge costs. It is read only. + example: 15 + type: number + shippingPromotions: + description: |- + The array of active customer shipping promotions for this shipping + method. This array can be empty. + type: array + items: + $ref: '#/components/schemas/ShippingPromotion' + type: object + required: + - id + Shipment: + description: Document representing a shipment. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not including + service charges such as shipping. If the Discount Taxation preference is set to Tax Products and + Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + gift: + description: A flag indicating whether the shipment is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + merchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, not including price adjustments or service charges such as + shipping. It is read only. + example: 4.95 + type: number + productSubTotal: + format: double + description: |- + The total price of all products in the shipment, including item-level adjustments, but not including + order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If + the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + shipmentId: + description: The order-specific ID of the shipment. The default value is 'me'. + default: me + allOf: + - $ref: '#/components/schemas/ShipmentId' + shipmentNo: + description: The shipment number of this shipment. This number is automatically generated. It is read only. + type: string + shipmentTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments, shipping charges, + and tax. It is read only. + example: 39.99 + type: number + shippingAddress: + description: The shipping address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + shippingMethod: + $ref: '#/components/schemas/ShippingMethod' + shippingStatus: + description: The shipping status of the shipment. + example: shipped + enum: + - not_shipped + - shipped + type: string + shippingTotal: + format: double + description: |- + The total price of all shipping charges in the shipment, including shipping adjustments. If the + taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. + example: 0.3 + type: number + taxTotal: + format: double + description: |- + The total tax on the shipment, including item-level price adjustments and service charges such as + shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on + Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 1.8 + type: number + trackingNumber: + description: The tracking number of the shipment. + example: 1Z204E380338943508 + type: string + type: object + ShippingItem: + description: Document representing a shipping item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax for the shipping item, including price adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the shipping item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + itemId: + description: |- + The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a + custom price adjustment for it. It is read only. + example: 430ef5aad3a24de59378458434 + type: string + itemText: + description: The text describing the shipping item. + example: Shipping + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the shipping item including item-level adjustments, but not including order-level + adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + type: number + shipmentId: + description: The identifier of the shipment to which this item belongs. + allOf: + - $ref: '#/components/schemas/ShipmentId' + tax: + format: double + description: The tax on the product item, not including adjustments. It is read only. + example: 0.19 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this shipping item. It is read only. + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. + type: number + type: object + Basket: + description: Document representing a basket. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not + including service charges such as shipping. If the Discount Taxation preference is set to Tax + Products and Shipping Only Based on Adjusted Price, this amount also includes prorated + order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + agentBasket: + description: Is the basket created by an agent? It is read only. + example: true + type: boolean + basketId: + description: The unique identifier for the basket. It is read only. + example: e78aa5646a8efebdd9cdd38be7 + type: string + billingAddress: + description: The billing address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + bonusDiscountLineItems: + description: The bonus discount line items. + type: array + items: + $ref: '#/components/schemas/BonusDiscountLineItem' + channelType: + description: The sales channel. It is read only. + example: storefront + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + couponItems: + description: The coupon items. + type: array + items: + $ref: '#/components/schemas/CouponItem' + creationDate: + description: The timestamp when the basket was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + currency: + $ref: '#/components/schemas/CurrencyCode' + customerInfo: + description: The customer information, if the customer is logged in. + allOf: + - $ref: '#/components/schemas/CustomerInfo' + giftCertificateItems: + description: The gift certificate line items. + type: array + items: + $ref: '#/components/schemas/GiftCertificateItem' + groupedTaxItems: + description: |- + Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same + tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. + type: array + items: + $ref: '#/components/schemas/GroupedTaxItem' + inventoryReservationExpiry: + description: The expiration datetime of the inventory reservation. It is read only. + example: '2015-05-19T15:30:18.000Z' + type: string + format: date-time + lastModified: + description: The timestamp when the basket was last modified. It is read only. + example: '2015-05-19T15:25:18.000Z' + type: string + format: date-time + merchandizeTotalTax: + format: double + description: |- + The total products tax in the purchase currency. + Merchandise total price represents the sum of the product prices before + services (such as shipping) or adjustments from promotions have + been added. It is read only. + example: 4.95 + type: number + orderPriceAdjustments: + description: The order-level price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + orderTotal: + format: double + description: The total price, including products, shipping and tax. It is read only. + example: 110.24 + type: number + paymentInstruments: + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/OrderPaymentInstrument' + productItems: + description: The product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + productSubTotal: + format: double + description: |- + The total price of all products including item-level adjustments, but not including order-level adjustments or shipping + charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 88 + type: number + shipments: + description: The shipments. + type: array + items: + $ref: '#/components/schemas/Shipment' + shippingItems: + description: The shipping items. + type: array + items: + $ref: '#/components/schemas/ShippingItem' + shippingTotal: + format: double + description: |- + The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on all shipping charges, not including shipping adjustments. It is read only. + example: 0.3 + type: number + sourceCode: + description: The source code assigned to the basket. It is read only. + example: OUTDOOR1 + type: string + taxTotal: + format: double + description: The total tax amount. It is read only. + example: 5.25 + type: number + taxation: + description: The taxation policy (gross or net). It is read only. + example: net + enum: + - gross + - net + type: string + taxRoundedAtGroup: + description: If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. + example: true + type: boolean + temporaryBasket: + description: If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. + example: true + type: boolean + type: object + BasketsResult: + description: Result document containing an array of baskets. + properties: + baskets: + description: The list of baskets for a customer. + items: + allOf: + - $ref: '#/components/schemas/Basket' + - required: + - adjustedMerchandizeTotalTax + - adjustedShippingTotalTax + - agentBasket + - basketId + - channelType + - creationDate + - currency + - customerInfo + - lastModified + - merchandizeTotalTax + - orderTotal + - productSubTotal + - productTotal + - shipments + - shippingItems + - shippingTotal + - shippingTotalTax + - taxTotal + - taxation + type: array + total: + description: The total number of baskets. + example: 10 + format: int32 + type: integer + required: + - total + type: object + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + OrderNo: + description: The order number + minLength: 1 + maxLength: 50 + type: string + example: '00000410' + Order: + description: Document representing an order. + type: object + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the order, including price adjustments, but not including service charges such as + shipping. It is read only. + example: 1.5 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the order, including shipping price adjustments. It is read only. + example: 0.3 + type: number + billingAddress: + description: The billing address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + bonusDiscountLineItems: + description: The bonus discount line items. + type: array + items: + $ref: '#/components/schemas/BonusDiscountLineItem' + channelType: + description: The sales channel. It is read only. + example: storefront + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + confirmationStatus: + description: The confirmation status. + example: confirmed + enum: + - not_confirmed + - confirmed + type: string + couponItems: + description: The coupon items. It is read only. + type: array + items: + $ref: '#/components/schemas/CouponItem' + createdBy: + description: |- + This value depends on how the order was created. If a shopper created the order, this value is Customer. + If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. It is read only. + example: Customer + type: string + creationDate: + description: The timestamp when the order was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + currency: + description: The ISO 4217 mnemonic code of the currency. It is read only. + allOf: + - $ref: '#/components/schemas/CurrencyCode' + customerInfo: + description: The customer information for guest or logged-in customers. It is read only. + allOf: + - $ref: '#/components/schemas/CustomerInfo' + customerName: + description: The customer name. It is read only. + example: Max Mustermann + type: string + exportStatus: + description: The export status of the order. + example: exported + enum: + - not_exported + - exported + - ready + - failed + type: string + externalOrderStatus: + description: The external status of the order. + example: Submitted + type: string + giftCertificateItems: + description: The gift certificate line items. It is read only. + type: array + items: + $ref: '#/components/schemas/GiftCertificateItem' + globalPartyId: + description: The Customer 360 Global Party ID associated with the shopper. It is read only. + example: GP_1234 + type: string + lastModified: + description: The timestamp when the order was last modified. It is read only. + example: '2021-02-25T09:58:08.715Z' + type: string + format: date-time + merchandizeTotalTax: + format: double + description: |- + The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices + not including shipping or adjustments. It is read only. + example: 1.5 + type: number + orderNo: + description: The order number. + example: '00000410' + allOf: + - $ref: '#/components/schemas/OrderNo' + orderPriceAdjustments: + description: The order-level price adjustments. It is read only. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + orderToken: + description: |- + The order token used to secure the lookup of an order on base of the + plain order number. The order token contains only URL safe characters. It is read only. + type: string + orderTotal: + format: double + description: The total price, including products, shipping, and tax. It is read only. + example: 110.24 + type: number + orderViewCode: + description: |- + The order view code used to secure the order lookup of an order using Order Lookup API. + The order view code contains only URL safe characters. + Warning : Order view code must not be exposed in the URL and must only be displayed to the shopper or sent as an email. + Order view code must not be logged in the code. It is read only. + type: string + paymentInstruments: + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/OrderPaymentInstrument' + paymentStatus: + description: The payment status. + example: paid + enum: + - not_paid + - part_paid + - paid + type: string + productItems: + description: The product items. It is read only. + type: array + items: + $ref: '#/components/schemas/ProductItem' + productSubTotal: + format: double + description: |- + The total price of all products including item-level adjustments, but not including + order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + taxRoundedAtGroup: + description: If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. + type: boolean + example: true + shipments: + description: The shipments. It is read only. + type: array + items: + $ref: '#/components/schemas/Shipment' + shippingItems: + description: The shipping items. It is read only. + type: array + items: + $ref: '#/components/schemas/ShippingItem' + shippingStatus: + description: The shipping status. + example: shipped + enum: + - not_shipped + - part_shipped + - shipped + type: string + shippingTotal: + format: double + description: |- + The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on all shipping charges, not including shipping adjustments. It is read only. + example: 0.3 + type: number + siteId: + description: The order's site. It is read only. + example: ShoppingSite + allOf: + - $ref: '#/components/schemas/SiteId' + sourceCode: + description: The source code assigned to the basket from which this order was created. It is read only. + example: OUTDOOR1 + type: string + status: + description: The status. + example: created + enum: + - created + - new + - completed + - cancelled + - replaced + - failed + type: string + taxTotal: + format: double + description: The total tax amount. It is read only. + example: 5.25 + type: number + taxation: + description: The taxation policy (gross or net). It is read only. + example: net + enum: + - gross + - net + type: string + groupedTaxItems: + description: |- + Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same + tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. + type: array + items: + $ref: '#/components/schemas/GroupedTaxItem' + guest: + description: The registration status of the customer. It is read only. + type: boolean + example: true + CustomerOrderResult: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/Order' + type: array + description: The array of customer order documents. + description: Result document containing an array of customer orders. + PasswordChangeRequest: + required: + - currentPassword + - password + type: object + properties: + currentPassword: + maxLength: 4096 + type: string + description: The customer's current password. + example: p@ssword1 + password: + maxLength: 4096 + type: string + description: The customer's new password. + example: p@ssword2 + description: Document representing a password change request. + PaymentBankAccountRequest: + required: + - driversLicense + - driversLicenseStateCode + - holder + - number + type: object + properties: + driversLicense: + maxLength: 256 + type: string + description: The driver’s license. + example: 84736485 + driversLicenseStateCode: + maxLength: 256 + type: string + description: The driver’s license state code. + example: UT + holder: + maxLength: 256 + type: string + description: The holder of the bank account. + example: John Smith + number: + maxLength: 256 + type: string + description: The payment bank account number. + example: 9796976 + description: Document representing a payment bank account request. + CustomerPaymentCardRequest: + required: + - cardType + - expirationMonth + - expirationYear + - holder + - issueNumber + - number + - validFromMonth + - validFromYear + type: object + properties: + cardType: + maxLength: 256 + type: string + description: The payment card type (for example, "Visa"). + example: Visa + creditCardToken: + type: string + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data at the + token store. + example: hk2jh293484 + expirationMonth: + type: integer + description: The month the payment card expires. + format: int32 + example: 11 + expirationYear: + type: integer + description: The year the payment card expires. + format: int32 + example: 9999 + holder: + maxLength: 256 + type: string + description: The payment card holder. + example: John Smith + issueNumber: + maxLength: 256 + type: string + description: The payment card issue number. + example: 92743927 + number: + maxLength: 4000 + type: string + description: The payment card number. + example: 4454852652415965 + validFromMonth: + maximum: 12 + minimum: 1 + type: integer + description: The month the payment card valid is from. + format: int32 + example: 11 + validFromYear: + type: integer + description: The year the payment card is valid from. + format: int32 + example: 23 + description: Document representing a customer payment card request. + CustomerPaymentInstrumentRequest: + type: object + properties: + bankRoutingNumber: + maxLength: 256 + type: string + description: The bank routing number. + example: AB123 + giftCertificateCode: + maxLength: 256 + type: string + description: The gift certificate code. + example: gift-code + paymentBankAccount: + allOf: + - $ref: '#/components/schemas/PaymentBankAccountRequest' + description: The payment bank account request data. + paymentCard: + allOf: + - $ref: '#/components/schemas/CustomerPaymentCardRequest' + description: The customer payment card. + paymentMethodId: + maxLength: 256 + type: string + description: The payment method ID. Optional if a customer payment instrument ID is specified. + example: Credit Card + description: Document representing a customer payment instrument request. + CustomerProductListRegistrant: + description: Document representing a customer product list registrant. + properties: + email: + description: The email of the registrant. + example: jsmith@mail.com + type: string + firstName: + description: The first name of the registrant. + example: John + type: string + lastName: + description: The last name of the registrant. + example: Smith + type: string + role: + description: The role of the registrant. + example: Friend + type: string + required: + - email + - firstName + - lastName + - role + type: object + CustomerAddressInfo: + description: Result document of product list addresses. + properties: + addressId: + description: The ID of the address. + example: Home + maxLength: 256 + type: string + title: + description: The link title. + example: title + type: string + required: + - addressId + - title + type: object + Product: + description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. A product has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. + properties: + brand: + description: The product's brand. + example: Apple + type: string + bundledProducts: + description: The array of all bundled products of this product. + type: array + items: + $ref: '#/components/schemas/BundledProduct' + currency: + $ref: '#/components/schemas/CurrencyCode' + ean: + description: The European Article Number of the product. + example: 8essdf9w3 + type: string + fetchDate: + format: int32 + example: 5 + type: integer + id: + $ref: '#/components/schemas/ProductId' + imageGroups: + description: The array of product image groups. + type: array + items: + $ref: '#/components/schemas/ImageGroup' + inventories: + description: |- + The array of product inventories explicitly requested via the 'inventory_ids' query parameter. This property + is only returned in context of the 'availability' expansion. + type: array + items: + $ref: '#/components/schemas/Inventory' + inventory: + description: |- + The site default inventory information. This property is only + returned in context of the 'availability' expansion. + allOf: + - $ref: '#/components/schemas/Inventory' + longDescription: + description: The localized product's long description. + example: Awesome long description of product + type: string + manufacturerName: + description: The product's manufacturer name. + example: Apple + type: string + manufacturerSku: + description: The product's manufacturer SKU. + example: 2ND8834 + type: string + master: + description: 'The master product information, only for types: master, variation group, and variant.' + allOf: + - $ref: '#/components/schemas/Master' + minOrderQuantity: + format: double + description: The minimum order quantity for this product. + example: 2 + type: number + name: + description: The localized product name. + example: Apple IPod Classic + type: string + options: + description: The array of product options, only for type option. This array can be empty. + type: array + items: + $ref: '#/components/schemas/Option' + pageDescription: + description: The localized product's page description. + example: Really good Product + type: string + pageKeywords: + description: The localized product's page description. + example: Ipod, Music Player + type: string + pageTitle: + description: The localized product's page title. + example: Apple IPod Classic + type: string + pageMetaTags: + description: Page Meta tags associated with the given product. + type: array + items: + $ref: '#/components/schemas/PageMetaTag' + price: + format: double + description: |- + The sales price of the product. In case of complex products, like master or set, this is the minimum price of + related child products. + example: 59.99 + type: number + pricePerUnit: + format: double + description: The price per unit if defined for the product + example: 19.99 + type: number + pricePerUnitMax: + format: double + description: The max price per unit typically for a master product's variant. + example: 29.99 + type: number + priceMax: + format: double + description: The maximum sales of related child products in complex products like master or set. + example: 69.99 + type: number + priceRanges: + description: Array of one or more price range objects representing one or more Pricebooks in context for the site. + type: array + items: + $ref: '#/components/schemas/PriceRange' + prices: + description: The prices map with pricebook IDs and their values. + type: object + additionalProperties: + format: double + type: number + primaryCategoryId: + description: The ID of the products primary category. + example: electronics + type: string + productLinks: + description: The array of source and target product links information. + type: array + items: + $ref: '#/components/schemas/ProductLink' + productPromotions: + description: |- + An array of active customer product promotions for this product, sorted by promotion priority + using SORT_BY_EXCLUSIVITY ordering (exclusivity → rank → promotion class → discount type → + best discount → ID). This array can be empty. Coupon promotions are not returned in this array. + See [PromotionPlan.SORT_BY_EXCLUSIVITY](https://salesforcecommercecloud.github.io/b2c-dev-doc/docs/current/scriptapi/html/index.html?target=class_dw_campaign_PromotionPlan.html) for more details. + type: array + items: + $ref: '#/components/schemas/ProductPromotion' + recommendations: + description: Returns a list of recommendations. + type: array + items: + $ref: '#/components/schemas/Recommendation' + setProducts: + description: The array of set products of this product. + type: array + items: + $ref: '#/components/schemas/Product' + shortDescription: + description: The localized product short description. + example: Awesome Product + type: string + slugUrl: + description: The complete link to this product's storefront page. + example: https://www.example.com/on/store/Sites-MySite/default/Product-Show?pid=MyProduct + type: string + stepQuantity: + format: double + description: |- + The steps in which the order amount of the product can be + increased. + example: 2 + type: number + tieredPrices: + description: The document represents list of tiered prices if the product is a variant + type: array + items: + $ref: '#/components/schemas/ProductPriceTable' + type: + description: 'The product type information. Can be one or more of the following values: item, master, variation_group, variant, bundle, and set.' + allOf: + - $ref: '#/components/schemas/ProductType' + unit: + description: The sales unit of the product. + example: lbs + type: string + upc: + description: The Universal Product Code (UPC). + example: JSDU876 + type: string + validFrom: + description: The time a product is valid from. + example: '9999-12-31T00:00:00.0Z' + type: string + format: date-time + validTo: + description: The time a product is valid to. + example: '9999-12-31T23:59:59.0Z' + type: string + format: date-time + variants: + description: The array of actual variants. Only for master, variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/Variant' + variationAttributes: + description: |- + Sorted array of variation attributes information. Only for master, + variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationAttribute' + variationGroups: + description: The array of actual variation groups. Only for master, variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationGroup' + variationValues: + description: |- + The actual variation attribute ID - value pairs. Only for variant and + variation group types. + type: object + additionalProperties: + type: string + required: + - id + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + BundledProduct: + description: A bundle of products that can be bought together (all or nothing). Each product in the bundle can itself be bought independently, but this is outside of the context of the bundle. A bundle is a purchasing convenience. *Product bundle has a SKU and price.* + properties: + id: + example: '823476' + type: string + product: + description: The product being bundled. + allOf: + - $ref: '#/components/schemas/Product' + quantity: + format: double + description: For the product being bundled, the quantity added to the bundle. + example: 5 + type: number + required: + - id + - product + - quantity + type: object + Image: + description: Product image + properties: + alt: + description: The localized alternative text of the image. + example: Apple iPod Shuffle, large + type: string + disBaseLink: + description: Base URL for the Dynamic Image Service (DIS) address. This is only shown if the image is stored on the server and DIS is enabled. + example: https://example.com/images/large/ipod-shuffle-silver.jpg + type: string + link: + minLength: 1 + description: The URL of the actual image. + example: https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dwc2/images/large/ipod-shuffle.jpg + type: string + title: + description: The localized title of the image. + example: Apple iPod Shuffle + type: string + required: + - link + type: object + VariationAttributeValue: + description: Document representing a variation attribute value. + properties: + description: + description: The localized description of the variation value. + example: Color of the product + type: string + image: + description: The first product image for the configured viewtype and this variation value. + allOf: + - $ref: '#/components/schemas/Image' + imageSwatch: + description: The first product image for the configured viewtype and this variation value (typically the swatch image). + allOf: + - $ref: '#/components/schemas/Image' + name: + description: The localized display name of the variation value. + example: Red + type: string + orderable: + description: A flag indicating whether at least one variant with this variation attribute value is available to sell. + example: true + type: boolean + value: + minLength: 1 + description: The actual variation value. + example: red + type: string + required: + - value + type: object + VariationAttribute: + description: Document representing a variation attribute. + properties: + id: + minLength: 1 + description: The ID of the variation attribute. + example: color + type: string + name: + description: The localized display name of the variation attribute. + example: Color + type: string + values: + description: The sorted array of variation values. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationAttributeValue' + required: + - id + type: object + ImageGroup: + description: Document representing an image group containing a list of images for a particular view type and an optional variation value. + properties: + images: + description: The images of the image group. + type: array + items: + $ref: '#/components/schemas/Image' + variationAttributes: + description: Returns a list of variation attributes applying to this image group. + type: array + items: + $ref: '#/components/schemas/VariationAttribute' + viewType: + description: The image view type. + example: hi-res + type: string + required: + - images + - viewType + type: object + InventoryId: + description: The inventory ID. + type: string + minLength: 1 + maxLength: 256 + example: Site1InventoryList + Inventory: + description: Document representing inventory information of the current product for a particular inventory list. + properties: + ats: + format: double + description: |- + The Available To Sell (ATS) of the product. If it is infinity, the return value is 999999. The value can be overwritten by the + OCAPI setting 'product.inventory.ats.max_threshold'. + example: 15 + type: number + backorderable: + description: A flag indicating whether the product is backorderable. + example: true + type: boolean + id: + $ref: '#/components/schemas/InventoryId' + inStockDate: + description: A flag indicating the date when the product will be in stock. + example: '9999-12-31T00:00:00.0Z' + type: string + format: date-time + orderable: + description: A flag indicating whether at least one of the products is available to sell. + example: true + type: boolean + preorderable: + description: A flag indicating whether the product is preorderable. + example: false + type: boolean + stockLevel: + format: double + description: |- + The stock level of the product. If it is infinity, the return value is 999999. The value can be overwritten by the + OCAPI setting 'product.inventory.stock_level.max_threshold'. + example: 10 + type: number + required: + - id + type: object + Price: + type: number + description: Document representing a price for a product + format: double + example: 12.99 + Master: + description: The master product is a representation of a group of variant products. This is a non-buyable entity, provides inheritable attributes for its product variants, and is used for navigation. *Doesn't have a SKU.* + properties: + masterId: + description: The ID (SKU) of the master product. + allOf: + - $ref: '#/components/schemas/ProductId' + orderable: + description: A flag indicating whether at least one of the variants can be ordered. + example: true + type: boolean + price: + description: The minimum sales price of the related variants. + allOf: + - $ref: '#/components/schemas/Price' + priceMax: + description: The maximum sales price of the related variants. + allOf: + - $ref: '#/components/schemas/Price' + prices: + description: List of sale prices. + type: object + additionalProperties: + format: double + type: number + required: + - masterId + type: object + OptionValue: + description: Document representing an option value. + properties: + default: + description: A flag indicating whether this option value is the default one. + example: true + type: boolean + id: + description: The ID of the option value. + example: 5YR + allOf: + - $ref: '#/components/schemas/ProductId' + name: + description: The localized name of the option value. + example: 5 Year Warranty + type: string + price: + description: The effective price of the option value. + allOf: + - $ref: '#/components/schemas/Price' + required: + - id + type: object + Option: + description: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can't be purchased separately. *Product Option has a SKU and a price associated with it.* + properties: + description: + description: The localized description of the option. + example: Get this Option + type: string + id: + description: The ID of the option. + example: Warranty + allOf: + - $ref: '#/components/schemas/ProductId' + image: + description: The URL to the option image. + example: https://www.exampleimage.com/images/optionImage.jpg + type: string + name: + description: The localized name of the option. + example: Warranty + type: string + values: + description: The array of option values. This array can be empty. + type: array + items: + $ref: '#/components/schemas/OptionValue' + required: + - id + type: object + PageMetaTag: + description: Document representing a Page Meta Tag object. + properties: + id: + description: The ID of the Page Meta Tag. + type: string + example: title + value: + description: Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID. + type: string + example: Buy the Long Sleeve Covered Placket Blouse for USD 61.99. + PriceRange: + description: Document representing price ranges for a product which happens to be a master product (per Pricebook) + properties: + maxPrice: + description: Maximum price for the given pricebook (usually for a master Product would be the price for the Variant which has the highest price out of all Variants in that pricebook) + allOf: + - $ref: '#/components/schemas/Price' + minPrice: + description: Minimum price for the given pricebook (usually for a master Product would be the price for the Variant which has the least price out of all Variants in that pricebook) + allOf: + - $ref: '#/components/schemas/Price' + pricebook: + description: The active pricebook from which the min and the max prices are calculated. The pricebook is based on the site context of the request as defined in ECOM. + example: usd-list-pricebook + type: string + type: object + ProductLink: + description: |- + Document representing a link between two products. It contains the ID of the source and target products, the type of + product link, and the URLs to retrieve product data. + properties: + sourceProductId: + description: The semantic ID of the product this product link is coming from. + example: '824756924' + allOf: + - $ref: '#/components/schemas/ProductId' + sourceProductLink: + description: The URL addressing the product this product link is coming from. + example: Link + type: string + targetProductId: + description: The semantic ID of the product this product link is pointing to. + example: 2TR93459 + allOf: + - $ref: '#/components/schemas/ProductId' + targetProductLink: + description: The URL addressing the product this product link is pointing to. + example: Link + type: string + type: + description: The type of product link. + example: up_sell + enum: + - cross_sell + - replacement + - up_sell + - accessory + - newer_version + - alt_orderunit + - spare_part + - other + type: string + required: + - sourceProductId + - sourceProductLink + - targetProductId + - targetProductLink + - type + type: object + ProductPromotion: + description: Document representing a product promotion. + properties: + calloutMsg: + description: The localized call-out message of the promotion. + example: Fantastic promotion + type: string + promotionId: + description: The unique ID of the promotion. + example: summerSale + type: string + promotionalPrice: + description: The promotional price for this product. + allOf: + - $ref: '#/components/schemas/Price' + required: + - calloutMsg + - promotionId + - promotionalPrice + type: object + RecommendationType: + description: Document representing a recommendation type. + properties: + displayValue: + description: The localized display value of the recommendation type. + example: UpSell + type: string + value: + format: int32 + description: The value of the recommendation type. + example: 2 + type: integer + required: + - displayValue + - value + type: object + Recommendation: + description: Document representing a product recommendation. + properties: + calloutMsg: + description: The localized callout message of the recommendation. + example: Absolutely recommended + type: string + image: + $ref: '#/components/schemas/Image' + longDescription: + description: The localized long description of the recommendation. + example: Really good detailed product description + type: string + name: + description: The localized name of the recommendation. + example: Apple Ipod Shuffle + type: string + recommendationType: + $ref: '#/components/schemas/RecommendationType' + recommendedItemId: + description: The recommended item ID of the recommendation. + example: apple-ipod-shuffle + type: string + shortDescription: + description: The localized short description of the recommendation. + example: Product description + type: string + required: + - recommendationType + type: object + ProductPriceTable: + description: Tiered Price Level Object + properties: + price: + description: Price for the product for the specified tier for the specified pricebook + allOf: + - $ref: '#/components/schemas/Price' + pricebook: + description: The active pricebook for which this price is defined + example: usd-list-pricebook + type: string + quantity: + format: double + description: Quantity tier for which the price is defined. + example: 1 + type: number + type: object + ProductType: + description: Document representing a product type. + properties: + bundle: + description: A flag indicating whether the product is a bundle. + example: true + type: boolean + item: + description: A flag indicating whether the product is a standard item. + example: false + type: boolean + master: + description: A flag indicating whether the product is a master. + example: true + type: boolean + option: + description: A flag indicating whether the product is an option. + example: false + type: boolean + set: + description: A flag indicating whether the product is a set. + example: true + type: boolean + variant: + description: A flag indicating whether the product is a variant. + example: false + type: boolean + variationGroup: + description: A flag indicating whether the product is a variation group. + example: false + type: boolean + type: object + Variant: + description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU.* + properties: + orderable: + description: A flag indicating whether the variant is orderable. + example: true + type: boolean + price: + description: The sales price of the variant. + allOf: + - $ref: '#/components/schemas/Price' + productId: + description: The ID (SKU) of the variant. + example: 8W4756834 + allOf: + - $ref: '#/components/schemas/ProductId' + tieredPrices: + description: List of tiered prices if the product is a variant + type: array + items: + $ref: '#/components/schemas/ProductPriceTable' + variationValues: + description: The actual variation attribute ID - value pairs. + type: object + additionalProperties: + type: string + required: + - productId + type: object + VariationGroup: + description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for its product variants, and is used for navigation. *Doesn't have a SKU.* + properties: + orderable: + description: A flag indicating whether the variation group is orderable. + example: false + type: boolean + price: + description: The sales price of the variation group. + allOf: + - $ref: '#/components/schemas/Price' + productId: + description: The ID (SKU) of the variation group. + example: 49345VG + allOf: + - $ref: '#/components/schemas/ProductId' + variationValues: + description: The actual variation attribute ID - value pairs. + type: object + additionalProperties: + type: string + required: + - orderable + - price + - productId + - variationValues + type: object + CustomerProductListItem: + description: Document representing a customer product list item. + properties: + id: + description: The ID of this product list item. + example: Main Product + type: string + priority: + description: The priority of the item. + example: 1 + format: int32 + type: integer + product: + allOf: + - $ref: '#/components/schemas/Product' + description: The product item. + productId: + description: The ID of the product. + example: Toaster + allOf: + - $ref: '#/components/schemas/ProductId' + public: + description: Is this product list item available for access by other customers? + example: true + type: boolean + purchasedQuantity: + description: The quantity of products already purchased. + example: 1 + format: double + type: number + quantity: + description: The quantity of this product list item. + example: 2 + format: double + minimum: 0 + type: number + type: + description: The type of the item. + enum: + - product + - gift_certificate + example: product + type: string + required: + - priority + - public + - quantity + type: object + ProductListEvent: + required: + - type + type: object + properties: + city: + type: string + description: The city where the event takes place. + example: New York + country: + type: string + description: The country where the event takes place. + example: USA + date: + type: string + description: The date when the event takes place. + format: date-time + example: 253402214400 + state: + type: string + description: The federal state where the event takes place. + example: UT + type: + type: string + description: Type of the event to celebrate. + example: wedding + description: Document representing a product list event. + ProductListShippingAddress: + required: + - addressId + type: object + properties: + addressId: + minLength: 1 + type: string + description: The ID of this address. + example: Home + city: + type: string + description: The city of this address. + example: New York + firstName: + type: string + description: The first name of this address. + example: John + lastName: + type: string + description: The last name of this address. + example: Smith + description: Document representing a product list shipping address. + CustomerProductList: + type: object + description: Document representing a customer product list. + properties: + coRegistrant: + allOf: + - $ref: '#/components/schemas/CustomerProductListRegistrant' + description: The coregistrant of this product list. + creationDate: + description: Returns the value of attribute 'creationDate'. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + currentShippingAddressInfo: + allOf: + - $ref: '#/components/schemas/CustomerAddressInfo' + description: The resource link to the current shipping address of this customer product list. + customerProductListItems: + description: The list of customer product list items. + items: + $ref: '#/components/schemas/CustomerProductListItem' + type: array + description: + description: The description of this product list. + example: My Product List + type: string + event: + allOf: + - $ref: '#/components/schemas/ProductListEvent' + description: The event of this product list. + id: + description: The ID of this product list. + example: MyList + minLength: 1 + type: string + lastModified: + description: Returns the value of attribute 'lastModified'. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + name: + description: The name of this product list. + example: Danny's Product List + type: string + postEventShippingAddressInfo: + allOf: + - $ref: '#/components/schemas/CustomerAddressInfo' + description: The resource link to the post event shipping address of this customer product list. + productListShippingAddress: + allOf: + - $ref: '#/components/schemas/ProductListShippingAddress' + description: The abbreviated shipping address of this product list representing what an anonymous user can see. + public: + description: Indicates whether the owner made this product list available for access by other customers. + example: true + type: boolean + registrant: + allOf: + - $ref: '#/components/schemas/CustomerProductListRegistrant' + description: The registrant of this product list. + shippingAddressInfo: + allOf: + - $ref: '#/components/schemas/CustomerAddressInfo' + description: The resource link to the shipping address of this customer product list. + type: + description: The type of the product list. + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + example: wish_list + type: string + CustomerProductListResult: + description: Document representing a customer product lists result. + required: + - data + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + data: + description: The customer product lists. + items: + $ref: '#/components/schemas/CustomerProductList' + type: array + PublicProductListInfo: + description: Document representing a link to a public product list. + properties: + description: + description: The description of this product list. + example: Super Awesome ProductList + type: string + id: + description: The ID of the product-list document. + example: '3958739435' + type: string + name: + description: The name of this product list. + example: My Product List + type: string + title: + description: The link title. + example: Product List Title + type: string + type: + description: The type of the product list. + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + example: custom_1 + type: string + required: + - id + - title + - type + type: object + PublicProductListResult: + required: + - data + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + data: + description: The array of product list link documents. + items: + $ref: '#/components/schemas/PublicProductListInfo' + type: array + description: Result document containing an array of public product list links. + ProductListRegistrant: + required: + - firstName + - lastName + - role + type: object + properties: + firstName: + type: string + description: The first name of the registrant. + example: John + lastName: + type: string + description: The last name of the registrant. + example: Smith + role: + type: string + description: The role of the registrant. + example: CEO + description: |- + A `ProductListRegistrant` is typically associated with an event-related product list, such as a gift registry. It holds + information about a person associated with the event, such as a bride or groom. + PublicProductListItem: + description: Document representing a product list item. + properties: + id: + description: The ID of this product list item. + example: '8745345' + type: string + priority: + description: The priority of the item. + example: 2 + format: int32 + type: integer + product: + allOf: + - $ref: '#/components/schemas/Product' + description: The product item. + type: + description: The type of the item. + enum: + - product + - gift_certificate + example: product + type: string + required: + - id + - priority + - type + type: object + PublicProductList: + description: Document representing a customer product list. + properties: + coRegistrant: + allOf: + - $ref: '#/components/schemas/ProductListRegistrant' + description: The coRegistrant of this product list. + creationDate: + description: Returns the value of attribute 'creationDate'. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + description: + description: The description of this product list. + example: Super Product List + type: string + event: + allOf: + - $ref: '#/components/schemas/ProductListEvent' + description: The event of this product list. + id: + description: The id of this product list. + example: '873465834' + minLength: 1 + type: string + lastModified: + description: Returns the value of attribute 'lastModified'. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + name: + description: The name of this product list. + example: My Product List + type: string + productListItems: + description: The product list items + items: + $ref: '#/components/schemas/PublicProductListItem' + type: array + productListShippingAddress: + allOf: + - $ref: '#/components/schemas/ProductListShippingAddress' + description: The abbreviated shipping address of this product list representing what anonymous users see. + public: + description: Indicates whether the owner made this product list available for access by other customers. + example: true + type: boolean + registrant: + allOf: + - $ref: '#/components/schemas/ProductListRegistrant' + description: The registrant of this product list. + type: + description: The type of the product list. + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + example: gift_registry + type: string + required: + - id + - public + - type + type: object + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + externalId: + name: externalId + in: query + description: The External ID of the customer. + required: true + schema: + minLength: 1 + type: string + authenticationProviderId: + name: authenticationProviderId + in: query + description: The authentication Provider Id. + required: true + schema: + minLength: 1 + type: string + customerId: + name: customerId + in: path + description: The customer ID. + required: true + schema: + minLength: 1 + type: string + addressName: + name: addressName + in: path + description: The name of the address to update. + required: true + schema: + maxLength: 256 + minLength: 1 + type: string + crossSites: + name: crossSites + in: query + description: The flag indicating whether all sites should be searched. This flag is ignored unless a valid User / Agent is present with a trusted agent on behalf (TAOB) token. Without a TAOB token, only the customer's orders placed on the site specified by siteId are returned. + required: false + schema: + type: boolean + from: + name: from + in: query + required: false + schema: + type: string + until: + name: until + in: query + required: false + schema: + type: string + status: + name: status + in: query + required: false + schema: + type: string + paymentInstrumentId: + name: paymentInstrumentId + in: path + description: The ID of the payment instrument to be retrievedCustomer. + required: true + schema: + minLength: 1 + type: string + listId: + name: listId + in: path + description: The ID of the list. + required: true + schema: + maxLength: 28 + minLength: 1 + type: string + itemId: + name: itemId + in: path + description: The ID of the item. + required: true + schema: + minLength: 1 + type: string + email: + name: email + in: query + description: The email address of the customer the product lists belong to. + required: false + schema: + type: string + firstName: + name: firstName + in: query + description: The first name of the customer the product lists belong to. + required: false + schema: + type: string + lastName: + name: lastName + in: query + description: The last name of the customer the product lists belong to. + required: false + schema: + type: string + examples: + CustomerRegistrationBody: + value: + password: 12345!aBcD + customer: + login: jsmith + email: jsmith@test.com + firstName: John + lastName: Smith + customerRegistrationResponse: + value: + authType: registered + creationDate: '2020-02-13T17:44:15.892Z' + customerId: abkd9LhOWzAiAFubdEDChtkMHW + customerNo: '00006002' + email: jsmith@test.com + enabled: true + firstName: John + lastModified: '2020-02-13T17:44:15.898Z' + lastName: Smith + login: jsmith + registerCustomer400: + value: + title: Invalid Customer + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-customer + detail: The customer is invalid. + registerCustomer401: + value: + title: Authentication Failed + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/authentication-failed + detail: Customer authentication based on JohnSmith failed. + credentialType: JohnSmith + ResetPasswordBody: + value: + resetToken: R1e2s3e4t5T6o7k8e9n0 + login: janedoe@test.com + newPassword: p@assword2 + ResetPasswordTokenBody: + value: + login: janedoe@test.com + getResetPasswordTokenSuccess: + value: + login: janedoe@test.com + email: janedoe@test.com + resetToken: R1e2s3e4t5T6o7k8e9n0 + expiresInMinutes: 30 + getExternalProfileSuccess: + value: + authenticationProviderId: Google + firstName: John + lastName: Doe + customerId: bfqcN48dn2y4EaV9Qj5bNpVJVj + email: testCustomer@test.com + externalId: testCustomer@test.com + getExternalProfile400: + value: + title: Invalid Customer External Profile + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-customer-external-profile + detail: The customer external profile is invalid. + getExternalProfile404: + value: + title: Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found + detail: No customer with external profile with ID 'abfTWMDZOgi3JPzkHjv9IhmziI' could be found. + externalId: abfTWMDZOgi3JPzkHjv9IhmziI + ExternalProfileBody: + value: + authenticationProviderId: Google + firstName: John + lastName: Doe + email: testCustomer@test.com + externalId: testCustomer@test.com + registerExternalProfileSuccess: + value: + authenticationProviderId: Google + firstName: John + lastName: Doe + customerId: bfqcN48dn2y4EaV9Qj5bNpVJVj + email: testCustomer@test.com + externalId: testCustomer@test.com + getCustomerSuccess: + value: + addresses: + - address1: 10 Presidential Way + addressId: me + city: Woburn + countryCode: US + firstName: John + fullName: John M. Smith + lastName: Smith + postalCode: '01827' + salutation: Mr. + stateCode: MA + authType: registered + creationDate: '2020-02-14T20:39:53.818Z' + customerId: abfTEMDZOgi3JPrkHjv9IhoziM + customerNo: '00010009' + email: jsmith@demandware.com + firstName: John + gender: 1 + lastName: Smith + paymentInstruments: + - bankRoutingNumber: '0763564' + creationDate: '2017-08-20T11:30:36.000Z' + lastModified: '2017-08-20T11:30:50.000Z' + maskedGiftCertificateCode: '***********ode' + paymentCard: + cardType: Visa + creditCardExpired: false + expirationMonth: 2 + expirationYear: 2022 + holder: John Smith + maskedNumber: '***********ber2' + numberLastDigits: ber2 + paymentInstrumentId: beybQiWcyatEEaaadniwhKxxFl + paymentMethodId: CREDIT_CARD + phoneBusiness: '234560003' + phoneHome: '123450003' + phoneMobile: '345670003' + getCustomer404: + value: + title: Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found + detail: No customer with ID 'abfTWMDZOgi3JPzkHjv9IhmziI' could be found. + customerId: abfTWMDZOgi3JPzkHjv9IhmziI + UpdateCustomerBody: + value: + customerNo: '00010009' + firstName: John + lastName: Wild + email: jwild@yourstore.com + fax: +49 03641 78393 346 + updateCustomerResponse: + value: + authType: registered + creationDate: '2020-02-14T20:39:53.818Z' + customerId: abfTEMDZOgi3JPrkHjv9IhoziM + customerNo: '00010009' + email: jwild@yourstore.com + enabled: true + fax: +49 03641 78393 346 + firstName: John + lastLoginTime: '2020-02-14T20:51:59.313Z' + lastModified: '2020-02-14T20:55:12.133Z' + lastName: Wild + lastVisitTime: '2020-02-14T20:51:59.313Z' + login: f0a43dc2-692a-43bf-b008-e10918ea935d + previousLoginTime: '2020-02-14T20:51:59.313Z' + previousVisitTime: '2020-02-14T20:51:59.313Z' + CustomerAddressBody: + value: + addressId: home_address + address1: 5 Wall St + address2: 24 Presidential Way + city: Burlington + companyName: Salesforce Commerce Cloud + countryCode: US + firstName: John + jobTitle: Developer + lastName: Murphy + phone: 408-555-1212 + postalCode: '01805' + postBox: 12a + preferred: false + salutation: Mr. + secondName: Jim + stateCode: MA + title: Dr. + customerAddressResponse: + value: + addressId: home_address + address1: 5 Wall St + address2: 24 Presidential Way + city: Burlington + companyName: Salesforce Commerce Cloud + countryCode: US + creationDate: '2020-02-14T21:13:29.769Z' + firstName: John + fullName: John Jim Murphy + jobTitle: Developer + lastModified: '2020-02-14T21:13:29.770Z' + lastName: Murphy + phone: 408-555-1212 + postalCode: '01805' + postBox: 12a + preferred: false + salutation: Mr. + secondName: Jim + stateCode: MA + title: Dr. + CustomerAddressResponseBody: + value: + addressId: home_address + address1: 5 Wall St + address2: 24 Presidential Way + city: Burlington + companyName: Salesforce Commerce Cloud + countryCode: US + creationDate: '2020-02-14T21:13:29.769Z' + firstName: John + fullName: John Jim Murphy + jobTitle: Developer + lastModified: '2020-02-14T21:13:29.770Z' + lastName: Murphy + phone: 408-555-1212 + postalCode: '01805' + postBox: 12a + preferred: false + salutation: Mr. + secondName: Jim + stateCode: MA + title: Dr. + customerBasketsResult: + value: + baskets: + - basketId: bccO1aOjgEnuIaaadk7pYO2rFE + adjustedMerchandizeTotalTax: 0 + adjustedShippingTotalTax: 0 + agentBasket: true + billingAddress: + address1: 10 Presidential Way + city: Woburn + countryCode: US + firstName: John + fullName: John M. Smith + id: abfTEMDZOgi3JPrkHjv9IhoziM + lastName: Smith + phone: '123450003' + postalCode: '01827' + salutation: Mr. + stateCode: MA + bonusDiscountLineItems: + - bonusProducts: + - productDescription: Bonus Product + productId: '34984327448' + productName: Extra Fluffy Bonus Product + title: Bonus Product + couponCode: BONUS + id: qhegj345ruhrfkj + maxBonusItems: 1 + promotionId: basds98295jsafi + channelType: storefront + couponItems: + - code: '5634573' + couponItemId: 100-89038 + statusCode: coupon_code_already_in_basket + valid: true + creationDate: '2019-09-05T17:12:56.670Z' + currency: USD + customerInfo: + c_familyStatus: string + customerId: abfTEMDZOgi3JPrkHjv9IhoziM + customerName: John Smith + customerNo: '1000' + email: jsmith@demandware.com + giftCertificateItems: + - amount: 0 + giftCertificateItemId: '901' + message: Preferred Customer + recipientEmail: jsmith@demandware.com + recipientName: John Smith + senderName: Jane Smith + shipmentId: 678934jsadLHY5 + inventoryReservationExpiry: '2019-09-05T17:12:56.670Z' + lastModified: '2019-09-05T17:12:56.670Z' + merchandizeTotalTax: 0 + orderPriceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: asdfgh4567 + type: percentage + couponCode: 2345-009 + createdBy: System + creationDate: '2019-09-05T17:12:56.670Z' + custom: true + itemText: string + lastModified: '2019-09-05T17:12:56.670Z' + manual: true + price: 0 + priceAdjustmentId: 324545673fgjghj + promotionId: 1000-7654 + promotionLink: link to promotion + reasonCode: PRICE_MATCH + orderTotal: 0 + paymentInstruments: + - amount: 0 + authorizationStatus: + code: AUTH + message: Authorizing + status: 0 + bankRoutingNumber: string + maskedGiftCertificateCode: string + paymentCard: + cardType: Visa + creditCardExpired: false + creditCardToken: sadjklfajkgae + expirationMonth: 12 + expirationYear: 2019 + holder: John + issueNumber: '389342643978' + maskedNumber: '**************53' + numberLastDigits: '8753' + validFromMonth: 4 + validFromYear: 2015 + paymentInstrumentId: creditCard + paymentMethodId: credit + productItems: + - adjustedTax: 0 + basePrice: 0 + bonusDiscountLineItemId: string + bonusProductLineItem: true + bundledProductItems: + - quantity: 10 + gift: true + giftMessage: string + inventoryId: string + itemId: string + itemText: string + optionItems: + - adjustedTax: 0 + basePrice: 110 + bonusDiscountLineItemId: dsklgladsjkq349857 + bonusProductLineItem: true + bundledProductItems: + - quantity: 10 + gift: true + giftMessage: Happy Birthday + inventoryId: '258963' + itemId: apple-ipod-classic + itemText: Apple iPod Classic + optionId: 34526hjyuGGH56 + optionItems: + - optionId: sdiughsdjkfgoqtuy + optionValueId: '1564897654' + optionValueId: string + price: 0 + priceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: 34526hjyuGGH56 + type: percentage + couponCode: '109475' + createdBy: System + creationDate: '2019-09-05T17:12:56.670Z' + custom: true + itemText: '' + lastModified: '2019-09-05T17:12:56.670Z' + manual: true + price: 0 + priceAdjustmentId: '1597563' + promotionId: '963852' + promotionLink: link to promotion + reasonCode: PRICE_MATCH + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: apple-ipod-classic + productListItem: + id: 2345245e654utjSSDFfdhh + priority: 0 + productDetailsLink: + productDescription: apple-ipod-classic + productId: apple-ipod-classic + productName: Apple iPod Classic + title: Apple iPod Classic Silver + productList: + description: My Product List + name: Electronics + public: true + title: My Electronics Wish List + type: wish_list + public: true + purchasedQuantity: 0 + quantity: 0 + type: product + productName: Apple iPod Classic + quantity: 0 + shipmentId: 12345rdsghfjh + shippingItemId: 47568ghfhjgkg + tax: 0 + taxBasis: 0 + taxClassId: STATE + taxRate: 0 + price: 0 + priceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: string + type: percentage + couponCode: sadfghgjw4e56r7 + createdBy: System + creationDate: '2019-09-05T17:12:56.672Z' + custom: true + itemText: string + lastModified: '2019-09-05T17:12:56.672Z' + manual: true + price: 0 + priceAdjustmentId: asdgfhg5463798453 + promotionId: 100-7345 + promotionLink: Link to promotion + reasonCode: PRICE_MATCH + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: string + productListItem: + id: string + priority: 0 + productDetailsLink: + productDescription: apple-ipod-classic + productId: apple-ipod-classic + productName: Apple iPod Classic + title: Apple iPod Classic Silver + productList: + description: My Product List + name: Electronics + public: true + title: My Electronics Wish List + type: wish_list + public: true + purchasedQuantity: 0 + quantity: 0 + type: product + productName: Apple iPod Classic + quantity: 0 + shipmentId: 12345rdsghfjh + shippingItemId: 47568ghfhjgkg + tax: 0 + taxBasis: 0 + taxClassId: STATE + taxRate: 0 + productSubTotal: 0 + productTotal: 0 + shipments: + - adjustedMerchandizeTotalTax: 0 + adjustedShippingTotalTax: 0 + gift: true + giftMessage: Happy Birthday + merchandizeTotalTax: 0 + productSubTotal: 0 + productTotal: 0 + shipmentId: '1200' + shipmentNo: '3' + shipmentTotal: 0 + shippingAddress: + address1: 10 Presidential Way + city: string + countryCode: US + firstName: John + fullName: John M. Smith + id: abfTWMDZOgi3JPzkHjv9IhmziI + lastName: Smith + phone: '123450003' + postalCode: '01827' + salutation: Mr. + stateCode: MA + shippingMethod: + c_storePickupEnabled: true + description: Ship using FEDEX + externalShippingMethod: FEDEX + id: '1200' + name: John Smith + price: 0 + shippingPromotions: + - calloutMsg: Callout Message + promotionId: 123452768sdfgh + promotionName: Special Promotion + shippingStatus: not_shipped + shippingTotal: 0 + shippingTotalTax: 0 + taxTotal: 0 + trackingNumber: 89e980-562489-54ifsdgj + shippingItems: + - adjustedTax: 0 + basePrice: 0 + itemId: 2345245e654utjSSDFfdhh + itemText: apple-iPod-classic + price: 0 + priceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: string + type: percentage + couponCode: sadfghgjw4e56r7 + createdBy: System + creationDate: '2019-09-05T17:12:56.672Z' + custom: true + itemText: string + lastModified: '2019-09-05T17:12:56.672Z' + manual: true + price: 0 + priceAdjustmentId: asdgfhg5463798453 + promotionId: 100-7345 + promotionLink: Link to promotion + reasonCode: PRICE_MATCH + priceAfterItemDiscount: 0 + shipmentId: asghdfjghwertyu + tax: 0 + taxBasis: 0 + taxClassId: STATE + taxRate: 0 + shippingTotal: 0 + shippingTotalTax: 0 + sourceCode: '' + taxTotal: 0 + taxation: gross + total: 1 + CustomersOrdersResult: + value: + limit: 1 + data: + - adjustedMerchandizeTotalTax: 0 + adjustedShippingTotalTax: 0 + billingAddress: + address1: 10 Presidential Way + city: Woburn + countryCode: US + firstName: John + fullName: John M. Smith + id: abfTEMDZOgi3JPrkHjv9IhoziM + lastName: Smith + phone: '123450003' + postalCode: '01827' + salutation: Mr. + stateCode: MA + bonusDiscountLineItems: + - bonusProducts: + - productDescription: Bonus Product + productId: '34984327448' + productName: Extra Fluffy Bonus Product + title: Bonus Product + couponCode: BONUS + id: qhegj345ruhrfkj + maxBonusItems: 1 + promotionId: basds98295jsafi + channelType: storefront + confirmationStatus: not_confirmed + couponItems: + - code: '5634573' + couponItemId: 100-89038 + statusCode: coupon_code_already_in_basket + valid: true + creationDate: '2019-09-05T17:12:56.670Z' + currency: USD + customerInfo: + c_familyStatus: string + customerId: abfTEMDZOgi3JPrkHjv9IhoziM + customerName: John Smith + customerNo: '00010009' + email: jsmith@demandware.com + exportStatus: not_exported + externalOrderStatus: string + giftCertificateItems: + - amount: 0 + giftCertificateItemId: '901' + message: Preferred Customer + recipientEmail: jsmith@demandware.com + recipientName: John Smith + senderName: Jane Smith + shipmentId: 678934jsadLHY5 + lastModified: '2019-09-05T17:12:56.670Z' + merchandizeTotalTax: 0 + orderPriceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: asdfgh4567 + type: percentage + couponCode: 2345-009 + createdBy: System + creationDate: '2019-09-05T17:12:56.670Z' + custom: true + itemText: string + lastModified: '2019-09-05T17:12:56.670Z' + manual: true + price: 0 + priceAdjustmentId: 324545673fgjghj + promotionId: 1000-7654 + promotionLink: link to promotion + reasonCode: PRICE_MATCH + orderTotal: 0 + paymentInstruments: + - amount: 0 + authorizationStatus: + code: AUTH + message: Authorizing + status: 0 + bankRoutingNumber: string + maskedGiftCertificateCode: string + paymentCard: + cardType: Visa + creditCardExpired: false + creditCardToken: sadjklfajkgae + expirationMonth: 12 + expirationYear: 2019 + holder: John + issueNumber: '389342643978' + maskedNumber: '**************53' + numberLastDigits: '8753' + validFromMonth: 4 + validFromYear: 2015 + paymentInstrumentId: creditCard + paymentMethodId: credit + paymentStatus: not_paid + productItems: + - adjustedTax: 0 + basePrice: 0 + bonusDiscountLineItemId: string + bonusProductLineItem: true + bundledProductItems: + - quantity: 10 + gift: true + giftMessage: string + inventoryId: string + itemId: string + itemText: string + optionItems: + - adjustedTax: 0 + basePrice: 110 + bonusDiscountLineItemId: dsklgladsjkq349857 + bonusProductLineItem: true + bundledProductItems: + - quantity: 10 + gift: true + giftMessage: Happy Birthday + inventoryId: '258963' + itemId: apple-ipod-classic + itemText: Apple iPod Classic + optionId: 34526hjyuGGH56 + optionItems: + - optionId: sdiughsdjkfgoqtuy + optionValueId: '1564897654' + optionValueId: string + price: 0 + priceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: 34526hjyuGGH56 + type: percentage + couponCode: '109475' + createdBy: System + creationDate: '2019-09-05T17:12:56.670Z' + custom: true + itemText: '' + lastModified: '2019-09-05T17:12:56.670Z' + manual: true + price: 0 + priceAdjustmentId: '1597563' + promotionId: '963852' + promotionLink: link to promotion + reasonCode: PRICE_MATCH + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: apple-ipod-classic + productListItem: + id: 2345245e654utjSSDFfdhh + priority: 0 + productDetailsLink: + productDescription: apple-ipod-classic + productId: apple-ipod-classic + productName: Apple iPod Classic + title: Apple iPod Classic Silver + productList: + description: My Product List + name: Electronics + public: true + title: My Electronics Wish List + type: wish_list + public: true + purchasedQuantity: 0 + quantity: 0 + type: product + productName: Apple iPod Classic + quantity: 0 + shipmentId: 12345rdsghfjh + shippingItemId: 47568ghfhjgkg + tax: 0 + taxBasis: 0 + taxClassId: STATE + taxRate: 0 + price: 0 + priceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: string + type: percentage + couponCode: sadfghgjw4e56r7 + createdBy: System + creationDate: '2019-09-05T17:12:56.672Z' + custom: true + itemText: string + lastModified: '2019-09-05T17:12:56.672Z' + manual: true + price: 0 + priceAdjustmentId: asdgfhg5463798453 + promotionId: 100-7345 + promotionLink: Link to promotion + reasonCode: PRICE_MATCH + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: string + productListItem: + id: string + priority: 0 + productDetailsLink: + productDescription: apple-ipod-classic + productId: apple-ipod-classic + productName: Apple iPod Classic + title: Apple iPod Classic Silver + productList: + description: My Product List + name: Electronics + public: true + title: My Electronics Wish List + type: wish_list + public: true + purchasedQuantity: 0 + quantity: 0 + type: product + productName: Apple iPod Classic + quantity: 0 + shipmentId: 12345rdsghfjh + shippingItemId: 47568ghfhjgkg + tax: 0 + taxBasis: 0 + taxClassId: STATE + taxRate: 0 + productSubTotal: 0 + productTotal: 0 + shipments: + - adjustedMerchandizeTotalTax: 0 + adjustedShippingTotalTax: 0 + gift: true + giftMessage: Happy Birthday + merchandizeTotalTax: 0 + productSubTotal: 0 + productTotal: 0 + shipmentId: '1200' + shipmentNo: '3' + shipmentTotal: 0 + shippingAddress: + address1: 10 Presidential Way + city: string + countryCode: US + firstName: John + fullName: John M. Smith + id: abfTWMDZOgi3JPzkHjv9IhmziI + lastName: Smith + phone: '123450003' + postalCode: '01827' + salutation: Mr. + stateCode: MA + shippingMethod: + c_storePickupEnabled: true + description: Ship using FEDEX + externalShippingMethod: FEDEX + id: '1200' + name: John Smith + price: 0 + shippingPromotions: + - calloutMsg: Callout Message + link: link to shipping promotions + promotionId: 123452768sdfgh + promotionName: Special Promotion + shippingStatus: not_shipped + shippingTotal: 0 + shippingTotalTax: 0 + taxTotal: 0 + trackingNumber: 89e980-562489-54ifsdgj + shippingItems: + - adjustedTax: 0 + basePrice: 0 + itemId: 2345245e654utjSSDFfdhh + itemText: apple-iPod-classic + price: 0 + priceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: string + type: percentage + couponCode: sadfghgjw4e56r7 + createdBy: System + creationDate: '2019-09-05T17:12:56.672Z' + custom: true + itemText: string + lastModified: '2019-09-05T17:12:56.672Z' + manual: true + price: 0 + priceAdjustmentId: asdgfhg5463798453 + promotionId: 100-7345 + promotionLink: Link to promotion + reasonCode: PRICE_MATCH + priceAfterItemDiscount: 0 + shipmentId: asghdfjghwertyu + tax: 0 + taxBasis: 0 + taxClassId: STATE + taxRate: 0 + shippingStatus: not_shipped + shippingTotal: 0 + shippingTotalTax: 0 + sourceCode: '' + status: created + taxTotal: 0 + taxation: gross + offset: 0 + total: 1 + UpdatePasswordBody: + value: + currentPassword: 01dpass + password: newpass + CustomerPaymentInstrumentBody: + value: + paymentCard: + expirationYear: 2027 + expirationMonth: 7 + validFromMonth: 8 + validFromYear: 2007 + issueNumber: i117 + number: '1234567' + holder: John Smith + cardType: MasterCard + giftCertificateCode: gift_code7 + paymentMethodId: OCAPI_Payment_Simple + bankRoutingNumber: bankrouting3776 + getCustomerPaymentInstrumentSuccess: + value: + bankRoutingNumber: bankrouting3776 + paymentCard: + cardType: MasterCard + creditCardExpired: false + expirationMonth: 7 + expirationYear: 2027 + holder: John Smith + issueNumber: i117 + maskedNumber: '***4567' + numberLastDigits: '4567' + validFromMonth: 8 + validFromYear: 2007 + paymentMethodId: OCAPI_Payment_Simple + paymentInstrumentId: cdOLciWbOsYl6aaadkwcsx9xHH + customerProductListResult: + value: + limit: 1 + data: + - coRegistrant: + email: janedoe@example.com + firstName: Jane + lastName: Doe + role: Bride + creationDate: '2019-10-18T22:06:28.965Z' + currentShippingAddressInfo: + addressId: home_address + title: home_address, John Murphy, Burlington + customerProductListItems: + - id: 30f35c187ea255ccb633c3ba11 + priority: 4 + productId: SimpleProduct + public: false + purchasedQuantity: 0 + quantity: 2 + type: product + postEventShippingAddressInfo: + addressId: home_address + title: home_address, John Murphy, Burlington + productListShippingAddress: + addressId: home_address + city: Burlington + firstName: John + lastName: Murphy + name: OurProductList + registrant: + email: johndoe@example.com + firstName: John + lastName: Doe + role: Groom + lastModified: '2019-10-18T22:06:28.971Z' + description: a productlist + event: + city: any city + country: USA + type: product_list_event + id: 8b04014a9d6e5dbae542004824 + public: false + type: wish_list + total: 1 + PostCustomerProductListBody: + value: + coRegistrant: + email: janedoe@example.com + firstName: Jane + lastName: Doe + role: Bride + creationDate: '2019-10-18T22:06:28.965Z' + description: our productlist + event: + city: Washington + country: US + date: '2019-09-05T17:12:56.670Z' + state: DC + type: Wedding + id: bcedkiWbxCM2MaaadkRhB2IBzM + lastModified: '2019-10-18T22:06:28.971Z' + name: OurProductList + public: true + registrant: + email: johndoe@example.com + firstName: John + lastName: Doe + role: Groom + type: wish_list + customerProductList: + value: + coRegistrant: + email: janedoe@example.com + firstName: Jane + lastName: Doe + role: Bride + creationDate: '2019-10-18T22:06:28.965Z' + currentShippingAddressInfo: + addressId: home_address + title: home_address, John Murphy, Burlington + description: our productlist + event: + city: Washington + country: US + date: '2019-09-05T17:12:56.670Z' + state: DC + type: Wedding + id: bcedkiWbxCM2MaaadkRhB2IBzM + lastModified: '2019-10-18T22:06:28.971Z' + name: OurProductList + postEventShippingAddressInfo: + addressId: home_address + title: home_address, John Murphy, Burlington + productListShippingAddress: + addressId: home_address + city: Burlington + firstName: John + lastName: Murphy + public: false + registrant: + email: johndoe@example.com + firstName: John + lastName: Doe + role: Groom + shippingAddressInfo: + addressId: me + title: me, John Doe, Woburn + type: wish_list + getCustomerProductListByListId: + value: + coRegistrant: + email: janedoe@example.com + firstName: Jane + lastName: Doe + role: Bride + creationDate: '2019-10-18T22:06:28.965Z' + currentShippingAddressInfo: + addressId: home_address + title: home_address, John Murphy, Burlington + customerProductListItems: + - id: 30f35c187ea255ccb633c3ba11 + priority: 4 + productId: SimpleProduct + public: false + purchasedQuantity: 0 + quantity: 2 + type: product + description: our productlist + event: + city: Washington + country: US + date: '2019-09-05T17:12:56.670Z' + state: DC + type: Wedding + id: bcedkiWbxCM2MaaadkRhB2IBzM + lastModified: '2019-10-18T22:06:28.971Z' + name: OurProductList + public: true + registrant: + email: johndoe@example.com + firstName: John + lastName: Doe + role: Groom + type: wish_list + UpdateCustomerProductListByListIdBody: + value: + description: Description + updateCustomerProductListByListId: + value: + coRegistrant: + email: janedoe@example.com + firstName: Jane + lastName: Doe + role: Bride + creationDate: '2019-10-18T22:06:28.965Z' + currentShippingAddressInfo: + addressId: home_address + title: home_address, John Murphy, Burlington + customerProductListItems: + - id: 30f35c187ea255ccb633c3ba11 + priority: 4 + productId: SimpleProduct + public: false + purchasedQuantity: 0 + quantity: 2 + type: product + description: Description + event: + city: Washington + country: US + date: '2019-09-05T17:12:56.670Z' + state: DC + type: Wedding + id: bcedkiWbxCM2MaaadkRhB2IBzM + lastModified: '2019-10-18T22:06:28.971Z' + name: OurProductList + public: true + registrant: + email: johndoe@example.com + firstName: John + lastName: Doe + role: Groom + type: wish_list + UpdateCustomerProductListItemBody: + value: + id: 1d447daa4d25805fd682bd4ce1 + priority: 4 + productId: RedDress1 + public: true + purchasedQuantity: 0 + quantity: 2 + type: product + updateCustomerProductListItemSuccess: + value: + id: 1d447daa4d25805fd682bd4ce1 + priority: 4 + productId: RedDress1 + public: true + purchasedQuantity: 0 + quantity: 2 + type: product + getCustomerProductListItemSuccess: + value: + id: 1d447daa4d25805fd682bd4ce1 + priority: 4 + productId: RedDress1 + product: + id: RedDress1 + imageGroups: + - images: + - alt: ALT master detail + link: https://example.com/foo/bar/master_detail.jpg + title: TITLE master detail + viewType: detail + - images: + - alt: ALT master swatch + link: https://example.com/foo/bar/master_swatch.jpg + title: TITLE master swatch + viewType: swatch + - images: + - alt: ALT master thumbnail + link: https://example.com/foo/bar/master_thumbnail.jpg + title: TITLE master thumbnail + viewType: thumbnail + inventories: + - ats: 0 + backorderable: false + id: RedDress1Inventory + orderable: false + preorderable: false + stockLevel: 0 + minOrderQuantity: 1 + price: 99.99 + stepQuantity: 1 + public: true + purchasedQuantity: 0 + quantity: 2 + type: product + CustomerProductListItemBody: + value: + productId: RedDress1 + id: '1' + purchasedQuantity: 0 + priority: 3 + quantity: 4 + public: false + type: product + productListsResultExample: + value: + limit: 3 + data: + - description: our productlist + id: f4682729817ee215acd3a1a8b4 + name: OurProductList + title: OurProductList + type: wish_list + - description: something + id: b985bea3aaae7702c0b692c65c + name: OurProductList + title: OurProductList + type: wish_list + - description: our productlist + id: 95aa60b8c681ad5431cb4c5bfa + name: OurProductList + title: OurProductList + type: wish_list + total: 3 + getPublicProductListsBySearchTerm401: + value: + title: Invalid Access Token + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token + detail: The request is unauthorized, the access token is invalid. + accessToken: iI6IjEiLCJhbGciOiJIUzI1NiIsInR5cCI6Ik + publicProductListItemsExample: + value: + id: 023513f915fad06573f330fb0d + priority: 0 + product: + id: RedDress1 + imageGroups: + - images: + - alt: ALT master detail + link: https://example.com/foo/bar/master_detail.jpg + title: TITLE master detail + viewType: detail + - images: + - alt: ALT master swatch + link: https://example.com/foo/bar/master_swatch.jpg + title: TITLE master swatch + viewType: swatch + - images: + - alt: ALT master thumbnail + link: https://example.com/foo/bar/master_thumbnail.jpg + title: TITLE master thumbnail + viewType: thumbnail + inventories: + - ats: 0 + backorderable: false + id: RedDress1Inventory + orderable: false + preorderable: false + stockLevel: 0 + minOrderQuantity: 1 + price: 99.99 + stepQuantity: 1 + type: product diff --git a/apis/customers-oas/shopper-customers-oas-1.0.52/shopper-customers-oas-v1-public.yaml b/apis/customers-oas/shopper-customers-oas-1.0.52/shopper-customers-oas-v1-public.yaml new file mode 100644 index 00000000..43538111 --- /dev/null +++ b/apis/customers-oas/shopper-customers-oas-1.0.52/shopper-customers-oas-v1-public.yaml @@ -0,0 +1,6143 @@ +openapi: 3.0.3 +info: + title: Shopper Customers + version: v1 + description: |- + # API Overview + + The Shopper Customers API enables you to develop functionality that lets customers log in, and manage their profiles and product lists. Profile management includes ability for shoppers to add or modify addresses and payment methods, and add or modify products to wishlists or favorites. Commerce Cloud provides a rich set of Authentication APIs that include logging in guest shoppers, registered shoppers, agents on behalf of customers and a trusted system authentication on behalf of customers. In all authentication scenarios involving customers, a JSON Web Token (JWT) is generated in Commerce Cloud. Using the JWT, customers can access other Shopper API resources like Orders and Baskets. The application must refresh the JWT every 30 minutes to save the shopper activity (for example, retain products in a shopper's cart) for prolonged periods of time. + + ## Authentication & Authorization + + The client requesting the customer information must have access to the Customer and Product List resources. The API requests pass a system-to-system bearer token in the header of the request. For the trusted system API, the trusted client must first authenticate against Account manager to log in on behalf of a customer. + + For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + ### Register a New Customer + + In this use case, a customer who is browsing on a commerce shopping app built using B2C Commerce APIs would like to create a customer profile, so that they can track their order when logged in on the next visit. + + The API flow is shown in the following diagram: + + ![b2c-commerce-shopper-customers-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-customers-screenshot-1.png) + + 1. The shopper opens the shopping app. + 2. Request an access token from SLAS. For details, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. + 3. The SLAS API responds with the shopper access token (JWT). + 4. The shopper adds a product to their basket. + 5. Use the Shopper Baskets API to create a basket. The shopper JWT from SLAS is supplied in the authorization header. + 6. Save the basket with a registered user customer ID (even though the shopper is still a guest). The shopper JWT from SLAS is supplied in the authorization header. + 7. The shopper creates a profile. + 8. Use the Shopper Customers API to register the customer. + + ### Authenticate a Trusted System on Behalf of a Customer + + In this cross-cloud use case, a Experience Cloud user places an order on Commerce Cloud from the Experience Cloud using the platform APIs. The Experience Cloud app is a trusted system that has a trusted relationship with Commerce Cloud using the OAuth client credentials grant against the Commerce Cloud Account Manager. The Experience Cloud user logs in with a redirect to Salesforce IDM and after successful login, the client application is able to call B2C Commerce APIs on behalf of the customer. Commerce Cloud returns a JWT for the Experience Cloud user and the Experience Cloud user is able to place orders on Commerce Cloud. + + The API flow is shown in the following diagram: + + ![b2c-commerce-shopper-customers-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-customers-screenshot-2.png) + + ### Reset Customer Password + + In this use case, a shopper who is browsing on a commerce shopping app, built using B2C Commerce APIs, requests to reset their password. The app verifies the shopper's credentials and returns a 404 if verification fails. Otherwise, when the shopper requests their password to be reset, the app first creates a password reset token using the shopper’s login ID, and an account manager token (obtained using the client credentials grant). After the app has the password reset token, the app can prompt the shopper for new password. Any app-level customization, such as sending a password reset email, can be done at this step. Finally, the app calls the reset endpoint to reset the customer’s password. + + ![b2c-commerce-shopper-customers-screenshot-3.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-customers-screenshot-3.png) + + ### Update Shopper LoginId + + In this use case, in order to update a shopper's loginId, the PATCH /customers/{customerId} call can be used starting B2C Commerce Cloud GA release 24.7. The new field in the request called `currentPassword` is mandatory and needs to match the shopper's existing password. If this field is not provided or does not match the existing shopper password when trying to update loginId, a HTTP 400 rsponse will be returned. If the loginId field is not sent in the PATCH request body, the `currentPassword` field is not required. + **Note: After the `loginId` is updated, a new SLAS token must be fetched for the shopper for subsequent calls. + + ### Use Hooks + + For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/customer/shopper-customers/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/customers: + post: + summary: Register a new customer. + description: Mandatory data includes the credentials, profile last name, and email. This requires a JSON Web Token (JWT) which needs to be obtained using the POST /customers/auth API with type "guest", or from the Shopper Login (SLAS) API. The return type object for this endpoint is a common customer object shared by multiple Shopper Customer endpoints. In this case, all customer object details are returned, but attributes that are not included in the response, although they might be part of the customer object, are ignored. For example, although address information is included in the customer object, it is not displayed in the response for this endpoint and is ignored. + operationId: registerCustomer + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerRegistration' + examples: + CustomerRegistrationBody: + $ref: '#/components/examples/CustomerRegistrationBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + customerRegistrationResponse: + $ref: '#/components/examples/customerRegistrationResponse' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '401': + description: | + In the case of type credentials, the username is unknown or the password does not match. In the case of type session, the session is no longer active or the dwsecuretoken value is invalid. In both cases, the customer is disabled or locked. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer401: + $ref: '#/components/examples/registerCustomer401' + security: + - ShopperToken: + - sfcc.shopper-customers.register + /organizations/{organizationId}/customers/password/actions/reset: + post: + summary: Reset customer password after obtaining a reset token. + description: This is the second step in the reset customer password flow, in which a customer password is reset by providing new credentials along with a reset token. This call should be preceded by a call to the /create-reset-token endpoint. + operationId: resetPassword + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPasswordRequest' + examples: + ResetPasswordBody: + $ref: '#/components/examples/ResetPasswordBody' + required: true + responses: + '204': + description: Reset password successful. No Content. + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + security: + - AmOAuth2: + - sfcc.shopper-customers.login + /organizations/{organizationId}/customers/password/actions/create-reset-token: + post: + summary: Get reset password token. + description: This is the first step in the reset customer password flow, in which a password reset token is requested for future use to reset a customer password. This call should be followed by a call to the /reset endpoint. + operationId: getResetPasswordToken + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPasswordTokenRequest' + examples: + ResetPasswordTokenBody: + $ref: '#/components/examples/ResetPasswordTokenBody' + required: true + responses: + '200': + description: Reset password token generated and returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPasswordToken' + examples: + getResetPasswordTokenSuccess: + $ref: '#/components/examples/getResetPasswordTokenSuccess' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + security: + - AmOAuth2: + - sfcc.shopper-customers.login + /organizations/{organizationId}/customers/external-profile: + get: + summary: Gets the new external profile for a customer. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: getExternalProfile + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/externalId' + - $ref: '#/components/parameters/authenticationProviderId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerExternalProfile' + examples: + getExternalProfileSuccess: + $ref: '#/components/examples/getExternalProfileSuccess' + '400': + description: | + Customer ExternalId URL parameter is not valid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getExternalProfile400: + $ref: '#/components/examples/getExternalProfile400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getExternalProfile404: + $ref: '#/components/examples/getExternalProfile404' + security: + - AmOAuth2: + - sfcc.shopper-customers.login + post: + summary: Register a new external profile for a customer. This endpoint accepts a guest customer ShopperToken (JWT) only. + operationId: registerExternalProfile + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerExtProfileRequest' + examples: + ExternalProfileBody: + $ref: '#/components/examples/ExternalProfileBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerExternalProfile' + examples: + registerExternalProfileSuccess: + $ref: '#/components/examples/registerExternalProfileSuccess' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '401': + description: | + In the case of type credentials, the username is unknown or the password does not match. In the case of type session, the session is no longer active or the dwsecuretoken value is invalid. In both cases, the customer is disabled or locked. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer401: + $ref: '#/components/examples/registerCustomer401' + security: + - ShopperToken: + - sfcc.shopper-customers.register + /organizations/{organizationId}/customers/{customerId}: + get: + summary: Get a customer and all existing addresses and payment instruments associated with the requested customer. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: getCustomer + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + getCustomerSuccess: + $ref: '#/components/examples/getCustomerSuccess' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount + - sfcc.shopper-myaccount.rw + patch: + summary: Update a customer. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: updateCustomer + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + UpdateCustomerBody: + $ref: '#/components/examples/UpdateCustomerBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Customer' + examples: + updateCustomerResponse: + $ref: '#/components/examples/updateCustomerResponse' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.rw + /organizations/{organizationId}/customers/{customerId}/addresses: + post: + summary: Create a new address with the given name for the customer. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: createCustomerAddress + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + CustomerAddressBody: + $ref: '#/components/examples/CustomerAddressBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + customerAddressResponse: + $ref: '#/components/examples/customerAddressResponse' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.addresses.rw + /organizations/{organizationId}/customers/{customerId}/addresses/{addressName}: + get: + summary: Retrieve a customer's address by address name. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: getCustomerAddress + parameters: + - $ref: '#/components/parameters/addressName' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + customerAddressResponse: + $ref: '#/components/examples/customerAddressResponse' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.addresses + - sfcc.shopper-myaccount.addresses.rw + delete: + summary: Delete a customer's address by address name. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: removeCustomerAddress + parameters: + - $ref: '#/components/parameters/addressName' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: No content + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.addresses.rw + patch: + summary: Update a customer's address by address name. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: updateCustomerAddress + parameters: + - $ref: '#/components/parameters/addressName' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + CustomerAddressResponseBody: + $ref: '#/components/examples/CustomerAddressResponseBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAddress' + examples: + customerAddressResponse: + $ref: '#/components/examples/customerAddressResponse' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.addresses.rw + /organizations/{organizationId}/customers/{customerId}/baskets: + get: + summary: Get the baskets for a customer. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: getCustomerBaskets + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/BasketsResult' + examples: + customerBasketsResult: + $ref: '#/components/examples/customerBasketsResult' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.baskets + /organizations/{organizationId}/customers/{customerId}/orders: + get: + summary: Return a page list of all the customer's orders. The default page size is 10. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: getCustomerOrders + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/crossSites' + - $ref: '#/components/parameters/from' + - $ref: '#/components/parameters/until' + - $ref: '#/components/parameters/status' + - $ref: '#/components/parameters/siteId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 10 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 10. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerOrderResult' + examples: + CustomersOrdersResult: + $ref: '#/components/examples/CustomersOrdersResult' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.orders + /organizations/{organizationId}/customers/{customerId}/password: + put: + summary: Update a customer's password. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: updateCustomerPassword + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordChangeRequest' + examples: + UpdatePasswordBody: + $ref: '#/components/examples/UpdatePasswordBody' + required: true + responses: + '204': + description: No content + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-customers.login + /organizations/{organizationId}/customers/{customerId}/payment-instruments: + post: + summary: Add a payment instrument to the customer information. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: createCustomerPaymentInstrument + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerPaymentInstrumentRequest' + examples: + CustomerPaymentInstrumentBody: + $ref: '#/components/examples/CustomerPaymentInstrumentBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerPaymentInstrument' + examples: + getCustomerPaymentInstrumentSuccess: + $ref: '#/components/examples/getCustomerPaymentInstrumentSuccess' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.paymentinstruments.rw + /organizations/{organizationId}/customers/{customerId}/payment-instruments/{paymentInstrumentId}: + get: + summary: Retrieve a customer's payment instrument by its ID. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: getCustomerPaymentInstrument + parameters: + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerPaymentInstrument' + examples: + getCustomerPaymentInstrumentSuccess: + $ref: '#/components/examples/getCustomerPaymentInstrumentSuccess' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.paymentinstruments + - sfcc.shopper-myaccount.paymentinstruments.rw + delete: + summary: Delete a customer's payment instrument. This endpoint only accepts a registered customer ShopperToken (JWT). + operationId: deleteCustomerPaymentInstrument + parameters: + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: No content + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.paymentinstruments.rw + /organizations/{organizationId}/customers/{customerId}/product-lists: + get: + summary: Return all customer product lists. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: getCustomerProductLists + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductListResult' + examples: + customerProductListResult: + $ref: '#/components/examples/customerProductListResult' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists + - sfcc.shopper-myaccount.productlists.rw + post: + summary: Create a customer product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: createCustomerProductList + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductList' + examples: + PostCustomerProductListBody: + $ref: '#/components/examples/PostCustomerProductListBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductList' + examples: + customerProductList: + $ref: '#/components/examples/customerProductList' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists.rw + /organizations/{organizationId}/customers/{customerId}/product-lists/{listId}: + get: + summary: Return a customer product list for the given customer and the items in the list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: getCustomerProductList + parameters: + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductList' + examples: + getCustomerProductListByListId: + $ref: '#/components/examples/getCustomerProductListByListId' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists + - sfcc.shopper-myaccount.productlists.rw + delete: + description: Delete a customer product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: deleteCustomerProductList + parameters: + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: No content + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists.rw + patch: + summary: Change a product list. Changeable properties include name, description, and if the list is public. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: updateCustomerProductList + parameters: + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductList' + examples: + UpdateCustomerProductListByListIdBody: + $ref: '#/components/examples/UpdateCustomerProductListByListIdBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductList' + examples: + getCustomerProductListByListId: + $ref: '#/components/examples/updateCustomerProductListByListId' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists.rw + /organizations/{organizationId}/customers/{customerId}/product-lists/{listId}/items: + post: + summary: Add an item to the customer's product list. + description: "This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken.\n\nConsidered values from the request body are:\n\n- `type` → The item type to be added to the customer's product. This value is required and must be a valid type.\nlist.\n- `priority` → The priority of the item to be added to the customer's product list.\n- `public` → The flag that determines whether the item to be added to the customer's product list is public.\n- `product_id` → The ID (SKU) of the product related to the item to be added to the customer's product list. Required when item type is `product`, and must be a valid product ID and only used for product item type. Otherwise, a `ProductListProductIdMissingException` or `ProductListProductNotFoundException` is thrown. \n- `quantity` → Only used for product item type. This is the quantity of the item to be added to the customer's product list.\n\nYou can also use a custom property of the form `c_`. The custom property must correspond to a custom attribute (``) that is defined for `ProductListItem`. The value of this property must be valid for the type of custom attribute defined for `ProductListItem`." + operationId: createCustomerProductListItem + parameters: + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductListItem' + examples: + UpdateCustomerProductListItemBody: + $ref: '#/components/examples/UpdateCustomerProductListItemBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductListItem' + examples: + updateCustomerProductListItemSuccess: + $ref: '#/components/examples/updateCustomerProductListItemSuccess' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists.rw + /organizations/{organizationId}/customers/{customerId}/product-lists/{listId}/items/{itemId}: + get: + summary: Return an item of a customer product list and the actual product details such as image, availability, and price. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: getCustomerProductListItem + parameters: + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductListItem' + examples: + getCustomerProductListItemSuccess: + $ref: '#/components/examples/getCustomerProductListItemSuccess' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists + - sfcc.shopper-myaccount.productlists.rw + delete: + summary: Remove an item from a customer product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: deleteCustomerProductListItem + parameters: + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: No content + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists.rw + patch: + summary: Update an item in a customer's product list. + description: |- + This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + Considered values from the request body are: + + priority: The priority of the customer's product list item. + public: The flag that indicates if the customer's product list item is public. + quantity: The quantity of + the customer's product list item. Onlyl used for product item type. + custom properties in the form c_: The custom property + must correspond to a custom attribute () defined for ProductListItem. + The value of this property must be valid for the type of custom attribute defined for ProductListItem. + operationId: updateCustomerProductListItem + parameters: + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductListItem' + examples: + CustomerProductListItemBody: + $ref: '#/components/examples/CustomerProductListItemBody' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerProductListItem' + examples: + updateCustomerProductListItemSuccess: + $ref: '#/components/examples/updateCustomerProductListItemSuccess' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-myaccount.productlists.rw + /organizations/{organizationId}/product-lists: + get: + summary: 'Retrieve all public product lists as defined by the given search term, for example: email OR first name and last name). This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken.' + operationId: getPublicProductListsBySearchTerm + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/email' + - $ref: '#/components/parameters/firstName' + - $ref: '#/components/parameters/lastName' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PublicProductListResult' + examples: + productListsResultExample: + $ref: '#/components/examples/productListsResultExample' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '401': + description: | + Indicates that the customerId URL parameter does not match the verified customer represented by the JWT token, which is not relevant when using OAuth, or indicates that the provided new address name is already in use for the customer. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getPublicProductListsBySearchTerm401: + $ref: '#/components/examples/getPublicProductListsBySearchTerm401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-productlists + /organizations/{organizationId}/product-lists/{listId}: + get: + summary: Retrieve a public product list by ID and the items under that product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: getPublicProductList + parameters: + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PublicProductList' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '401': + description: | + Indicates that the customerId URL parameter does not match the verified customer represented by the JWT token, which is not relevant when using OAuth, or indicates that the provided new address name is already in use for the customer. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getPublicProductListsBySearchTerm401: + $ref: '#/components/examples/getPublicProductListsBySearchTerm401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-productlists + /organizations/{organizationId}/product-lists/{listId}/items/{itemId}: + get: + summary: Retrieve an item from a public product list and the actual product details such as product, image, availability, and price. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. + operationId: getProductListItem + parameters: + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/listId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PublicProductListItem' + examples: + getCustomerProductListItemSuccess: + $ref: '#/components/examples/publicProductListItemsExample' + '400': + description: | + CustomerId URL parameter does not match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + registerCustomer400: + $ref: '#/components/examples/registerCustomer400' + '401': + description: | + Indicates that the customerId URL parameter does not match the verified customer represented by the JWT token, which is not relevant when using OAuth, or indicates that the provided new address name is already in use for the customer. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getPublicProductListsBySearchTerm401: + $ref: '#/components/examples/getPublicProductListsBySearchTerm401' + '404': + description: | + Requested resource not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getCustomer404: + $ref: '#/components/examples/getCustomer404' + security: + - ShopperToken: + - sfcc.shopper-productlists +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-customers.register: Shopper Customers Register scope READONLY + sfcc.shopper-customers.login: Shopper Customers Login scope READONLY + sfcc.shopper-myaccount: Shopper MyAccount scope READONLY + sfcc.shopper-myaccount.rw: Shopper MyAccount scope + sfcc.shopper-myaccount.addresses: Shopper MyAccount Addresses scope READONLY + sfcc.shopper-myaccount.addresses.rw: Shopper MyAccount Addresses scope + sfcc.shopper-myaccount.baskets: Shopper MyAccount Baskets scope READONLY + sfcc.shopper-myaccount.orders: Shopper MyAccount Orders scope READONLY + sfcc.shopper-myaccount.paymentinstruments: Shopper MyAccount PaymentInstruments scope READONLY + sfcc.shopper-myaccount.paymentinstruments.rw: Shopper MyAccount PaymentInstruments scope + sfcc.shopper-myaccount.productlists: Shopper MyAccount ProductLists scope READONLY + sfcc.shopper-myaccount.productlists.rw: Shopper MyAccount ProductLists scope + sfcc.shopper-productlists: Shopper ProductLists scope READONLY + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-customers.register: Shopper Customers Register scope READONLY + sfcc.shopper-customers.login: Shopper Customers Login scope READONLY + sfcc.shopper-myaccount: Shopper MyAccount scope READONLY + sfcc.shopper-myaccount.rw: Shopper MyAccount scope + sfcc.shopper-myaccount.addresses: Shopper MyAccount Addresses scope READONLY + sfcc.shopper-myaccount.addresses.rw: Shopper MyAccount Addresses scope + sfcc.shopper-myaccount.baskets: Shopper MyAccount Baskets scope READONLY + sfcc.shopper-myaccount.orders: Shopper MyAccount Orders scope READONLY + sfcc.shopper-myaccount.paymentinstruments: Shopper MyAccount PaymentInstruments scope READONLY + sfcc.shopper-myaccount.paymentinstruments.rw: Shopper MyAccount PaymentInstruments scope + sfcc.shopper-myaccount.productlists: Shopper MyAccount ProductLists scope READONLY + sfcc.shopper-myaccount.productlists.rw: Shopper MyAccount ProductLists scope + sfcc.shopper-productlists: Shopper ProductLists scope READONLY + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-customers.login: Shopper Customers Login scope READONLY + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-customers.login: Shopper Customers Login scope READONLY + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + CustomerAddress: + description: Address that is associated with a shopper (billing, shipping, mailing, and so on). + properties: + address1: + description: The first address. + example: 10 Presidential Way + maxLength: 256 + type: string + address2: + description: The second address. + example: Apt-616 + maxLength: 256 + type: string + addressId: + description: The ID of the address as specified by account owner. + example: Home + maxLength: 256 + type: string + city: + description: The city. + example: New York + maxLength: 256 + type: string + companyName: + description: The company name. + example: Acme Inc + maxLength: 256 + type: string + countryCode: + description: The two-letter ISO 3166-1 (Alpha-2) country code. + example: US + maxLength: 2 + pattern: ^([A-Z][A-Z])$ + type: string + creationDate: + description: Returns the value of attribute 'creationDate'. + example: '9999-12-31T17:12:56.670Z' + format: date-time + type: string + firstName: + description: The first name. + example: John + maxLength: 256 + type: string + fullName: + description: The full name. + example: John Smith + maxLength: 256 + type: string + jobTitle: + description: The job title. + example: Supervisor + maxLength: 256 + type: string + lastModified: + description: Returns the value of attribute 'lastModified'. + example: '9999-12-31T17:12:56.670Z' + format: date-time + type: string + lastName: + description: The last name. + example: Smith + maxLength: 256 + type: string + phone: + description: The phone number. + example: 555-555-5555 + maxLength: 32 + type: string + postBox: + description: The post box. + example: '12345' + maxLength: 256 + type: string + postalCode: + description: The postal code. + example: N5 + maxLength: 256 + type: string + preferred: + description: The preferred attribute. + example: true + type: boolean + salutation: + description: The salutation. + example: Sir + maxLength: 256 + type: string + secondName: + description: The second name. + example: Smith + maxLength: 256 + type: string + stateCode: + description: The state code. + example: UT + maxLength: 256 + type: string + suffix: + description: The suffix. + example: Sr. + maxLength: 256 + type: string + suite: + description: The suite. + example: '100' + maxLength: 32 + type: string + title: + description: The title. + example: Supervisor + maxLength: 256 + type: string + required: + - addressId + - countryCode + - lastName + type: object + PaymentCard: + additionalProperties: false + description: Document representing a payment card. + type: object + properties: + cardType: + maxLength: 256 + description: The payment card type. + example: Visa + type: string + creditCardExpired: + description: A flag indicating if the credit card is expired. It is read only. + example: true + type: boolean + creditCardToken: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + example: E67TY8GQ27X + type: string + expirationMonth: + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + maxLength: 4000 + description: The masked payment card number. + example: '*********4422' + type: string + numberLastDigits: + maxLength: 4000 + description: The last digits of the payment card number. It is read only. + example: '4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month the payment card is valid from. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year the payment card is valid from. + example: 2015 + type: integer + CustomerPaymentInstrument: + type: object + properties: + bankRoutingNumber: + maxLength: 256 + type: string + description: The bank routing number. + example: KDSJHKS + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. + format: date-time + example: 253402214400 + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. + format: date-time + example: 253402214400 + maskedGiftCertificateCode: + type: string + description: The masked gift certificate code. + example: gift-code + paymentCard: + allOf: + - $ref: '#/components/schemas/PaymentCard' + description: The payment card. + paymentInstrumentId: + type: string + description: The payment instrument ID. + example: Personal + paymentMethodId: + maxLength: 256 + type: string + description: The payment method ID. Optional if a customer payment instrument ID is specified. + example: Personal + description: Method for customers to pay for the goods purchased on an ecommerce site. Payment methods include - credit card, debit card, bank account, and gift card. + Customer: + description: Person or entity who shops on Commerce Cloud storefronts by creating a shopper account in Commerce Cloud. + properties: + addresses: + description: The customer's addresses. + items: + $ref: '#/components/schemas/CustomerAddress' + type: array + authType: + description: The customer's authorization type (indicates whether the customer is a guest or a registered customer). + enum: + - guest + - registered + example: registered + type: string + birthday: + description: The customer's birthday. + format: date + type: string + companyName: + description: The customer's company name. + example: Acme + maxLength: 256 + type: string + creationDate: + description: Returns the value of attribute 'creationDate'. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + currentPassword: + description: The shopper's current password. This is only used when attempting to update a shopper's `loginId` in a PATCH call. This value is never returned in any response for security reasons, but is validated and must match shopper's existing password in order to update `loginId`. Otherwise, an HTTP 400 statusCode is returned and the `loginId` is not updated. This field and functionality is available with B2C Commerce version 24.7. + type: string + customerId: + description: The customer's number (ID). Both registered and guest customers have an customer ID. + example: dfuisydifu2342usyf + maxLength: 28 + type: string + customerNo: + description: The customer's number (ID). Only a registered customer has a customer number. + example: D0000123 + maxLength: 100 + type: string + email: + description: The customer's email address. + example: johnsmith@email.com + maxLength: 256 + type: string + enabled: + description: A flag indicating whether this customer is enabled and can log in. + example: true + type: boolean + fax: + description: The customer's fax number. The length is restricted to 32 characters. + example: 555-555-5555 + maxLength: 32 + type: string + firstName: + description: The customer's first name. + example: John + maxLength: 256 + type: string + gender: + description: The customer's gender. + example: 1 + format: int32 + type: integer + hashedLogin: + description: Represents the read-only hashed value for the `loginId` used for Einstein events. This field is available with B2C Commerce version 24.9. + example: 123927deac310a3dae382897d9e458bd92ef1d4ea5cdd327a0fcffd8426dfbb5 + type: string + jobTitle: + description: The customer's job title. + example: Supervisor + maxLength: 256 + type: string + lastLoginTime: + description: The time when the customer last logged in. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + lastModified: + description: Returns the value of attribute 'lastModified'. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + lastName: + description: The customer's last name. + example: Smith + maxLength: 256 + type: string + lastVisitTime: + description: The time when the customer last visited. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + login: + description: The customer's login. In a PATCH call, this field can only be updated by providing a valid `currentPassword` for the shopper. The `loginId` update feature is available with B2C Commerce version 24.7. + example: jsmith + maxLength: 256 + type: string + note: + description: The customer's note. + example: customer-note + type: string + paymentInstruments: + description: The customer's payment instruments. + items: + $ref: '#/components/schemas/CustomerPaymentInstrument' + type: array + phoneBusiness: + description: The customer's business phone number. + example: 555-555-5555 + maxLength: 32 + type: string + phoneHome: + description: The customer's home phone number. + example: 555-555-5555 + maxLength: 32 + type: string + phoneMobile: + description: The customer's mobile phone number. + example: 555-555-5555 + maxLength: 32 + type: string + preferredLocale: + description: The customer's preferred locale. + example: us-en + type: string + previousLoginTime: + description: The time when the customer previously logged in. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + previousVisitTime: + description: The time when the customer last visited the store. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + salutation: + description: The salutation to use for the customer. + example: Mr. + maxLength: 256 + type: string + secondName: + description: The customer's second name. + example: Smith + maxLength: 256 + type: string + suffix: + description: The customer's suffix (for example, "Jr." or "Sr."). + example: Jr. + maxLength: 256 + type: string + title: + description: The customer's title (for example, "Mrs" or "Mr"). + example: Mr. + maxLength: 256 + type: string + type: object + CustomerRegistration: + description: Document representing the registration information for a customer. + properties: + customer: + allOf: + - $ref: '#/components/schemas/Customer' + description: The customer registration information. The mandatory properties for registration are login, last name and email. + example: + email: jsmith@test.com + last_name: Smith + login: jsmith + password: + description: The login password + example: Abcd!1234 + type: string + required: + - customer + - password + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + ResetPasswordRequest: + required: + - login + - newPassword + - resetToken + type: object + properties: + resetToken: + maxLength: 4096 + type: string + description: Temporary token used to reset password. + example: R1e2s3e4t5T6o7k8e9n0 + login: + maxLength: 256 + type: string + description: The customer's login. + example: loginId + newPassword: + maxLength: 4096 + type: string + description: New password to reset to. + example: p@ssword2 + description: Document representing a reset password request. + ResetPasswordTokenRequest: + required: + - login + type: object + properties: + login: + maxLength: 256 + type: string + description: The customer's login. + example: loginId + description: Document representing a reset password token request. + ResetPasswordToken: + required: + - email + - expiresInMinutes + - login + - resetToken + type: object + properties: + login: + maxLength: 256 + type: string + description: The customer's login. + example: loginId + email: + maxLength: 256 + type: string + description: The customer's email address. + example: jdoe@customer.com + resetToken: + maxLength: 4096 + type: string + description: Temporary token generated that will be used to reset password. + example: R1e2s3e4t5T6o7k8e9n0 + expiresInMinutes: + type: integer + description: Reset token expiry (in minutes). + format: int32 + example: 30 + description: Document representing reset password token response. + CustomerExtProfileRequest: + description: Document representing the External Profile Request. + properties: + authenticationProviderId: + description: The authentication Provider Id + example: Google + minLength: 1 + type: string + email: + description: The Email of the customer. + example: s@gmail.com + minLength: 1 + type: string + externalId: + description: The ID of the customer. + example: jsmith@gmail.com + minLength: 1 + type: string + firstName: + description: The First Name of the customer. + example: John + minLength: 1 + type: string + lastName: + description: The Last Name of the customer. + example: Smith + minLength: 1 + type: string + required: + - authenticationProviderId + - externalId + type: object + CustomerExternalProfile: + type: object + required: + - customerId + allOf: + - $ref: '#/components/schemas/CustomerExtProfileRequest' + properties: + customerId: + description: The Id of the Customer + example: '1234' + minLength: 1 + type: string + description: The Document representing the External Profile of a Customer. + CountryCode: + pattern: ^[A-Z][A-Z]$ + description: A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. + example: US + type: string + OrderAddress: + description: Document representing an order address. + properties: + address1: + description: The first address line. + example: 45 Main Rd. + type: string + address2: + description: The second address line. + example: Apartment 204 + type: string + city: + description: The city. + example: Boston + type: string + companyName: + description: The company name. + example: Salesforce + type: string + countryCode: + $ref: '#/components/schemas/CountryCode' + firstName: + description: The first name. + example: Max + type: string + fullName: + description: The full name. + example: Max Mustermann + type: string + id: + description: The ID of the address. + example: me + type: string + jobTitle: + description: The job title. + example: Software Engineer + type: string + lastName: + description: The last name. + example: Mustermann + type: string + phone: + description: The phone number. + example: '6175555555' + type: string + postBox: + description: The post office box. + example: PO BOX 109 + type: string + postalCode: + description: The postal code. + example: '05408' + type: string + salutation: + description: The salutation. + example: Mr + type: string + secondName: + description: The second name. + type: string + stateCode: + description: The state code. + example: MA + type: string + suffix: + description: The suffix. + example: Sr + type: string + suite: + description: The suite. + example: 24A + type: string + title: + description: The title. + example: Dr. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + ProductDetailsLink: + description: Document representing a link to the resource for product details. + properties: + productDescription: + description: The description of the product. + example: Nintendo DS revolutionizes handheld gameplay. + type: string + productId: + $ref: '#/components/schemas/ProductId' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + title: + description: The link title. + example: Nintendo DS Game Console + type: string + type: object + required: + - productId + additionalProperties: false + BonusDiscountLineItem: + description: Document representing a bonus discount line item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + bonusProducts: + description: The bonus products the customer can choose from. + type: array + items: + $ref: '#/components/schemas/ProductDetailsLink' + couponCode: + description: The coupon code that triggered the promotion, if applicable. + example: 5ties + type: string + id: + description: The ID of the line item. It is read only. + example: 91f4dd8bfa0653d58b7783b04f + type: string + maxBonusItems: + format: int32 + description: The maximum number of bonus items the user can select for this promotion. + type: integer + promotionId: + description: The ID of the promotion that triggered the creation of the line item. + example: Buy1Get2 + type: string + CouponItemId: + minLength: 1 + type: string + description: The coupon item ID + example: d4c9c0141e9c74c150225580f3 + CouponItem: + description: Document representing a coupon item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + code: + maxLength: 256 + description: The coupon code. + example: 5ties + type: string + couponItemId: + description: The coupon item ID. It is read only. + allOf: + - $ref: '#/components/schemas/CouponItemId' + statusCode: + description: The status of the coupon item. It is read only. + example: no_applicable_promotion + enum: + - coupon_code_already_in_basket + - coupon_code_already_redeemed + - coupon_code_unknown + - coupon_disabled + - redemption_limit_exceeded + - customer_redemption_limit_exceeded + - timeframe_redemption_limit_exceeded + - no_active_promotion + - coupon_already_in_basket + - no_applicable_promotion + - applied + - adhoc + type: string + valid: + description: |- + A flag indicating whether the coupon item is valid. A coupon line item is valid if + the status code is "applied" or "no_applicable_promotion". It is read only. + example: true + type: boolean + required: + - code + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + CustomerInfo: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: The customer information for guest or logged-in customers. + type: object + properties: + customerId: + maxLength: 100 + description: The customer ID. It is read only. + example: abMKqMaNYOBMnNdDNzyC5oNTi5 + type: string + customerName: + description: The customer name. + example: Max Mustermann + type: string + customerNo: + maxLength: 100 + description: The customer number. + example: '0002352' + type: string + email: + description: The customer's email address. + example: no-reply@salesforce.com + type: string + required: + - email + GiftCertificateItemId: + example: 629dea6e7b61e58da629b57b21 + type: string + minLength: 1 + GiftCertificateItem: + description: A gift certificate item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The gift certificate item amount. + example: 20 + type: number + giftCertificateItemId: + description: The item ID. It is read only. + allOf: + - $ref: '#/components/schemas/GiftCertificateItemId' + message: + maxLength: 4000 + description: The gift certificate message. + example: Birthday present. + type: string + recipientEmail: + minLength: 1 + description: The recipient email. + example: no-reply@salesforce.com + type: string + recipientName: + description: The recipient's name. + example: Daniel Mustermann + type: string + senderName: + description: The sender's name. + example: Max Mustermann + type: string + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + required: + - amount + - recipientEmail + GroupedTaxItem: + description: Document representing the grouped tax item. + type: object + properties: + taxRate: + description: The tax rate. It is read only. + type: number + format: double + example: 0.1 + taxValue: + description: The summed up tax total for the tax rate. It is read only. + type: number + format: double + example: 10.03 + additionalProperties: false + Discount: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: Document representing a discount. + type: object + properties: + amount: + format: double + description: The discount amount for discount types that define specific discount amounts. It is read only. + example: 130.88 + type: number + percentage: + format: double + description: The discount percent for discount types that define percentage discounts. It is read only. + example: 0.19 + type: number + priceBookId: + description: The price book ID that is used with some types. It is read only. + example: usd-sale-prices + type: string + type: + description: The type of discount. It is read only. + example: fixed_price + enum: + - percentage + - fixed_price + - amount + - free + - price_book_price + - bonus + - total_fixed_price + - bonus_choice + - percentage_off_options + type: string + required: + - type + PriceAdjustmentId: + example: ba248424e3eee797f062161f8b + type: string + PriceAdjustment: + description: |- + Document representing a price adjustment within a basket or order. Price adjustments + can be assigned at the order, product, or shipping level. + properties: + appliedDiscount: + description: |- + Details describing the discount this price adjustment is based on. For adjustments + not based on a discount, this value is null. + allOf: + - $ref: '#/components/schemas/Discount' + couponCode: + description: |- + The coupon code of the coupon this price adjustment is based on. For adjustments + not based on a coupon, this value is null. It is read only. + example: 5ties + type: string + createdBy: + description: The user who created the price adjustment. It is read only. + example: Support + type: string + creationDate: + description: The timestamp when the price adjustment was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + custom: + description: |- + A flag indicating whether this price adjustment was created by custom logic. This + flag is set to true unless the price adjustment was created by the promotion + engine. + example: true + type: boolean + itemText: + description: The text describing the item. + type: string + lastModified: + description: The timestamp when the price adjustment was last modified. It is read only. + example: '2021-02-25T09:58:08.715Z' + type: string + format: date-time + manual: + description: |- + A flag indicating whether this price adjustment was created by a manual process. + If the price adjustment was created by the promotion engine, this value is always + false. + example: true + type: boolean + price: + format: double + description: The adjustment price. It is read only. + example: 120.88 + type: number + priceAdjustmentId: + description: The price adjustment ID. It is read only. + allOf: + - $ref: '#/components/schemas/PriceAdjustmentId' + promotionId: + description: |- + The ID of the related promotion. Custom price adjustments + can be assigned any promotion ID so long it is not + used by a price adjustment belonging to the same item, + and is not used by a promotion defined in the promotion engine. + If not specified, a promotion ID is generated. + type: string + reasonCode: + description: The reason for the price adjustment. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + Status: + description: Document representing an object status. + properties: + code: + description: The status code. + type: string + message: + description: The status message. + type: string + status: + format: int32 + description: |- + The status. + For more information on the status values see Status.OK and Status.ERROR. + type: integer + type: object + additionalProperties: false + PaymentInstrumentId: + description: The payment instrument ID + example: ba248424e3eee797f062162f8b + type: string + OrderPaymentInstrument: + description: Document representing an order payment instrument. + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + authorizationStatus: + description: The authorization status of the payment transaction. It is read only. + allOf: + - $ref: '#/components/schemas/Status' + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '12030000' + type: string + maskedGiftCertificateCode: + description: The gift certificate code with the last 4 characters not masked. + example: '******Gzzy' + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/PaymentCard' + paymentInstrumentId: + description: The payment instrument ID. It is read only. + allOf: + - $ref: '#/components/schemas/PaymentInstrumentId' + paymentMethodId: + maxLength: 256 + description: The payment method ID. It is read only. + example: CREDIT_CARD + type: string + type: object + ProductItem: + description: Document representing a product item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including + adjustments. If the taxation policy is net, it doesn't include tax. If the + taxation policy is gross, it includes tax. It is read only. + example: 130 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. + example: true + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. + example: inventory + type: string + itemId: + description: |- + The product item ID. Use it to identify this item when updating its quantity or + creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not + including order-level adjustments or shipping charges. If the taxation policy is + net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 20.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation + policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 15.5 + type: number + productId: + maxLength: 100 + description: The ID of the product. + example: nintendo-ds-console + type: string + productListItem: + description: |- + If this product line item was added from a product list, this value is a reference + to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A + related shipping item represents a surcharge applied to individual products using + a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax for the product item, not including price adjustments. It is read only. + example: 0.3 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this product item. It is read only. + example: 30 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.9 + type: number + ItemId: + description: The item id. + example: 430ef5aad3a24de59378458434 + type: string + OptionItem: + description: |- + An option item represents an optional purchase related to a product item, and is always associated with that parent product + item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + example: ba248414e3eee797f062162f8b + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. It is read only. + example: false + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: false + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. It is read only. + example: inventory + type: string + itemId: + description: The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + example: The item text. + type: string + optionId: + maxLength: 256 + description: The ID of the option. It is read only. + example: consoleWarranty + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + optionValueId: + maxLength: 256 + description: The ID of the option value. It is read only. + example: '000' + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + example: 150.99 + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not including order-level adjustments or + shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated order-level adjustments, but not + including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 40.5 + type: number + productId: + $ref: '#/components/schemas/ProductId' + productListItem: + description: If this product line item was added from a product list, this value is a reference to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The ordered quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A related shipping item represents a + surcharge applied to individual products using a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax on the line item before applying any adjustments. It is read only. + example: 0 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. It is read only. + example: 50 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.19 + type: number + required: + - optionId + - optionValueId + ProductListLink: + description: Document representing a link to a product list. + properties: + description: + description: The description of this product list. + type: string + name: + description: The name of this product list. + type: string + public: + description: |- + A flag indicating whether the owner made this product list available for access + by other customers. It is read only. + example: true + type: boolean + title: + description: The link title. + type: string + type: + description: The type of the product list. + example: shopping_list + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + type: string + type: object + additionalProperties: false + ProductListItemReference: + description: Document representing product list item details. + type: object + additionalProperties: false + properties: + id: + description: The ID of the product list item. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + priority: + format: int32 + description: The priority of the product list item. + example: 1 + type: integer + productDetailsLink: + $ref: '#/components/schemas/ProductDetailsLink' + productList: + description: A reference to the associated product list. It is read only. + allOf: + - $ref: '#/components/schemas/ProductListLink' + public: + example: false + type: boolean + purchasedQuantity: + format: double + description: The total quantity of this item purchased from the product list. + example: 0 + type: number + quantity: + minimum: 0 + format: double + description: The number of products or gift certificates that get shipped when purchasing this product list item. + example: 1 + type: number + type: + description: Specifies whether the item is a product or a gift certificate. + example: product + enum: + - product + - gift_certificate + type: string + required: + - id + ShipmentId: + minLength: 1 + type: string + example: me + description: The identifier of the shipment + ShippingPromotion: + description: Document representing a shipping promotion. + properties: + calloutMsg: + description: The localized callout message of the promotion. + example: $30 Fixed Shipping Amount Above 150 + type: string + promotionId: + description: The unique ID of the promotion. + example: $30FixedShippingAmountAbove150 + type: string + promotionName: + description: The localized promotion name. + example: $30 Fixed Shipping Amount Above 150 + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ShippingMethod: + description: Document representing a shipping method. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + description: + description: The localized description of the shipping method. + example: Order received within 7-10 business days + type: string + externalShippingMethod: + description: The external shipping method. + type: string + id: + maxLength: 256 + description: The shipping method ID. + example: '001' + type: string + name: + description: The localized name of the shipping method. + example: Ground + type: string + price: + format: double + description: |- + The shipping cost total, including shipment level costs, + product level fix, and surcharge costs. It is read only. + example: 15 + type: number + shippingPromotions: + description: |- + The array of active customer shipping promotions for this shipping + method. This array can be empty. + type: array + items: + $ref: '#/components/schemas/ShippingPromotion' + type: object + required: + - id + Shipment: + description: Document representing a shipment. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not including + service charges such as shipping. If the Discount Taxation preference is set to Tax Products and + Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + gift: + description: A flag indicating whether the shipment is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + merchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, not including price adjustments or service charges such as + shipping. It is read only. + example: 4.95 + type: number + productSubTotal: + format: double + description: |- + The total price of all products in the shipment, including item-level adjustments, but not including + order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If + the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + shipmentId: + description: The order-specific ID of the shipment. The default value is 'me'. + default: me + allOf: + - $ref: '#/components/schemas/ShipmentId' + shipmentNo: + description: The shipment number of this shipment. This number is automatically generated. It is read only. + type: string + shipmentTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments, shipping charges, + and tax. It is read only. + example: 39.99 + type: number + shippingAddress: + description: The shipping address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + shippingMethod: + $ref: '#/components/schemas/ShippingMethod' + shippingStatus: + description: The shipping status of the shipment. + example: shipped + enum: + - not_shipped + - shipped + type: string + shippingTotal: + format: double + description: |- + The total price of all shipping charges in the shipment, including shipping adjustments. If the + taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. + example: 0.3 + type: number + taxTotal: + format: double + description: |- + The total tax on the shipment, including item-level price adjustments and service charges such as + shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on + Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 1.8 + type: number + trackingNumber: + description: The tracking number of the shipment. + example: 1Z204E380338943508 + type: string + type: object + ShippingItem: + description: Document representing a shipping item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax for the shipping item, including price adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the shipping item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + itemId: + description: |- + The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a + custom price adjustment for it. It is read only. + example: 430ef5aad3a24de59378458434 + type: string + itemText: + description: The text describing the shipping item. + example: Shipping + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the shipping item including item-level adjustments, but not including order-level + adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + type: number + shipmentId: + description: The identifier of the shipment to which this item belongs. + allOf: + - $ref: '#/components/schemas/ShipmentId' + tax: + format: double + description: The tax on the product item, not including adjustments. It is read only. + example: 0.19 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this shipping item. It is read only. + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. + type: number + type: object + Basket: + description: Document representing a basket. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not + including service charges such as shipping. If the Discount Taxation preference is set to Tax + Products and Shipping Only Based on Adjusted Price, this amount also includes prorated + order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + agentBasket: + description: Is the basket created by an agent? It is read only. + example: true + type: boolean + basketId: + description: The unique identifier for the basket. It is read only. + example: e78aa5646a8efebdd9cdd38be7 + type: string + billingAddress: + description: The billing address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + bonusDiscountLineItems: + description: The bonus discount line items. + type: array + items: + $ref: '#/components/schemas/BonusDiscountLineItem' + channelType: + description: The sales channel. It is read only. + example: storefront + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + couponItems: + description: The coupon items. + type: array + items: + $ref: '#/components/schemas/CouponItem' + creationDate: + description: The timestamp when the basket was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + currency: + $ref: '#/components/schemas/CurrencyCode' + customerInfo: + description: The customer information, if the customer is logged in. + allOf: + - $ref: '#/components/schemas/CustomerInfo' + giftCertificateItems: + description: The gift certificate line items. + type: array + items: + $ref: '#/components/schemas/GiftCertificateItem' + groupedTaxItems: + description: |- + Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same + tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. + type: array + items: + $ref: '#/components/schemas/GroupedTaxItem' + inventoryReservationExpiry: + description: The expiration datetime of the inventory reservation. It is read only. + example: '2015-05-19T15:30:18.000Z' + type: string + format: date-time + lastModified: + description: The timestamp when the basket was last modified. It is read only. + example: '2015-05-19T15:25:18.000Z' + type: string + format: date-time + merchandizeTotalTax: + format: double + description: |- + The total products tax in the purchase currency. + Merchandise total price represents the sum of the product prices before + services (such as shipping) or adjustments from promotions have + been added. It is read only. + example: 4.95 + type: number + orderPriceAdjustments: + description: The order-level price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + orderTotal: + format: double + description: The total price, including products, shipping and tax. It is read only. + example: 110.24 + type: number + paymentInstruments: + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/OrderPaymentInstrument' + productItems: + description: The product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + productSubTotal: + format: double + description: |- + The total price of all products including item-level adjustments, but not including order-level adjustments or shipping + charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 88 + type: number + shipments: + description: The shipments. + type: array + items: + $ref: '#/components/schemas/Shipment' + shippingItems: + description: The shipping items. + type: array + items: + $ref: '#/components/schemas/ShippingItem' + shippingTotal: + format: double + description: |- + The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on all shipping charges, not including shipping adjustments. It is read only. + example: 0.3 + type: number + sourceCode: + description: The source code assigned to the basket. It is read only. + example: OUTDOOR1 + type: string + taxTotal: + format: double + description: The total tax amount. It is read only. + example: 5.25 + type: number + taxation: + description: The taxation policy (gross or net). It is read only. + example: net + enum: + - gross + - net + type: string + taxRoundedAtGroup: + description: If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. + example: true + type: boolean + temporaryBasket: + description: If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. + example: true + type: boolean + type: object + BasketsResult: + description: Result document containing an array of baskets. + properties: + baskets: + description: The list of baskets for a customer. + items: + allOf: + - $ref: '#/components/schemas/Basket' + - required: + - adjustedMerchandizeTotalTax + - adjustedShippingTotalTax + - agentBasket + - basketId + - channelType + - creationDate + - currency + - customerInfo + - lastModified + - merchandizeTotalTax + - orderTotal + - productSubTotal + - productTotal + - shipments + - shippingItems + - shippingTotal + - shippingTotalTax + - taxTotal + - taxation + type: array + total: + description: The total number of baskets. + example: 10 + format: int32 + type: integer + required: + - total + type: object + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + OrderNo: + description: The order number + minLength: 1 + maxLength: 50 + type: string + example: '00000410' + Order: + description: Document representing an order. + type: object + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the order, including price adjustments, but not including service charges such as + shipping. It is read only. + example: 1.5 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the order, including shipping price adjustments. It is read only. + example: 0.3 + type: number + billingAddress: + description: The billing address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + bonusDiscountLineItems: + description: The bonus discount line items. + type: array + items: + $ref: '#/components/schemas/BonusDiscountLineItem' + channelType: + description: The sales channel. It is read only. + example: storefront + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + confirmationStatus: + description: The confirmation status. + example: confirmed + enum: + - not_confirmed + - confirmed + type: string + couponItems: + description: The coupon items. It is read only. + type: array + items: + $ref: '#/components/schemas/CouponItem' + createdBy: + description: |- + This value depends on how the order was created. If a shopper created the order, this value is Customer. + If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. It is read only. + example: Customer + type: string + creationDate: + description: The timestamp when the order was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + currency: + description: The ISO 4217 mnemonic code of the currency. It is read only. + allOf: + - $ref: '#/components/schemas/CurrencyCode' + customerInfo: + description: The customer information for guest or logged-in customers. It is read only. + allOf: + - $ref: '#/components/schemas/CustomerInfo' + customerName: + description: The customer name. It is read only. + example: Max Mustermann + type: string + exportStatus: + description: The export status of the order. + example: exported + enum: + - not_exported + - exported + - ready + - failed + type: string + externalOrderStatus: + description: The external status of the order. + example: Submitted + type: string + giftCertificateItems: + description: The gift certificate line items. It is read only. + type: array + items: + $ref: '#/components/schemas/GiftCertificateItem' + globalPartyId: + description: The Customer 360 Global Party ID associated with the shopper. It is read only. + example: GP_1234 + type: string + lastModified: + description: The timestamp when the order was last modified. It is read only. + example: '2021-02-25T09:58:08.715Z' + type: string + format: date-time + merchandizeTotalTax: + format: double + description: |- + The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices + not including shipping or adjustments. It is read only. + example: 1.5 + type: number + orderNo: + description: The order number. + example: '00000410' + allOf: + - $ref: '#/components/schemas/OrderNo' + orderPriceAdjustments: + description: The order-level price adjustments. It is read only. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + orderToken: + description: |- + The order token used to secure the lookup of an order on base of the + plain order number. The order token contains only URL safe characters. It is read only. + type: string + orderTotal: + format: double + description: The total price, including products, shipping, and tax. It is read only. + example: 110.24 + type: number + orderViewCode: + description: |- + The order view code used to secure the order lookup of an order using Order Lookup API. + The order view code contains only URL safe characters. + Warning : Order view code must not be exposed in the URL and must only be displayed to the shopper or sent as an email. + Order view code must not be logged in the code. It is read only. + type: string + paymentInstruments: + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/OrderPaymentInstrument' + paymentStatus: + description: The payment status. + example: paid + enum: + - not_paid + - part_paid + - paid + type: string + productItems: + description: The product items. It is read only. + type: array + items: + $ref: '#/components/schemas/ProductItem' + productSubTotal: + format: double + description: |- + The total price of all products including item-level adjustments, but not including + order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + taxRoundedAtGroup: + description: If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. + type: boolean + example: true + shipments: + description: The shipments. It is read only. + type: array + items: + $ref: '#/components/schemas/Shipment' + shippingItems: + description: The shipping items. It is read only. + type: array + items: + $ref: '#/components/schemas/ShippingItem' + shippingStatus: + description: The shipping status. + example: shipped + enum: + - not_shipped + - part_shipped + - shipped + type: string + shippingTotal: + format: double + description: |- + The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on all shipping charges, not including shipping adjustments. It is read only. + example: 0.3 + type: number + siteId: + description: The order's site. It is read only. + example: ShoppingSite + allOf: + - $ref: '#/components/schemas/SiteId' + sourceCode: + description: The source code assigned to the basket from which this order was created. It is read only. + example: OUTDOOR1 + type: string + status: + description: The status. + example: created + enum: + - created + - new + - completed + - cancelled + - replaced + - failed + type: string + taxTotal: + format: double + description: The total tax amount. It is read only. + example: 5.25 + type: number + taxation: + description: The taxation policy (gross or net). It is read only. + example: net + enum: + - gross + - net + type: string + groupedTaxItems: + description: |- + Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same + tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. + type: array + items: + $ref: '#/components/schemas/GroupedTaxItem' + guest: + description: The registration status of the customer. It is read only. + type: boolean + example: true + CustomerOrderResult: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/Order' + type: array + description: The array of customer order documents. + description: Result document containing an array of customer orders. + PasswordChangeRequest: + required: + - currentPassword + - password + type: object + properties: + currentPassword: + maxLength: 4096 + type: string + description: The customer's current password. + example: p@ssword1 + password: + maxLength: 4096 + type: string + description: The customer's new password. + example: p@ssword2 + description: Document representing a password change request. + PaymentBankAccountRequest: + required: + - driversLicense + - driversLicenseStateCode + - holder + - number + type: object + properties: + driversLicense: + maxLength: 256 + type: string + description: The driver’s license. + example: 84736485 + driversLicenseStateCode: + maxLength: 256 + type: string + description: The driver’s license state code. + example: UT + holder: + maxLength: 256 + type: string + description: The holder of the bank account. + example: John Smith + number: + maxLength: 256 + type: string + description: The payment bank account number. + example: 9796976 + description: Document representing a payment bank account request. + CustomerPaymentCardRequest: + required: + - cardType + - expirationMonth + - expirationYear + - holder + - issueNumber + - number + - validFromMonth + - validFromYear + type: object + properties: + cardType: + maxLength: 256 + type: string + description: The payment card type (for example, "Visa"). + example: Visa + creditCardToken: + type: string + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data at the + token store. + example: hk2jh293484 + expirationMonth: + type: integer + description: The month the payment card expires. + format: int32 + example: 11 + expirationYear: + type: integer + description: The year the payment card expires. + format: int32 + example: 9999 + holder: + maxLength: 256 + type: string + description: The payment card holder. + example: John Smith + issueNumber: + maxLength: 256 + type: string + description: The payment card issue number. + example: 92743927 + number: + maxLength: 4000 + type: string + description: The payment card number. + example: 4454852652415965 + validFromMonth: + maximum: 12 + minimum: 1 + type: integer + description: The month the payment card valid is from. + format: int32 + example: 11 + validFromYear: + type: integer + description: The year the payment card is valid from. + format: int32 + example: 23 + description: Document representing a customer payment card request. + CustomerPaymentInstrumentRequest: + type: object + properties: + bankRoutingNumber: + maxLength: 256 + type: string + description: The bank routing number. + example: AB123 + giftCertificateCode: + maxLength: 256 + type: string + description: The gift certificate code. + example: gift-code + paymentBankAccount: + allOf: + - $ref: '#/components/schemas/PaymentBankAccountRequest' + description: The payment bank account request data. + paymentCard: + allOf: + - $ref: '#/components/schemas/CustomerPaymentCardRequest' + description: The customer payment card. + paymentMethodId: + maxLength: 256 + type: string + description: The payment method ID. Optional if a customer payment instrument ID is specified. + example: Credit Card + description: Document representing a customer payment instrument request. + CustomerProductListRegistrant: + description: Document representing a customer product list registrant. + properties: + email: + description: The email of the registrant. + example: jsmith@mail.com + type: string + firstName: + description: The first name of the registrant. + example: John + type: string + lastName: + description: The last name of the registrant. + example: Smith + type: string + role: + description: The role of the registrant. + example: Friend + type: string + required: + - email + - firstName + - lastName + - role + type: object + CustomerAddressInfo: + description: Result document of product list addresses. + properties: + addressId: + description: The ID of the address. + example: Home + maxLength: 256 + type: string + title: + description: The link title. + example: title + type: string + required: + - addressId + - title + type: object + Product: + description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. A product has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. + properties: + brand: + description: The product's brand. + example: Apple + type: string + bundledProducts: + description: The array of all bundled products of this product. + type: array + items: + $ref: '#/components/schemas/BundledProduct' + currency: + $ref: '#/components/schemas/CurrencyCode' + ean: + description: The European Article Number of the product. + example: 8essdf9w3 + type: string + fetchDate: + format: int32 + example: 5 + type: integer + id: + $ref: '#/components/schemas/ProductId' + imageGroups: + description: The array of product image groups. + type: array + items: + $ref: '#/components/schemas/ImageGroup' + inventories: + description: |- + The array of product inventories explicitly requested via the 'inventory_ids' query parameter. This property + is only returned in context of the 'availability' expansion. + type: array + items: + $ref: '#/components/schemas/Inventory' + inventory: + description: |- + The site default inventory information. This property is only + returned in context of the 'availability' expansion. + allOf: + - $ref: '#/components/schemas/Inventory' + longDescription: + description: The localized product's long description. + example: Awesome long description of product + type: string + manufacturerName: + description: The product's manufacturer name. + example: Apple + type: string + manufacturerSku: + description: The product's manufacturer SKU. + example: 2ND8834 + type: string + master: + description: 'The master product information, only for types: master, variation group, and variant.' + allOf: + - $ref: '#/components/schemas/Master' + minOrderQuantity: + format: double + description: The minimum order quantity for this product. + example: 2 + type: number + name: + description: The localized product name. + example: Apple IPod Classic + type: string + options: + description: The array of product options, only for type option. This array can be empty. + type: array + items: + $ref: '#/components/schemas/Option' + pageDescription: + description: The localized product's page description. + example: Really good Product + type: string + pageKeywords: + description: The localized product's page description. + example: Ipod, Music Player + type: string + pageTitle: + description: The localized product's page title. + example: Apple IPod Classic + type: string + pageMetaTags: + description: Page Meta tags associated with the given product. + type: array + items: + $ref: '#/components/schemas/PageMetaTag' + price: + format: double + description: |- + The sales price of the product. In case of complex products, like master or set, this is the minimum price of + related child products. + example: 59.99 + type: number + pricePerUnit: + format: double + description: The price per unit if defined for the product + example: 19.99 + type: number + pricePerUnitMax: + format: double + description: The max price per unit typically for a master product's variant. + example: 29.99 + type: number + priceMax: + format: double + description: The maximum sales of related child products in complex products like master or set. + example: 69.99 + type: number + priceRanges: + description: Array of one or more price range objects representing one or more Pricebooks in context for the site. + type: array + items: + $ref: '#/components/schemas/PriceRange' + prices: + description: The prices map with pricebook IDs and their values. + type: object + additionalProperties: + format: double + type: number + primaryCategoryId: + description: The ID of the products primary category. + example: electronics + type: string + productLinks: + description: The array of source and target product links information. + type: array + items: + $ref: '#/components/schemas/ProductLink' + productPromotions: + description: |- + An array of active customer product promotions for this product, sorted by promotion priority + using SORT_BY_EXCLUSIVITY ordering (exclusivity → rank → promotion class → discount type → + best discount → ID). This array can be empty. Coupon promotions are not returned in this array. + See [PromotionPlan.SORT_BY_EXCLUSIVITY](https://salesforcecommercecloud.github.io/b2c-dev-doc/docs/current/scriptapi/html/index.html?target=class_dw_campaign_PromotionPlan.html) for more details. + type: array + items: + $ref: '#/components/schemas/ProductPromotion' + recommendations: + description: Returns a list of recommendations. + type: array + items: + $ref: '#/components/schemas/Recommendation' + setProducts: + description: The array of set products of this product. + type: array + items: + $ref: '#/components/schemas/Product' + shortDescription: + description: The localized product short description. + example: Awesome Product + type: string + slugUrl: + description: The complete link to this product's storefront page. + example: https://www.example.com/on/store/Sites-MySite/default/Product-Show?pid=MyProduct + type: string + stepQuantity: + format: double + description: |- + The steps in which the order amount of the product can be + increased. + example: 2 + type: number + tieredPrices: + description: The document represents list of tiered prices if the product is a variant + type: array + items: + $ref: '#/components/schemas/ProductPriceTable' + type: + description: 'The product type information. Can be one or more of the following values: item, master, variation_group, variant, bundle, and set.' + allOf: + - $ref: '#/components/schemas/ProductType' + unit: + description: The sales unit of the product. + example: lbs + type: string + upc: + description: The Universal Product Code (UPC). + example: JSDU876 + type: string + validFrom: + description: The time a product is valid from. + example: '9999-12-31T00:00:00.0Z' + type: string + format: date-time + validTo: + description: The time a product is valid to. + example: '9999-12-31T23:59:59.0Z' + type: string + format: date-time + variants: + description: The array of actual variants. Only for master, variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/Variant' + variationAttributes: + description: |- + Sorted array of variation attributes information. Only for master, + variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationAttribute' + variationGroups: + description: The array of actual variation groups. Only for master, variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationGroup' + variationValues: + description: |- + The actual variation attribute ID - value pairs. Only for variant and + variation group types. + type: object + additionalProperties: + type: string + required: + - id + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + BundledProduct: + description: A bundle of products that can be bought together (all or nothing). Each product in the bundle can itself be bought independently, but this is outside of the context of the bundle. A bundle is a purchasing convenience. *Product bundle has a SKU and price.* + properties: + id: + example: '823476' + type: string + product: + description: The product being bundled. + allOf: + - $ref: '#/components/schemas/Product' + quantity: + format: double + description: For the product being bundled, the quantity added to the bundle. + example: 5 + type: number + required: + - id + - product + - quantity + type: object + Image: + description: Product image + properties: + alt: + description: The localized alternative text of the image. + example: Apple iPod Shuffle, large + type: string + disBaseLink: + description: Base URL for the Dynamic Image Service (DIS) address. This is only shown if the image is stored on the server and DIS is enabled. + example: https://example.com/images/large/ipod-shuffle-silver.jpg + type: string + link: + minLength: 1 + description: The URL of the actual image. + example: https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dwc2/images/large/ipod-shuffle.jpg + type: string + title: + description: The localized title of the image. + example: Apple iPod Shuffle + type: string + required: + - link + type: object + VariationAttributeValue: + description: Document representing a variation attribute value. + properties: + description: + description: The localized description of the variation value. + example: Color of the product + type: string + image: + description: The first product image for the configured viewtype and this variation value. + allOf: + - $ref: '#/components/schemas/Image' + imageSwatch: + description: The first product image for the configured viewtype and this variation value (typically the swatch image). + allOf: + - $ref: '#/components/schemas/Image' + name: + description: The localized display name of the variation value. + example: Red + type: string + orderable: + description: A flag indicating whether at least one variant with this variation attribute value is available to sell. + example: true + type: boolean + value: + minLength: 1 + description: The actual variation value. + example: red + type: string + required: + - value + type: object + VariationAttribute: + description: Document representing a variation attribute. + properties: + id: + minLength: 1 + description: The ID of the variation attribute. + example: color + type: string + name: + description: The localized display name of the variation attribute. + example: Color + type: string + values: + description: The sorted array of variation values. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationAttributeValue' + required: + - id + type: object + ImageGroup: + description: Document representing an image group containing a list of images for a particular view type and an optional variation value. + properties: + images: + description: The images of the image group. + type: array + items: + $ref: '#/components/schemas/Image' + variationAttributes: + description: Returns a list of variation attributes applying to this image group. + type: array + items: + $ref: '#/components/schemas/VariationAttribute' + viewType: + description: The image view type. + example: hi-res + type: string + required: + - images + - viewType + type: object + InventoryId: + description: The inventory ID. + type: string + minLength: 1 + maxLength: 256 + example: Site1InventoryList + Inventory: + description: Document representing inventory information of the current product for a particular inventory list. + properties: + ats: + format: double + description: |- + The Available To Sell (ATS) of the product. If it is infinity, the return value is 999999. The value can be overwritten by the + OCAPI setting 'product.inventory.ats.max_threshold'. + example: 15 + type: number + backorderable: + description: A flag indicating whether the product is backorderable. + example: true + type: boolean + id: + $ref: '#/components/schemas/InventoryId' + inStockDate: + description: A flag indicating the date when the product will be in stock. + example: '9999-12-31T00:00:00.0Z' + type: string + format: date-time + orderable: + description: A flag indicating whether at least one of the products is available to sell. + example: true + type: boolean + preorderable: + description: A flag indicating whether the product is preorderable. + example: false + type: boolean + stockLevel: + format: double + description: |- + The stock level of the product. If it is infinity, the return value is 999999. The value can be overwritten by the + OCAPI setting 'product.inventory.stock_level.max_threshold'. + example: 10 + type: number + required: + - id + type: object + Price: + type: number + description: Document representing a price for a product + format: double + example: 12.99 + Master: + description: The master product is a representation of a group of variant products. This is a non-buyable entity, provides inheritable attributes for its product variants, and is used for navigation. *Doesn't have a SKU.* + properties: + masterId: + description: The ID (SKU) of the master product. + allOf: + - $ref: '#/components/schemas/ProductId' + orderable: + description: A flag indicating whether at least one of the variants can be ordered. + example: true + type: boolean + price: + description: The minimum sales price of the related variants. + allOf: + - $ref: '#/components/schemas/Price' + priceMax: + description: The maximum sales price of the related variants. + allOf: + - $ref: '#/components/schemas/Price' + prices: + description: List of sale prices. + type: object + additionalProperties: + format: double + type: number + required: + - masterId + type: object + OptionValue: + description: Document representing an option value. + properties: + default: + description: A flag indicating whether this option value is the default one. + example: true + type: boolean + id: + description: The ID of the option value. + example: 5YR + allOf: + - $ref: '#/components/schemas/ProductId' + name: + description: The localized name of the option value. + example: 5 Year Warranty + type: string + price: + description: The effective price of the option value. + allOf: + - $ref: '#/components/schemas/Price' + required: + - id + type: object + Option: + description: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can't be purchased separately. *Product Option has a SKU and a price associated with it.* + properties: + description: + description: The localized description of the option. + example: Get this Option + type: string + id: + description: The ID of the option. + example: Warranty + allOf: + - $ref: '#/components/schemas/ProductId' + image: + description: The URL to the option image. + example: https://www.exampleimage.com/images/optionImage.jpg + type: string + name: + description: The localized name of the option. + example: Warranty + type: string + values: + description: The array of option values. This array can be empty. + type: array + items: + $ref: '#/components/schemas/OptionValue' + required: + - id + type: object + PageMetaTag: + description: Document representing a Page Meta Tag object. + properties: + id: + description: The ID of the Page Meta Tag. + type: string + example: title + value: + description: Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID. + type: string + example: Buy the Long Sleeve Covered Placket Blouse for USD 61.99. + PriceRange: + description: Document representing price ranges for a product which happens to be a master product (per Pricebook) + properties: + maxPrice: + description: Maximum price for the given pricebook (usually for a master Product would be the price for the Variant which has the highest price out of all Variants in that pricebook) + allOf: + - $ref: '#/components/schemas/Price' + minPrice: + description: Minimum price for the given pricebook (usually for a master Product would be the price for the Variant which has the least price out of all Variants in that pricebook) + allOf: + - $ref: '#/components/schemas/Price' + pricebook: + description: The active pricebook from which the min and the max prices are calculated. The pricebook is based on the site context of the request as defined in ECOM. + example: usd-list-pricebook + type: string + type: object + ProductLink: + description: |- + Document representing a link between two products. It contains the ID of the source and target products, the type of + product link, and the URLs to retrieve product data. + properties: + sourceProductId: + description: The semantic ID of the product this product link is coming from. + example: '824756924' + allOf: + - $ref: '#/components/schemas/ProductId' + sourceProductLink: + description: The URL addressing the product this product link is coming from. + example: Link + type: string + targetProductId: + description: The semantic ID of the product this product link is pointing to. + example: 2TR93459 + allOf: + - $ref: '#/components/schemas/ProductId' + targetProductLink: + description: The URL addressing the product this product link is pointing to. + example: Link + type: string + type: + description: The type of product link. + example: up_sell + enum: + - cross_sell + - replacement + - up_sell + - accessory + - newer_version + - alt_orderunit + - spare_part + - other + type: string + required: + - sourceProductId + - sourceProductLink + - targetProductId + - targetProductLink + - type + type: object + ProductPromotion: + description: Document representing a product promotion. + properties: + calloutMsg: + description: The localized call-out message of the promotion. + example: Fantastic promotion + type: string + promotionId: + description: The unique ID of the promotion. + example: summerSale + type: string + promotionalPrice: + description: The promotional price for this product. + allOf: + - $ref: '#/components/schemas/Price' + required: + - calloutMsg + - promotionId + - promotionalPrice + type: object + RecommendationType: + description: Document representing a recommendation type. + properties: + displayValue: + description: The localized display value of the recommendation type. + example: UpSell + type: string + value: + format: int32 + description: The value of the recommendation type. + example: 2 + type: integer + required: + - displayValue + - value + type: object + Recommendation: + description: Document representing a product recommendation. + properties: + calloutMsg: + description: The localized callout message of the recommendation. + example: Absolutely recommended + type: string + image: + $ref: '#/components/schemas/Image' + longDescription: + description: The localized long description of the recommendation. + example: Really good detailed product description + type: string + name: + description: The localized name of the recommendation. + example: Apple Ipod Shuffle + type: string + recommendationType: + $ref: '#/components/schemas/RecommendationType' + recommendedItemId: + description: The recommended item ID of the recommendation. + example: apple-ipod-shuffle + type: string + shortDescription: + description: The localized short description of the recommendation. + example: Product description + type: string + required: + - recommendationType + type: object + ProductPriceTable: + description: Tiered Price Level Object + properties: + price: + description: Price for the product for the specified tier for the specified pricebook + allOf: + - $ref: '#/components/schemas/Price' + pricebook: + description: The active pricebook for which this price is defined + example: usd-list-pricebook + type: string + quantity: + format: double + description: Quantity tier for which the price is defined. + example: 1 + type: number + type: object + ProductType: + description: Document representing a product type. + properties: + bundle: + description: A flag indicating whether the product is a bundle. + example: true + type: boolean + item: + description: A flag indicating whether the product is a standard item. + example: false + type: boolean + master: + description: A flag indicating whether the product is a master. + example: true + type: boolean + option: + description: A flag indicating whether the product is an option. + example: false + type: boolean + set: + description: A flag indicating whether the product is a set. + example: true + type: boolean + variant: + description: A flag indicating whether the product is a variant. + example: false + type: boolean + variationGroup: + description: A flag indicating whether the product is a variation group. + example: false + type: boolean + type: object + Variant: + description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU.* + properties: + orderable: + description: A flag indicating whether the variant is orderable. + example: true + type: boolean + price: + description: The sales price of the variant. + allOf: + - $ref: '#/components/schemas/Price' + productId: + description: The ID (SKU) of the variant. + example: 8W4756834 + allOf: + - $ref: '#/components/schemas/ProductId' + tieredPrices: + description: List of tiered prices if the product is a variant + type: array + items: + $ref: '#/components/schemas/ProductPriceTable' + variationValues: + description: The actual variation attribute ID - value pairs. + type: object + additionalProperties: + type: string + required: + - productId + type: object + VariationGroup: + description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for its product variants, and is used for navigation. *Doesn't have a SKU.* + properties: + orderable: + description: A flag indicating whether the variation group is orderable. + example: false + type: boolean + price: + description: The sales price of the variation group. + allOf: + - $ref: '#/components/schemas/Price' + productId: + description: The ID (SKU) of the variation group. + example: 49345VG + allOf: + - $ref: '#/components/schemas/ProductId' + variationValues: + description: The actual variation attribute ID - value pairs. + type: object + additionalProperties: + type: string + required: + - orderable + - price + - productId + - variationValues + type: object + CustomerProductListItem: + description: Document representing a customer product list item. + properties: + id: + description: The ID of this product list item. + example: Main Product + type: string + priority: + description: The priority of the item. + example: 1 + format: int32 + type: integer + product: + allOf: + - $ref: '#/components/schemas/Product' + description: The product item. + productId: + description: The ID of the product. + example: Toaster + allOf: + - $ref: '#/components/schemas/ProductId' + public: + description: Is this product list item available for access by other customers? + example: true + type: boolean + purchasedQuantity: + description: The quantity of products already purchased. + example: 1 + format: double + type: number + quantity: + description: The quantity of this product list item. + example: 2 + format: double + minimum: 0 + type: number + type: + description: The type of the item. + enum: + - product + - gift_certificate + example: product + type: string + required: + - priority + - public + - quantity + type: object + ProductListEvent: + required: + - type + type: object + properties: + city: + type: string + description: The city where the event takes place. + example: New York + country: + type: string + description: The country where the event takes place. + example: USA + date: + type: string + description: The date when the event takes place. + format: date-time + example: 253402214400 + state: + type: string + description: The federal state where the event takes place. + example: UT + type: + type: string + description: Type of the event to celebrate. + example: wedding + description: Document representing a product list event. + ProductListShippingAddress: + required: + - addressId + type: object + properties: + addressId: + minLength: 1 + type: string + description: The ID of this address. + example: Home + city: + type: string + description: The city of this address. + example: New York + firstName: + type: string + description: The first name of this address. + example: John + lastName: + type: string + description: The last name of this address. + example: Smith + description: Document representing a product list shipping address. + CustomerProductList: + type: object + description: Document representing a customer product list. + properties: + coRegistrant: + allOf: + - $ref: '#/components/schemas/CustomerProductListRegistrant' + description: The coregistrant of this product list. + creationDate: + description: Returns the value of attribute 'creationDate'. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + currentShippingAddressInfo: + allOf: + - $ref: '#/components/schemas/CustomerAddressInfo' + description: The resource link to the current shipping address of this customer product list. + customerProductListItems: + description: The list of customer product list items. + items: + $ref: '#/components/schemas/CustomerProductListItem' + type: array + description: + description: The description of this product list. + example: My Product List + type: string + event: + allOf: + - $ref: '#/components/schemas/ProductListEvent' + description: The event of this product list. + id: + description: The ID of this product list. + example: MyList + minLength: 1 + type: string + lastModified: + description: Returns the value of attribute 'lastModified'. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + name: + description: The name of this product list. + example: Danny's Product List + type: string + postEventShippingAddressInfo: + allOf: + - $ref: '#/components/schemas/CustomerAddressInfo' + description: The resource link to the post event shipping address of this customer product list. + productListShippingAddress: + allOf: + - $ref: '#/components/schemas/ProductListShippingAddress' + description: The abbreviated shipping address of this product list representing what an anonymous user can see. + public: + description: Indicates whether the owner made this product list available for access by other customers. + example: true + type: boolean + registrant: + allOf: + - $ref: '#/components/schemas/CustomerProductListRegistrant' + description: The registrant of this product list. + shippingAddressInfo: + allOf: + - $ref: '#/components/schemas/CustomerAddressInfo' + description: The resource link to the shipping address of this customer product list. + type: + description: The type of the product list. + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + example: wish_list + type: string + CustomerProductListResult: + description: Document representing a customer product lists result. + required: + - data + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + data: + description: The customer product lists. + items: + $ref: '#/components/schemas/CustomerProductList' + type: array + PublicProductListInfo: + description: Document representing a link to a public product list. + properties: + description: + description: The description of this product list. + example: Super Awesome ProductList + type: string + id: + description: The ID of the product-list document. + example: '3958739435' + type: string + name: + description: The name of this product list. + example: My Product List + type: string + title: + description: The link title. + example: Product List Title + type: string + type: + description: The type of the product list. + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + example: custom_1 + type: string + required: + - id + - title + - type + type: object + PublicProductListResult: + required: + - data + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + data: + description: The array of product list link documents. + items: + $ref: '#/components/schemas/PublicProductListInfo' + type: array + description: Result document containing an array of public product list links. + ProductListRegistrant: + required: + - firstName + - lastName + - role + type: object + properties: + firstName: + type: string + description: The first name of the registrant. + example: John + lastName: + type: string + description: The last name of the registrant. + example: Smith + role: + type: string + description: The role of the registrant. + example: CEO + description: |- + A `ProductListRegistrant` is typically associated with an event-related product list, such as a gift registry. It holds + information about a person associated with the event, such as a bride or groom. + PublicProductListItem: + description: Document representing a product list item. + properties: + id: + description: The ID of this product list item. + example: '8745345' + type: string + priority: + description: The priority of the item. + example: 2 + format: int32 + type: integer + product: + allOf: + - $ref: '#/components/schemas/Product' + description: The product item. + type: + description: The type of the item. + enum: + - product + - gift_certificate + example: product + type: string + required: + - id + - priority + - type + type: object + PublicProductList: + description: Document representing a customer product list. + properties: + coRegistrant: + allOf: + - $ref: '#/components/schemas/ProductListRegistrant' + description: The coRegistrant of this product list. + creationDate: + description: Returns the value of attribute 'creationDate'. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + description: + description: The description of this product list. + example: Super Product List + type: string + event: + allOf: + - $ref: '#/components/schemas/ProductListEvent' + description: The event of this product list. + id: + description: The id of this product list. + example: '873465834' + minLength: 1 + type: string + lastModified: + description: Returns the value of attribute 'lastModified'. + example: '9999-12-31T00:00:00.0Z' + format: date-time + type: string + name: + description: The name of this product list. + example: My Product List + type: string + productListItems: + description: The product list items + items: + $ref: '#/components/schemas/PublicProductListItem' + type: array + productListShippingAddress: + allOf: + - $ref: '#/components/schemas/ProductListShippingAddress' + description: The abbreviated shipping address of this product list representing what anonymous users see. + public: + description: Indicates whether the owner made this product list available for access by other customers. + example: true + type: boolean + registrant: + allOf: + - $ref: '#/components/schemas/ProductListRegistrant' + description: The registrant of this product list. + type: + description: The type of the product list. + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + example: gift_registry + type: string + required: + - id + - public + - type + type: object + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + externalId: + name: externalId + in: query + description: The External ID of the customer. + required: true + schema: + minLength: 1 + type: string + authenticationProviderId: + name: authenticationProviderId + in: query + description: The authentication Provider Id. + required: true + schema: + minLength: 1 + type: string + customerId: + name: customerId + in: path + description: The customer ID. + required: true + schema: + minLength: 1 + type: string + addressName: + name: addressName + in: path + description: The name of the address to update. + required: true + schema: + maxLength: 256 + minLength: 1 + type: string + crossSites: + name: crossSites + in: query + description: The flag indicating whether all sites should be searched. This flag is ignored unless a valid User / Agent is present with a trusted agent on behalf (TAOB) token. Without a TAOB token, only the customer's orders placed on the site specified by siteId are returned. + required: false + schema: + type: boolean + from: + name: from + in: query + required: false + schema: + type: string + until: + name: until + in: query + required: false + schema: + type: string + status: + name: status + in: query + required: false + schema: + type: string + paymentInstrumentId: + name: paymentInstrumentId + in: path + description: The ID of the payment instrument to be retrievedCustomer. + required: true + schema: + minLength: 1 + type: string + listId: + name: listId + in: path + description: The ID of the list. + required: true + schema: + maxLength: 28 + minLength: 1 + type: string + itemId: + name: itemId + in: path + description: The ID of the item. + required: true + schema: + minLength: 1 + type: string + email: + name: email + in: query + description: The email address of the customer the product lists belong to. + required: false + schema: + type: string + firstName: + name: firstName + in: query + description: The first name of the customer the product lists belong to. + required: false + schema: + type: string + lastName: + name: lastName + in: query + description: The last name of the customer the product lists belong to. + required: false + schema: + type: string + examples: + CustomerRegistrationBody: + value: + password: 12345!aBcD + customer: + login: jsmith + email: jsmith@test.com + firstName: John + lastName: Smith + customerRegistrationResponse: + value: + authType: registered + creationDate: '2020-02-13T17:44:15.892Z' + customerId: abkd9LhOWzAiAFubdEDChtkMHW + customerNo: '00006002' + email: jsmith@test.com + enabled: true + firstName: John + lastModified: '2020-02-13T17:44:15.898Z' + lastName: Smith + login: jsmith + registerCustomer400: + value: + title: Invalid Customer + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-customer + detail: The customer is invalid. + registerCustomer401: + value: + title: Authentication Failed + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/authentication-failed + detail: Customer authentication based on JohnSmith failed. + credentialType: JohnSmith + ResetPasswordBody: + value: + resetToken: R1e2s3e4t5T6o7k8e9n0 + login: janedoe@test.com + newPassword: p@assword2 + ResetPasswordTokenBody: + value: + login: janedoe@test.com + getResetPasswordTokenSuccess: + value: + login: janedoe@test.com + email: janedoe@test.com + resetToken: R1e2s3e4t5T6o7k8e9n0 + expiresInMinutes: 30 + getExternalProfileSuccess: + value: + authenticationProviderId: Google + firstName: John + lastName: Doe + customerId: bfqcN48dn2y4EaV9Qj5bNpVJVj + email: testCustomer@test.com + externalId: testCustomer@test.com + getExternalProfile400: + value: + title: Invalid Customer External Profile + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-customer-external-profile + detail: The customer external profile is invalid. + getExternalProfile404: + value: + title: Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found + detail: No customer with external profile with ID 'abfTWMDZOgi3JPzkHjv9IhmziI' could be found. + externalId: abfTWMDZOgi3JPzkHjv9IhmziI + ExternalProfileBody: + value: + authenticationProviderId: Google + firstName: John + lastName: Doe + email: testCustomer@test.com + externalId: testCustomer@test.com + registerExternalProfileSuccess: + value: + authenticationProviderId: Google + firstName: John + lastName: Doe + customerId: bfqcN48dn2y4EaV9Qj5bNpVJVj + email: testCustomer@test.com + externalId: testCustomer@test.com + getCustomerSuccess: + value: + addresses: + - address1: 10 Presidential Way + addressId: me + city: Woburn + countryCode: US + firstName: John + fullName: John M. Smith + lastName: Smith + postalCode: '01827' + salutation: Mr. + stateCode: MA + authType: registered + creationDate: '2020-02-14T20:39:53.818Z' + customerId: abfTEMDZOgi3JPrkHjv9IhoziM + customerNo: '00010009' + email: jsmith@demandware.com + firstName: John + gender: 1 + lastName: Smith + paymentInstruments: + - bankRoutingNumber: '0763564' + creationDate: '2017-08-20T11:30:36.000Z' + lastModified: '2017-08-20T11:30:50.000Z' + maskedGiftCertificateCode: '***********ode' + paymentCard: + cardType: Visa + creditCardExpired: false + expirationMonth: 2 + expirationYear: 2022 + holder: John Smith + maskedNumber: '***********ber2' + numberLastDigits: ber2 + paymentInstrumentId: beybQiWcyatEEaaadniwhKxxFl + paymentMethodId: CREDIT_CARD + phoneBusiness: '234560003' + phoneHome: '123450003' + phoneMobile: '345670003' + getCustomer404: + value: + title: Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found + detail: No customer with ID 'abfTWMDZOgi3JPzkHjv9IhmziI' could be found. + customerId: abfTWMDZOgi3JPzkHjv9IhmziI + UpdateCustomerBody: + value: + customerNo: '00010009' + firstName: John + lastName: Wild + email: jwild@yourstore.com + fax: +49 03641 78393 346 + updateCustomerResponse: + value: + authType: registered + creationDate: '2020-02-14T20:39:53.818Z' + customerId: abfTEMDZOgi3JPrkHjv9IhoziM + customerNo: '00010009' + email: jwild@yourstore.com + enabled: true + fax: +49 03641 78393 346 + firstName: John + lastLoginTime: '2020-02-14T20:51:59.313Z' + lastModified: '2020-02-14T20:55:12.133Z' + lastName: Wild + lastVisitTime: '2020-02-14T20:51:59.313Z' + login: f0a43dc2-692a-43bf-b008-e10918ea935d + previousLoginTime: '2020-02-14T20:51:59.313Z' + previousVisitTime: '2020-02-14T20:51:59.313Z' + CustomerAddressBody: + value: + addressId: home_address + address1: 5 Wall St + address2: 24 Presidential Way + city: Burlington + companyName: Salesforce Commerce Cloud + countryCode: US + firstName: John + jobTitle: Developer + lastName: Murphy + phone: 408-555-1212 + postalCode: '01805' + postBox: 12a + preferred: false + salutation: Mr. + secondName: Jim + stateCode: MA + title: Dr. + customerAddressResponse: + value: + addressId: home_address + address1: 5 Wall St + address2: 24 Presidential Way + city: Burlington + companyName: Salesforce Commerce Cloud + countryCode: US + creationDate: '2020-02-14T21:13:29.769Z' + firstName: John + fullName: John Jim Murphy + jobTitle: Developer + lastModified: '2020-02-14T21:13:29.770Z' + lastName: Murphy + phone: 408-555-1212 + postalCode: '01805' + postBox: 12a + preferred: false + salutation: Mr. + secondName: Jim + stateCode: MA + title: Dr. + CustomerAddressResponseBody: + value: + addressId: home_address + address1: 5 Wall St + address2: 24 Presidential Way + city: Burlington + companyName: Salesforce Commerce Cloud + countryCode: US + creationDate: '2020-02-14T21:13:29.769Z' + firstName: John + fullName: John Jim Murphy + jobTitle: Developer + lastModified: '2020-02-14T21:13:29.770Z' + lastName: Murphy + phone: 408-555-1212 + postalCode: '01805' + postBox: 12a + preferred: false + salutation: Mr. + secondName: Jim + stateCode: MA + title: Dr. + customerBasketsResult: + value: + baskets: + - basketId: bccO1aOjgEnuIaaadk7pYO2rFE + adjustedMerchandizeTotalTax: 0 + adjustedShippingTotalTax: 0 + agentBasket: true + billingAddress: + address1: 10 Presidential Way + city: Woburn + countryCode: US + firstName: John + fullName: John M. Smith + id: abfTEMDZOgi3JPrkHjv9IhoziM + lastName: Smith + phone: '123450003' + postalCode: '01827' + salutation: Mr. + stateCode: MA + bonusDiscountLineItems: + - bonusProducts: + - productDescription: Bonus Product + productId: '34984327448' + productName: Extra Fluffy Bonus Product + title: Bonus Product + couponCode: BONUS + id: qhegj345ruhrfkj + maxBonusItems: 1 + promotionId: basds98295jsafi + channelType: storefront + couponItems: + - code: '5634573' + couponItemId: 100-89038 + statusCode: coupon_code_already_in_basket + valid: true + creationDate: '2019-09-05T17:12:56.670Z' + currency: USD + customerInfo: + c_familyStatus: string + customerId: abfTEMDZOgi3JPrkHjv9IhoziM + customerName: John Smith + customerNo: '1000' + email: jsmith@demandware.com + giftCertificateItems: + - amount: 0 + giftCertificateItemId: '901' + message: Preferred Customer + recipientEmail: jsmith@demandware.com + recipientName: John Smith + senderName: Jane Smith + shipmentId: 678934jsadLHY5 + inventoryReservationExpiry: '2019-09-05T17:12:56.670Z' + lastModified: '2019-09-05T17:12:56.670Z' + merchandizeTotalTax: 0 + orderPriceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: asdfgh4567 + type: percentage + couponCode: 2345-009 + createdBy: System + creationDate: '2019-09-05T17:12:56.670Z' + custom: true + itemText: string + lastModified: '2019-09-05T17:12:56.670Z' + manual: true + price: 0 + priceAdjustmentId: 324545673fgjghj + promotionId: 1000-7654 + promotionLink: link to promotion + reasonCode: PRICE_MATCH + orderTotal: 0 + paymentInstruments: + - amount: 0 + authorizationStatus: + code: AUTH + message: Authorizing + status: 0 + bankRoutingNumber: string + maskedGiftCertificateCode: string + paymentCard: + cardType: Visa + creditCardExpired: false + creditCardToken: sadjklfajkgae + expirationMonth: 12 + expirationYear: 2019 + holder: John + issueNumber: '389342643978' + maskedNumber: '**************53' + numberLastDigits: '8753' + validFromMonth: 4 + validFromYear: 2015 + paymentInstrumentId: creditCard + paymentMethodId: credit + productItems: + - adjustedTax: 0 + basePrice: 0 + bonusDiscountLineItemId: string + bonusProductLineItem: true + bundledProductItems: + - quantity: 10 + gift: true + giftMessage: string + inventoryId: string + itemId: string + itemText: string + optionItems: + - adjustedTax: 0 + basePrice: 110 + bonusDiscountLineItemId: dsklgladsjkq349857 + bonusProductLineItem: true + bundledProductItems: + - quantity: 10 + gift: true + giftMessage: Happy Birthday + inventoryId: '258963' + itemId: apple-ipod-classic + itemText: Apple iPod Classic + optionId: 34526hjyuGGH56 + optionItems: + - optionId: sdiughsdjkfgoqtuy + optionValueId: '1564897654' + optionValueId: string + price: 0 + priceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: 34526hjyuGGH56 + type: percentage + couponCode: '109475' + createdBy: System + creationDate: '2019-09-05T17:12:56.670Z' + custom: true + itemText: '' + lastModified: '2019-09-05T17:12:56.670Z' + manual: true + price: 0 + priceAdjustmentId: '1597563' + promotionId: '963852' + promotionLink: link to promotion + reasonCode: PRICE_MATCH + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: apple-ipod-classic + productListItem: + id: 2345245e654utjSSDFfdhh + priority: 0 + productDetailsLink: + productDescription: apple-ipod-classic + productId: apple-ipod-classic + productName: Apple iPod Classic + title: Apple iPod Classic Silver + productList: + description: My Product List + name: Electronics + public: true + title: My Electronics Wish List + type: wish_list + public: true + purchasedQuantity: 0 + quantity: 0 + type: product + productName: Apple iPod Classic + quantity: 0 + shipmentId: 12345rdsghfjh + shippingItemId: 47568ghfhjgkg + tax: 0 + taxBasis: 0 + taxClassId: STATE + taxRate: 0 + price: 0 + priceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: string + type: percentage + couponCode: sadfghgjw4e56r7 + createdBy: System + creationDate: '2019-09-05T17:12:56.672Z' + custom: true + itemText: string + lastModified: '2019-09-05T17:12:56.672Z' + manual: true + price: 0 + priceAdjustmentId: asdgfhg5463798453 + promotionId: 100-7345 + promotionLink: Link to promotion + reasonCode: PRICE_MATCH + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: string + productListItem: + id: string + priority: 0 + productDetailsLink: + productDescription: apple-ipod-classic + productId: apple-ipod-classic + productName: Apple iPod Classic + title: Apple iPod Classic Silver + productList: + description: My Product List + name: Electronics + public: true + title: My Electronics Wish List + type: wish_list + public: true + purchasedQuantity: 0 + quantity: 0 + type: product + productName: Apple iPod Classic + quantity: 0 + shipmentId: 12345rdsghfjh + shippingItemId: 47568ghfhjgkg + tax: 0 + taxBasis: 0 + taxClassId: STATE + taxRate: 0 + productSubTotal: 0 + productTotal: 0 + shipments: + - adjustedMerchandizeTotalTax: 0 + adjustedShippingTotalTax: 0 + gift: true + giftMessage: Happy Birthday + merchandizeTotalTax: 0 + productSubTotal: 0 + productTotal: 0 + shipmentId: '1200' + shipmentNo: '3' + shipmentTotal: 0 + shippingAddress: + address1: 10 Presidential Way + city: string + countryCode: US + firstName: John + fullName: John M. Smith + id: abfTWMDZOgi3JPzkHjv9IhmziI + lastName: Smith + phone: '123450003' + postalCode: '01827' + salutation: Mr. + stateCode: MA + shippingMethod: + c_storePickupEnabled: true + description: Ship using FEDEX + externalShippingMethod: FEDEX + id: '1200' + name: John Smith + price: 0 + shippingPromotions: + - calloutMsg: Callout Message + promotionId: 123452768sdfgh + promotionName: Special Promotion + shippingStatus: not_shipped + shippingTotal: 0 + shippingTotalTax: 0 + taxTotal: 0 + trackingNumber: 89e980-562489-54ifsdgj + shippingItems: + - adjustedTax: 0 + basePrice: 0 + itemId: 2345245e654utjSSDFfdhh + itemText: apple-iPod-classic + price: 0 + priceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: string + type: percentage + couponCode: sadfghgjw4e56r7 + createdBy: System + creationDate: '2019-09-05T17:12:56.672Z' + custom: true + itemText: string + lastModified: '2019-09-05T17:12:56.672Z' + manual: true + price: 0 + priceAdjustmentId: asdgfhg5463798453 + promotionId: 100-7345 + promotionLink: Link to promotion + reasonCode: PRICE_MATCH + priceAfterItemDiscount: 0 + shipmentId: asghdfjghwertyu + tax: 0 + taxBasis: 0 + taxClassId: STATE + taxRate: 0 + shippingTotal: 0 + shippingTotalTax: 0 + sourceCode: '' + taxTotal: 0 + taxation: gross + total: 1 + CustomersOrdersResult: + value: + limit: 1 + data: + - adjustedMerchandizeTotalTax: 0 + adjustedShippingTotalTax: 0 + billingAddress: + address1: 10 Presidential Way + city: Woburn + countryCode: US + firstName: John + fullName: John M. Smith + id: abfTEMDZOgi3JPrkHjv9IhoziM + lastName: Smith + phone: '123450003' + postalCode: '01827' + salutation: Mr. + stateCode: MA + bonusDiscountLineItems: + - bonusProducts: + - productDescription: Bonus Product + productId: '34984327448' + productName: Extra Fluffy Bonus Product + title: Bonus Product + couponCode: BONUS + id: qhegj345ruhrfkj + maxBonusItems: 1 + promotionId: basds98295jsafi + channelType: storefront + confirmationStatus: not_confirmed + couponItems: + - code: '5634573' + couponItemId: 100-89038 + statusCode: coupon_code_already_in_basket + valid: true + creationDate: '2019-09-05T17:12:56.670Z' + currency: USD + customerInfo: + c_familyStatus: string + customerId: abfTEMDZOgi3JPrkHjv9IhoziM + customerName: John Smith + customerNo: '00010009' + email: jsmith@demandware.com + exportStatus: not_exported + externalOrderStatus: string + giftCertificateItems: + - amount: 0 + giftCertificateItemId: '901' + message: Preferred Customer + recipientEmail: jsmith@demandware.com + recipientName: John Smith + senderName: Jane Smith + shipmentId: 678934jsadLHY5 + lastModified: '2019-09-05T17:12:56.670Z' + merchandizeTotalTax: 0 + orderPriceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: asdfgh4567 + type: percentage + couponCode: 2345-009 + createdBy: System + creationDate: '2019-09-05T17:12:56.670Z' + custom: true + itemText: string + lastModified: '2019-09-05T17:12:56.670Z' + manual: true + price: 0 + priceAdjustmentId: 324545673fgjghj + promotionId: 1000-7654 + promotionLink: link to promotion + reasonCode: PRICE_MATCH + orderTotal: 0 + paymentInstruments: + - amount: 0 + authorizationStatus: + code: AUTH + message: Authorizing + status: 0 + bankRoutingNumber: string + maskedGiftCertificateCode: string + paymentCard: + cardType: Visa + creditCardExpired: false + creditCardToken: sadjklfajkgae + expirationMonth: 12 + expirationYear: 2019 + holder: John + issueNumber: '389342643978' + maskedNumber: '**************53' + numberLastDigits: '8753' + validFromMonth: 4 + validFromYear: 2015 + paymentInstrumentId: creditCard + paymentMethodId: credit + paymentStatus: not_paid + productItems: + - adjustedTax: 0 + basePrice: 0 + bonusDiscountLineItemId: string + bonusProductLineItem: true + bundledProductItems: + - quantity: 10 + gift: true + giftMessage: string + inventoryId: string + itemId: string + itemText: string + optionItems: + - adjustedTax: 0 + basePrice: 110 + bonusDiscountLineItemId: dsklgladsjkq349857 + bonusProductLineItem: true + bundledProductItems: + - quantity: 10 + gift: true + giftMessage: Happy Birthday + inventoryId: '258963' + itemId: apple-ipod-classic + itemText: Apple iPod Classic + optionId: 34526hjyuGGH56 + optionItems: + - optionId: sdiughsdjkfgoqtuy + optionValueId: '1564897654' + optionValueId: string + price: 0 + priceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: 34526hjyuGGH56 + type: percentage + couponCode: '109475' + createdBy: System + creationDate: '2019-09-05T17:12:56.670Z' + custom: true + itemText: '' + lastModified: '2019-09-05T17:12:56.670Z' + manual: true + price: 0 + priceAdjustmentId: '1597563' + promotionId: '963852' + promotionLink: link to promotion + reasonCode: PRICE_MATCH + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: apple-ipod-classic + productListItem: + id: 2345245e654utjSSDFfdhh + priority: 0 + productDetailsLink: + productDescription: apple-ipod-classic + productId: apple-ipod-classic + productName: Apple iPod Classic + title: Apple iPod Classic Silver + productList: + description: My Product List + name: Electronics + public: true + title: My Electronics Wish List + type: wish_list + public: true + purchasedQuantity: 0 + quantity: 0 + type: product + productName: Apple iPod Classic + quantity: 0 + shipmentId: 12345rdsghfjh + shippingItemId: 47568ghfhjgkg + tax: 0 + taxBasis: 0 + taxClassId: STATE + taxRate: 0 + price: 0 + priceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: string + type: percentage + couponCode: sadfghgjw4e56r7 + createdBy: System + creationDate: '2019-09-05T17:12:56.672Z' + custom: true + itemText: string + lastModified: '2019-09-05T17:12:56.672Z' + manual: true + price: 0 + priceAdjustmentId: asdgfhg5463798453 + promotionId: 100-7345 + promotionLink: Link to promotion + reasonCode: PRICE_MATCH + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: string + productListItem: + id: string + priority: 0 + productDetailsLink: + productDescription: apple-ipod-classic + productId: apple-ipod-classic + productName: Apple iPod Classic + title: Apple iPod Classic Silver + productList: + description: My Product List + name: Electronics + public: true + title: My Electronics Wish List + type: wish_list + public: true + purchasedQuantity: 0 + quantity: 0 + type: product + productName: Apple iPod Classic + quantity: 0 + shipmentId: 12345rdsghfjh + shippingItemId: 47568ghfhjgkg + tax: 0 + taxBasis: 0 + taxClassId: STATE + taxRate: 0 + productSubTotal: 0 + productTotal: 0 + shipments: + - adjustedMerchandizeTotalTax: 0 + adjustedShippingTotalTax: 0 + gift: true + giftMessage: Happy Birthday + merchandizeTotalTax: 0 + productSubTotal: 0 + productTotal: 0 + shipmentId: '1200' + shipmentNo: '3' + shipmentTotal: 0 + shippingAddress: + address1: 10 Presidential Way + city: string + countryCode: US + firstName: John + fullName: John M. Smith + id: abfTWMDZOgi3JPzkHjv9IhmziI + lastName: Smith + phone: '123450003' + postalCode: '01827' + salutation: Mr. + stateCode: MA + shippingMethod: + c_storePickupEnabled: true + description: Ship using FEDEX + externalShippingMethod: FEDEX + id: '1200' + name: John Smith + price: 0 + shippingPromotions: + - calloutMsg: Callout Message + link: link to shipping promotions + promotionId: 123452768sdfgh + promotionName: Special Promotion + shippingStatus: not_shipped + shippingTotal: 0 + shippingTotalTax: 0 + taxTotal: 0 + trackingNumber: 89e980-562489-54ifsdgj + shippingItems: + - adjustedTax: 0 + basePrice: 0 + itemId: 2345245e654utjSSDFfdhh + itemText: apple-iPod-classic + price: 0 + priceAdjustments: + - appliedDiscount: + amount: 0 + percentage: 0 + priceBookId: string + type: percentage + couponCode: sadfghgjw4e56r7 + createdBy: System + creationDate: '2019-09-05T17:12:56.672Z' + custom: true + itemText: string + lastModified: '2019-09-05T17:12:56.672Z' + manual: true + price: 0 + priceAdjustmentId: asdgfhg5463798453 + promotionId: 100-7345 + promotionLink: Link to promotion + reasonCode: PRICE_MATCH + priceAfterItemDiscount: 0 + shipmentId: asghdfjghwertyu + tax: 0 + taxBasis: 0 + taxClassId: STATE + taxRate: 0 + shippingStatus: not_shipped + shippingTotal: 0 + shippingTotalTax: 0 + sourceCode: '' + status: created + taxTotal: 0 + taxation: gross + offset: 0 + total: 1 + UpdatePasswordBody: + value: + currentPassword: 01dpass + password: newpass + CustomerPaymentInstrumentBody: + value: + paymentCard: + expirationYear: 2027 + expirationMonth: 7 + validFromMonth: 8 + validFromYear: 2007 + issueNumber: i117 + number: '1234567' + holder: John Smith + cardType: MasterCard + giftCertificateCode: gift_code7 + paymentMethodId: OCAPI_Payment_Simple + bankRoutingNumber: bankrouting3776 + getCustomerPaymentInstrumentSuccess: + value: + bankRoutingNumber: bankrouting3776 + paymentCard: + cardType: MasterCard + creditCardExpired: false + expirationMonth: 7 + expirationYear: 2027 + holder: John Smith + issueNumber: i117 + maskedNumber: '***4567' + numberLastDigits: '4567' + validFromMonth: 8 + validFromYear: 2007 + paymentMethodId: OCAPI_Payment_Simple + paymentInstrumentId: cdOLciWbOsYl6aaadkwcsx9xHH + customerProductListResult: + value: + limit: 1 + data: + - coRegistrant: + email: janedoe@example.com + firstName: Jane + lastName: Doe + role: Bride + creationDate: '2019-10-18T22:06:28.965Z' + currentShippingAddressInfo: + addressId: home_address + title: home_address, John Murphy, Burlington + customerProductListItems: + - id: 30f35c187ea255ccb633c3ba11 + priority: 4 + productId: SimpleProduct + public: false + purchasedQuantity: 0 + quantity: 2 + type: product + postEventShippingAddressInfo: + addressId: home_address + title: home_address, John Murphy, Burlington + productListShippingAddress: + addressId: home_address + city: Burlington + firstName: John + lastName: Murphy + name: OurProductList + registrant: + email: johndoe@example.com + firstName: John + lastName: Doe + role: Groom + lastModified: '2019-10-18T22:06:28.971Z' + description: a productlist + event: + city: any city + country: USA + type: product_list_event + id: 8b04014a9d6e5dbae542004824 + public: false + type: wish_list + total: 1 + PostCustomerProductListBody: + value: + coRegistrant: + email: janedoe@example.com + firstName: Jane + lastName: Doe + role: Bride + creationDate: '2019-10-18T22:06:28.965Z' + description: our productlist + event: + city: Washington + country: US + date: '2019-09-05T17:12:56.670Z' + state: DC + type: Wedding + id: bcedkiWbxCM2MaaadkRhB2IBzM + lastModified: '2019-10-18T22:06:28.971Z' + name: OurProductList + public: true + registrant: + email: johndoe@example.com + firstName: John + lastName: Doe + role: Groom + type: wish_list + customerProductList: + value: + coRegistrant: + email: janedoe@example.com + firstName: Jane + lastName: Doe + role: Bride + creationDate: '2019-10-18T22:06:28.965Z' + currentShippingAddressInfo: + addressId: home_address + title: home_address, John Murphy, Burlington + description: our productlist + event: + city: Washington + country: US + date: '2019-09-05T17:12:56.670Z' + state: DC + type: Wedding + id: bcedkiWbxCM2MaaadkRhB2IBzM + lastModified: '2019-10-18T22:06:28.971Z' + name: OurProductList + postEventShippingAddressInfo: + addressId: home_address + title: home_address, John Murphy, Burlington + productListShippingAddress: + addressId: home_address + city: Burlington + firstName: John + lastName: Murphy + public: false + registrant: + email: johndoe@example.com + firstName: John + lastName: Doe + role: Groom + shippingAddressInfo: + addressId: me + title: me, John Doe, Woburn + type: wish_list + getCustomerProductListByListId: + value: + coRegistrant: + email: janedoe@example.com + firstName: Jane + lastName: Doe + role: Bride + creationDate: '2019-10-18T22:06:28.965Z' + currentShippingAddressInfo: + addressId: home_address + title: home_address, John Murphy, Burlington + customerProductListItems: + - id: 30f35c187ea255ccb633c3ba11 + priority: 4 + productId: SimpleProduct + public: false + purchasedQuantity: 0 + quantity: 2 + type: product + description: our productlist + event: + city: Washington + country: US + date: '2019-09-05T17:12:56.670Z' + state: DC + type: Wedding + id: bcedkiWbxCM2MaaadkRhB2IBzM + lastModified: '2019-10-18T22:06:28.971Z' + name: OurProductList + public: true + registrant: + email: johndoe@example.com + firstName: John + lastName: Doe + role: Groom + type: wish_list + UpdateCustomerProductListByListIdBody: + value: + description: Description + updateCustomerProductListByListId: + value: + coRegistrant: + email: janedoe@example.com + firstName: Jane + lastName: Doe + role: Bride + creationDate: '2019-10-18T22:06:28.965Z' + currentShippingAddressInfo: + addressId: home_address + title: home_address, John Murphy, Burlington + customerProductListItems: + - id: 30f35c187ea255ccb633c3ba11 + priority: 4 + productId: SimpleProduct + public: false + purchasedQuantity: 0 + quantity: 2 + type: product + description: Description + event: + city: Washington + country: US + date: '2019-09-05T17:12:56.670Z' + state: DC + type: Wedding + id: bcedkiWbxCM2MaaadkRhB2IBzM + lastModified: '2019-10-18T22:06:28.971Z' + name: OurProductList + public: true + registrant: + email: johndoe@example.com + firstName: John + lastName: Doe + role: Groom + type: wish_list + UpdateCustomerProductListItemBody: + value: + id: 1d447daa4d25805fd682bd4ce1 + priority: 4 + productId: RedDress1 + public: true + purchasedQuantity: 0 + quantity: 2 + type: product + updateCustomerProductListItemSuccess: + value: + id: 1d447daa4d25805fd682bd4ce1 + priority: 4 + productId: RedDress1 + public: true + purchasedQuantity: 0 + quantity: 2 + type: product + getCustomerProductListItemSuccess: + value: + id: 1d447daa4d25805fd682bd4ce1 + priority: 4 + productId: RedDress1 + product: + id: RedDress1 + imageGroups: + - images: + - alt: ALT master detail + link: https://example.com/foo/bar/master_detail.jpg + title: TITLE master detail + viewType: detail + - images: + - alt: ALT master swatch + link: https://example.com/foo/bar/master_swatch.jpg + title: TITLE master swatch + viewType: swatch + - images: + - alt: ALT master thumbnail + link: https://example.com/foo/bar/master_thumbnail.jpg + title: TITLE master thumbnail + viewType: thumbnail + inventories: + - ats: 0 + backorderable: false + id: RedDress1Inventory + orderable: false + preorderable: false + stockLevel: 0 + minOrderQuantity: 1 + price: 99.99 + stepQuantity: 1 + public: true + purchasedQuantity: 0 + quantity: 2 + type: product + CustomerProductListItemBody: + value: + productId: RedDress1 + id: '1' + purchasedQuantity: 0 + priority: 3 + quantity: 4 + public: false + type: product + productListsResultExample: + value: + limit: 3 + data: + - description: our productlist + id: f4682729817ee215acd3a1a8b4 + name: OurProductList + title: OurProductList + type: wish_list + - description: something + id: b985bea3aaae7702c0b692c65c + name: OurProductList + title: OurProductList + type: wish_list + - description: our productlist + id: 95aa60b8c681ad5431cb4c5bfa + name: OurProductList + title: OurProductList + type: wish_list + total: 3 + getPublicProductListsBySearchTerm401: + value: + title: Invalid Access Token + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token + detail: The request is unauthorized, the access token is invalid. + accessToken: iI6IjEiLCJhbGciOiJIUzI1NiIsInR5cCI6Ik + publicProductListItemsExample: + value: + id: 023513f915fad06573f330fb0d + priority: 0 + product: + id: RedDress1 + imageGroups: + - images: + - alt: ALT master detail + link: https://example.com/foo/bar/master_detail.jpg + title: TITLE master detail + viewType: detail + - images: + - alt: ALT master swatch + link: https://example.com/foo/bar/master_swatch.jpg + title: TITLE master swatch + viewType: swatch + - images: + - alt: ALT master thumbnail + link: https://example.com/foo/bar/master_thumbnail.jpg + title: TITLE master thumbnail + viewType: thumbnail + inventories: + - ats: 0 + backorderable: false + id: RedDress1Inventory + orderable: false + preorderable: false + stockLevel: 0 + minOrderQuantity: 1 + price: 99.99 + stepQuantity: 1 + type: product diff --git a/apis/discovery/shopper-discovery-search/.metadata.json b/apis/discovery/shopper-discovery-search/.metadata.json deleted file mode 100644 index 2292cc4a..00000000 --- a/apis/discovery/shopper-discovery-search/.metadata.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-discovery-search/1.1.6", - "name": "Shopper Discovery Search", - "description": "Einstein-powered product search and search suggestions.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-discovery-search", - "version": "1.1.6", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Discovery" - ], - "CC Version Status": [ - "Beta" - ] - } -} diff --git a/apis/discovery/shopper-discovery-search/exchange.json b/apis/discovery/shopper-discovery-search/exchange.json deleted file mode 100644 index 345d536b..00000000 --- a/apis/discovery/shopper-discovery-search/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"shopper-discovery-search.raml","name":"Shopper Discovery Search","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"shopper-discovery-search","version":"1.1.6","metadata":{"branchId":"master","commitId":"a4cb11ee1d04aca969bfbdf1b21327c40a64af33","projectId":"8ec8fc51-3758-4cad-be54-624e5fc81f48"},"apiVersion":"v1","classifier":"raml","dependencies":[{"assetId":"api-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.1.9"},{"assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.0.16"},{"assetId":"discovery-examples","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.0.2"},{"assetId":"discovery-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"0.0.27"},{"assetId":"discovery-query-common-library","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.0.8"}],"tags":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml deleted file mode 100644 index f1a8b110..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - Uuid: Identifiers.UniversallyUniqueIdentifier - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/error-response.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/identifers.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/identifers.raml deleted file mode 100644 index 9270d9e3..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/identifers.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/pagination-types.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/example.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/example.raml deleted file mode 100644 index 240efb3e..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/example.raml +++ /dev/null @@ -1,92 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/exchange.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/exchange.json deleted file mode 100644 index 46903cec..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.9","apiVersion":"v1","dependencies":[]} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/securitySchemes/gdot.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/securitySchemes/gdot.raml deleted file mode 100644 index 3afcaaf8..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/async-created.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/date-conditional-request.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-conditional-request.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-response.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/offset-paginated.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-429.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-headers.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index 4463d386..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-2.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-3.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-4.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-5.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/sync-created.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml deleted file mode 100644 index fa1a4f62..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/discovery-examples.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/discovery-examples.raml deleted file mode 100644 index 57d9a4e5..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/discovery-examples.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -Discovery Examples: \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/exchange.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/exchange.json deleted file mode 100644 index 66d4a407..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"discovery-examples.raml","name":"Discovery Examples","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"discovery-examples","version":"1.0.2","classifier":"raml-fragment","dependencies":[],"tags":["example"]} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/results-400-error-example.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/results-400-error-example.raml deleted file mode 100644 index c25e3d76..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/results-400-error-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/invalid-request", - "title": "Invalid Request", - "detail": "Limit 'limit.max' out of bounds" - } \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/results-example.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/results-example.raml deleted file mode 100644 index 9a94eefa..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/results-example.raml +++ /dev/null @@ -1,119 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "hits": [ - { - "matchedItem": { - "itemId": "canon-powershot-sd990-is", - "attributes": [ - { - "attributeId": "name", - "path": "name-text@L:en", - "value": "Canon PowerShot A580 Digital Point and Shoot Camera" - }, - { - "attributeId": "relative-image-path", - "path": "relative-image-path", - "value": "large/canon-powershot-sd990-is.jpg" - }, - { - "attributeId": "price_usd-sale-prices", - "path": "price_usd-sale-prices", - "value": 399.99 - } - ] - }, - "groupId": "canon", - "groupedItems": [ - { - "itemId": "canon-powershot-sd990-is", - "links": { - "self": { - "href": "https://example.api.commercecloud.salesforce.com/discovery/query/organizations/f_ecom_zzxy_prd/channels/ACME-US-Site/items/canon-eos-rebel-xs-wlens" - } - } - }, - { - "itemId": "canon-eos-rebel-xs-wlens" - } - ] - }, - { - "matchedItem": { - "itemId": "canon-powershot-g10", - "attributes": [ - { - "attributeId": "name", - "path": "name-text@L:en", - "value": "Canon PowerShot G10 Digital Point and Shoot Camera" - }, - { - "attributeId": "relative-image-path", - "path": "relative-image-path", - "value": "large/canon-powershot-g10.jpg" - }, - { - "attributeId": "price_usd-sale-prices", - "path": "price_usd-sale-prices", - "value": 699.99 - } - ] - }, - "groupId": "canon", - "groupedItems": [ - { - "itemId": "canon-powershot-g10", - "links": { - "self": { - "href": "https://example.api.commercecloud.salesforce.com/discovery/query/organizations/f_ecom_zzxy_prd/channels/ACME-US-Site/items/canon-powershot-g10" - } - } - }, - { - "itemId": "canon-powershot-sd990-is" - } - ] - } - ], - "facets": [ - { - "attributeId": "category-id", - "facetType": "VALUE_FACET_OUTPUT", - "values": [ - { - "value": "electronics", - "count": 4 - }, - { - "value": "newarrivals", - "count": 2 - }, - ] - }, - { - "attributeId": "brand", - "facetType": "VALUE_FACET_OUTPUT", - "values": [ - { - "value": "Canon", - "count": 4 - } - ] - }, - { - "facetType": "RANGE_FACET_INPUT", - "attributeId": "price_usd-sale-prices", - "min": 399.99, - "max": 699.99 - } - ], - "limit": 10, - "offset": 0, - "total": 2, - "links": { - "self": { - "href": "https://example.api.commercecloud.salesforce.com/discovery/query/organizations/f_ecom_zzxy_prd/channels/ACME-US-Site/results?offset=0&limit=10" - } - } - } \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/suggestions-400-error-example.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/suggestions-400-error-example.raml deleted file mode 100644 index d30d8c09..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/suggestions-400-error-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/invalid-request", - "title": "Invalid Request", - "detail": "Limit 'searchTextLength.max' out of bounds" - } \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/suggestions-example.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/suggestions-example.raml deleted file mode 100644 index 50abec81..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/suggestions-example.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "recentSearchPhrases": [], - "suggestedSearchPhrases": [ - { - "phrase": "camera" - } - ], - "popularSearchPhrases": [ - { - "phrase": "canon" - }, - { - "phrase": "camera" - }, - { - "phrase": "nikon" - }, - { - "phrase": "trouser" - }, - { - "phrase": "shorts" - }, - { - "phrase": "shirt" - } - ] -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-facet-library.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-facet-library.raml deleted file mode 100644 index 48f6beb2..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-facet-library.raml +++ /dev/null @@ -1,100 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - FacetRequest: - description: An entity describing the requested facet attributes. Explicit list of facet attributes can be requested in the "facets" field. Discovery will attempt to extend the result with most relevant facets up to the specified facet limit if one is set. - properties: - facetLimit?: - description: The number of expected facet attributes in the result. Discovery will try to fill up the result with most relevant facet attributes up to the specified limit including the required facet attributes from the "facets" property. If the "facets" property is not provided or empty the result will be extended with most relevant facet attributes based on the query up to the specified limit. If one or more facet attributes are provided at the optional "facets" property, the attributes will be included in the result in addition to the most relevant facet attributes. If this property is not specified, only facet attributes from the "facets" property will be considered in the result. If the "facetLimit" property is less than the number of attributes in the "facets" property, then the "facetLimit" property will be ignored. - type: integer - format: int64 - example: 8 - facets?: - description: Facet attributes which are required in the result. - type: FacetInput[] - - FacetInput: - description: An entity describing what type of faceting of the results is required. For example, results can be faceted by an attribute like color which has distinct values like red, blue, white etc. This is called value faceting. The results can also be faceted on a range of values having a lower and an upper bound like price. This is called range faceting. - type: object - properties: - attributeId: DiscoveryStandards.AttributeId - facetType: - type: string - description: The type of faceting the results - either value based or based on a range. - discriminator: facetType - - ValueFacetInput: - description: An entity describing the attributes that need to be faceted. For example, results can be faceted by an attribute like color, or brand. - type: FacetInput - discriminatorValue: VALUE_FACET_INPUT - properties: - mask?: - description: Specifies the values that must be faceted. All other values are ignored in the results. - type: string[] - minItems: 1 - uniqueItems: true - example: [red, blue] - additionalProperties: false - - RangeFacetInput: - description: An entity describing the attribute for which the range needs to be found in the returned results. For example, the results can be faceted by price; in which case, the min and max price of the items returned in the search results is made available. - type: FacetInput - discriminatorValue: RANGE_FACET_INPUT - additionalProperties: false - - FacetOutput: - description: A specific view of the returned results. For example, if value faceting on the brand attribute, the output could be the brand name followed by how many of the items in the search results belong to that brand name - such as "Adidas - 5, Puma - 10, Nike - 15, New Balance - 2". If range faceting on price, the output is the price attribute followed by the minimum and maximum price of the items in the search results - such as "price - 9.99 (min), 549.99 (max)". - type: object - properties: - attributeId: DiscoveryStandards.AttributeId - facetType: - type: string - description: The type of faceting the results - either value based or based on a range. - discriminator: facetType - - ValueFacetOutputEntity: - description: An individual faceted entity. For example, when faceting by color, this will be a value like "red - 7" (color, followed by how many of the items in the search results have that color). - type: object - properties: - value: - description: The faceted value. - type: string - maxLength: 256 - example: red - count: - description: The count of the faceted value. - type: integer - format: int64 - example: 7 - - ValueFacetOutput: - description: A specific view of the returned results with unique attributes and their counts. For example, when faceted by color, this will be a set of values like "red - 7, blue - 10, white - 21" (color, followed by how many of the items in the search results have that color). - type: FacetOutput - discriminatorValue: VALUE_FACET_OUTPUT - properties: - values?: - description: Optional one or more ValueFacetOutputEntity objects. - type: ValueFacetOutputEntity[] - uniqueItems: true - example: [{value: red, count: 7}, {value: blue, count: 8}] - additionalProperties: false - - RangeFacetOutput: - description: A specific view of the returned results with the minimum and maximum values. For example, when faceted by price, this will be value like "price - 9.99 (min), 549.99 (max)" (range faceted attribute (price in this case), followed by the minimum and maximum value of that attribute in the search results). - type: FacetOutput - discriminatorValue: RANGE_FACET_OUTPUT - properties: - min: - description: The serialized minimum value in the faceting range of number, integer, date-only, or datetime type. - type: any - example: "10, 100, 2019-12-31, 2019-12-31T23:59:59.000Z" - max: - description: The serialized maximum value in the faceting range of number, integer, date-only, or datetime type. - type: any - example: "20, 200, 2020-12-31, 2020-12-31T23:59:59.000Z" - additionalProperties: false \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-grouping-library.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-grouping-library.raml deleted file mode 100644 index e67e13e6..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-grouping-library.raml +++ /dev/null @@ -1,30 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - Grouping: - description: Describes what the returned results must be grouped on. For example, results can be grouped by category such as 'Men's Shirts' or 'Kid's Toys'. They can also be grouped by a particular attribute variation - for example, grouping can be done on color, showing a collection of items that only vary by the color and nothing else. - type: object - properties: - groupType: - description: Specifies what the returned results are grouped on. - type: string - discriminator: groupType - - AttributeGrouping: - description: Describes which attribute the returned results must be grouped on. For example, results can be grouped by size and all items belonging to a specific size will be belong to one group, such as Men's XL sized t-shirts. - type: Grouping - discriminatorValue: ATTRIBUTE - properties: - attributeId: DiscoveryStandards.AttributeId - returnedAttributes?: - description: One or more attributes that should exclusively be returned for grouped items. If this field is not specified then it will inherit the returned attributes specified under Query Input. If no returned attributes are specified under Query Input then all returnable attributes will be returned. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - uniqueItems: true - additionalProperties: false - \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-query-library.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-query-library.raml deleted file mode 100644 index b9ad7079..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-query-library.raml +++ /dev/null @@ -1,138 +0,0 @@ -#%RAML 1.0 Library - -uses: - ApiStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - DiscoveryRefinementLibrary: discovery-refinement-library.raml - DiscoveryFacetLibrary: discovery-facet-library.raml - DiscoverySortingLibrary: discovery-sorting-library.raml - DiscoveryGroupingLibrary: discovery-grouping-library.raml - DiscoveryQueryOutputLibrary: discovery-query-output-library.raml - -types: - - Query: - description: An object which is used for performing a search. For example, a user can be search based on a phrase like "jacket" which looks for items containing that phrase in any searchable attribute. This type of querying is called a phrase query. Another example is to search a based on a phrase like "women's petite shirts" and constrain that search to a specific attribute like the item's description. This type of querying is called an attributes query. - type: object - properties: - queryType: - description: The type of the query. - type: string - correctableAttributes?: CorrectableAttributes - highlighting?: Highlighting - discriminator: queryType - - CorrectableAttributes: - description: An entity which contains configuration used for checking the spelling of a search phrase in a query. The provided attributes are used as the sources for correctly spelled words. - type: object - properties: - attributes: - description: One or more Attribute Id objects. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - maxItems: 10 - uniqueItems: true - example: [ name, brand ] - - Highlighting: - description: An entity which contains configuration for returning snippets of attributes based on a phrase. Each result will return the most relevant highlight for the given search phrase used in the query. - type: object - properties: - attributes: - description: One or more Attribute Id objects. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - maxItems: 1 - uniqueItems: true - example: [ name ] - - PhraseQuery: - description: A type of query where the search is done for a phrase over all searchable fields. For example, a search based on a phrase like "thermometer" which will look for items containing that search phrase in any searchable attribute. - type: Query - discriminatorValue: PHRASE_QUERY - properties: - value: - description: The value to search for. - type: string - example: jacket - additionalProperties: false - - AttributesQuery: - description: A type of query where the search is done for a phrase in a specified set of searchable attributes. For exampe, a search for a phrase like "thermometer" only in selected attributes like "description" and "features". - type: Query - discriminatorValue: ATTRIBUTES_QUERY - properties: - value: - description: A combination of one or more attributes, and the text to search for. - properties: - attributes: - description: One or more Attribute Id objects. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - uniqueItems: true - example: [ name, brand ] - phrase: - description: The value to search for in the attributes. - type: string - example: socks - additionalProperties: false - - QueryInput: - description: Body of the Query when a request is sent to do a search. - type: CommerceCloudStandards.ClosedObject - properties: - query?: - description: An object which is used for performing a search. - type: Query - refinements?: - description: One or more conditions which are used to filter the returned results. - type: DiscoveryRefinementLibrary.Refinement[] - minItems: 1 - uniqueItems: true - returnedAttributes?: - description: One or more attributes that should exclusively be returned. If this field is not specified then all returnable attributes will be returned. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - uniqueItems: true - grouping?: DiscoveryGroupingLibrary.Grouping - facets?: - description: One or more attributes on which the returned results need to be faceted. - type: DiscoveryFacetLibrary.FacetInput[] - minItems: 1 - uniqueItems: true - facetRequest?: - description: An entity describing the required facet attributes in the result. - type: DiscoveryFacetLibrary.FacetRequest - sorting: DiscoverySortingLibrary.Sorting - - QueryOutput: - description: Body of the response after a search is completed. - type: CommerceCloudStandards.ClosedObject - properties: - hits: - description: A collection of result entities. - type: DiscoveryQueryOutputLibrary.Result[] - uniqueItems: true - facets?: - description: An optional collection of facet entities. - type: array - items: DiscoveryFacetLibrary.FacetOutput - minItems: 1 - uniqueItems: true - links: - type: DiscoveryStandards.PaginationLinks - examples: - links: - prev: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/query/v2/organizations/org-id/data-sets/c8e138bc-5aa0-48c7-b10a-eeb8d60fee0e/results?offset=0&limit=10 - self: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/query/v2/organizations/org-id/data-sets/c8e138bc-5aa0-48c7-b10a-eeb8d60fee0e/results?offset=10&limit=10 - next: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/query/v2/organizations/org-id/data-sets/c8e138bc-5aa0-48c7-b10a-eeb8d60fee0e/results?offset=20&limit=10 - limit: ApiStandards.Limit - offset: ApiStandards.Offset - total: - description: The total number of matching items. - type: integer - format: int64 diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-query-output-library.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-query-output-library.raml deleted file mode 100644 index 12607ce2..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-query-output-library.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - ItemReference: - description: An entity that corresponds to an item in the search result. For example, in Commerce Cloud, this could be an item in a catalog of items that a merchant sells. - type: object - properties: - itemId: DiscoveryStandards.AttributeId - attributes?: - description: The attributes that were requested for when performing a search. - type: DiscoveryStandards.ExpansionAttribute[] - - Highlight: - description: An entity containing an attribute ID and the highlight value found for that attribute. Each highlight will have the matched segment from the input phrase wrapped in and tags. - type: object - properties: - attributeId: DiscoveryStandards.AttributeId - value: - type: string - description: The highlight value - example: This lightweight jacket is perfect for cool weather. - - Result: - description: An entity referencing an item and the group to which it belongs. Items can be grouped based on attributes that are groupable. If such a grouping is asked for at the time of querying, then the grouped items are also returned. - type: CommerceCloudStandards.ClosedObject - properties: - matchedItem: - description: An entity that corresponds to an item in the search result. - type: ItemReference - highlights?: - description: A collection of highlights found for the matched item. - type: Highlight[] - groupId?: - description: Identifier of the grouped items. - type: string - example: 26194e28-9b2a-4a7e-b3e9-8328dd9acfca - totalGroupedItems?: - description: The total number of items grouped together if there are any grouped items. - type: number - example: 5 - groupedItems?: - description: A collection of grouped items. - type: ItemReference[] - minItems: 1 - uniqueItems: true diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-refinement-library.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-refinement-library.raml deleted file mode 100644 index 0b97b02d..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-refinement-library.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - Refinement: - description: The criteria for filtering search results. Search results can be filtered by filterable attributes to further narrow down the number of items being presented to the user. For example, search results can be filtered to only show items belonging to a specific brand. - type: object - properties: - attributeId: DiscoveryStandards.AttributeId - refinementType: - description: The type of a refinement. - type: string - discriminator: refinementType - - ValueRefinement: - description: A type of refinement where one or more phrases are used for refining the search results for a given attribute. For example, you can refine a search result to only show items that are eligible for expedited shipping. - type: Refinement - discriminatorValue: VALUE_REFINEMENT - properties: - values: - description: One or more ways of refining the search results based on number, integer, date-only, datetime, boolean, or string types. - type: array - items: - type: any - example: "9, 99, 2019-12-31, 2019-12-31T23:59:59.000Z, true, skiing" - minItems: 1 - uniqueItems: true - additionalProperties: false - - RangeRefinement: - description: A type of refinement where a range of values is used for refining the search results for a given attribute. For example, you can refine the search results to only show items that are below a specific price point. - type: Refinement - discriminatorValue: RANGE_REFINEMENT - properties: - min: - description: The minimum value in a range of type number, integer, date-only, datetime. - type: any - example: "9, 99, 2019-12-31, 2019-12-31T23:59:59.000Z" - max: - description: The maximum value in a range of type number, integer, date-only, or datetime. - type: any - example: "90, 990, 2020-12-31, 2020-12-31T23:59:59.000Z" - additionalProperties: false diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-sorting-library.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-sorting-library.raml deleted file mode 100644 index 6f254289..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-sorting-library.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - Sorting: - description: Describes what and how the returned results must be sorted. An attribute must be sortable before it can be used for sorting. - type: object - properties: - sortType: - description: Specifies what is sorted. For example, an attribute like 'brand' can be sorted. - type: string - discriminator: sortType - - AttributeSorting: - description: Describes which attribute the returned results must be sorted on. For example, sorting can be done based on the average user rating of the items returned in the results. - type: Sorting - discriminatorValue: ATTRIBUTE - properties: - attributeId: DiscoveryStandards.AttributeId - direction: - description: Specifies how to sort the returned results. - enum: - - ASCENDING - - DESCENDING - example: ASCENDING - additionalProperties: false - - RelevanceSorting: - description: Describes if the results need to be sorted based on relevance score. - type: Sorting - discriminatorValue: RELEVANCE - additionalProperties: false diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-suggestion-library.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-suggestion-library.raml deleted file mode 100644 index edf64bc8..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-suggestion-library.raml +++ /dev/null @@ -1,42 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - SuggestionType: - description: - The different types of suggestions. - * RECENT - Search phrases that a shopper has recently executed. - * SUGGESTED - Search phrases presented to a shopper based on recent activity and a base search text. - * POPULAR - Search phrases that are trending in a shopper’s geolocation. - enum: - - RECENT - - SUGGESTED - - POPULAR - example: SUGGESTED - - Suggestion: - description: A single suggested term for searching. For example, a suggested term can be handy when doing auto-complete as and when a user is searching for an item in an online store. - type: CommerceCloudStandards.ClosedObject - properties: - phrase: - description: The suggested phrase. - type: string - example: shoes - - Suggestions: - description: A collection of suggested terms for searching. - type: CommerceCloudStandards.ClosedObject - properties: - recentSearchPhrases?: - description: Most recent search phrases from the clients. - type: Suggestion[] - suggestedSearchPhrases?: - description: The suggested phrases based on the partial input. - type: Suggestion[] - popularSearchPhrases?: - description: Popular search phrases across the service. - type: Suggestion[] diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/exchange.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/exchange.json deleted file mode 100644 index 373d2070..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"discovery-query-library.raml","name":"Discovery Query Common Library","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"discovery-query-common-library","version":"1.0.8","classifier":"raml-fragment","dependencies":[{"assetId":"api-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.1.9"},{"assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.0.16"},{"assetId":"discovery-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"0.0.27"}],"tags":[]} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/Authentication.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/Authentication.json deleted file mode 100644 index 5fa11f58..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/Authentication.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/authentication-failure", - "title": "Authentication Failure", - "detail": "Authentication failed due to missing or invalid token.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/Authorization.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/Authorization.json deleted file mode 100644 index c8a35b8c..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/Authorization.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/authorization-failure", - "title": "Authorization Failure", - "detail": "The provided credentials are not authorized to access this resource.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/InternalServerError.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/InternalServerError.json deleted file mode 100644 index 67f7a9b1..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/InternalServerError.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/internal-server-error", - "title": "Internal Server Error", - "detail": "There was an error completing your request.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/InvalidRequest.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/InvalidRequest.json deleted file mode 100644 index 7d87b944..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/InvalidRequest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/invalid-request", - "title": "Invalid Request", - "detail": "The provided request information is of an invalid format.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/LimitExceeded.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/LimitExceeded.json deleted file mode 100644 index 04283b9e..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/LimitExceeded.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/limit-exceeded", - "title": "Limit Exceeded", - "detail": "You have exceeded a limit for the provided attibutes.", - "instance": "{Resource URI}", - "limits": [ - { - "limitDetails": "ATTRIBUTE_USAGE_FACETABLE_COUNT", - "count": 90, - "limit": 50 - }, - { - "limitDetails": "ATTRIBUTE_USAGE_FILTERABLE_COUNT", - "count": 15, - "limit": 12 - } - ] -} diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/NonReadableHttpMessage.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/NonReadableHttpMessage.json deleted file mode 100644 index ad324f32..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/NonReadableHttpMessage.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/non-readable-http-message", - "title": "Non-Readable HTTP Message", - "detail": "The request could not be processed.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/NotFound.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/NotFound.json deleted file mode 100644 index c8ef3747..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/NotFound.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/not-found", - "title": "Resource Not Found", - "detail": "The requested {resource} was not found.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/RateLimitExceeded.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/RateLimitExceeded.json deleted file mode 100644 index 023db860..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/RateLimitExceeded.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/rate-limit-reached", - "title": "Rate Limit Reached", - "detail": "The request could not be processed due to the current volume of requests.", - "instance": "{Resource URI}", - "requestLimit": 1000 -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/ServiceUnavailable.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/ServiceUnavailable.json deleted file mode 100644 index e8511a4c..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/ServiceUnavailable.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/service-unavailable", - "title": "Service Unavailable", - "detail": "The server is temporarily unable to handle the request.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Traits/common-errors.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Traits/common-errors.raml deleted file mode 100644 index e5b112f3..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Traits/common-errors.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be used to wrap common errors into a single trait include. - -uses: - ErrorTypes: ../discovery-error-types.raml - -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorTypes.BadRequest - 401: - description: Authentication Failure. - body: - application/problem+json: - type: ErrorTypes.AuthenticationFailure - 403: - description: Authorization Failure. - body: - application/problem+json: - type: ErrorTypes.AuthorizationFailure - 404: - description: Not Found. - body: - application/problem+json: - type: ErrorTypes.NotFound - 429: - description: Too Many Requests. - headers: - Retry-After: - examples: - after-seconds: "120" - body: - application/problem+json: - type: ErrorTypes.RateLimitExceeded - 500: - description: Internal Server Error. - body: - application/problem+json: - type: ErrorTypes.InternalServerError - 503: - description: Service Unavailable. - body: - application/problem+json: - type: ErrorTypes.ServiceUnavailable - - diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Traits/resource-common-errors.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Traits/resource-common-errors.raml deleted file mode 100644 index 6d7c5192..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Traits/resource-common-errors.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be used to wrap common errors into a single trait include. - -uses: - ErrorTypes: ../discovery-error-types.raml - -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorTypes.ResourceBadRequest - 401: - description: Authentication Failure. - body: - application/problem+json: - type: ErrorTypes.AuthenticationFailure - 403: - description: Authorization Failure. - body: - application/problem+json: - type: ErrorTypes.AuthorizationFailure - 404: - description: Not Found. - body: - application/problem+json: - type: ErrorTypes.NotFound - 429: - description: Too Many Requests. - headers: - Retry-After: - examples: - after-seconds: "120" - body: - application/problem+json: - type: ErrorTypes.RateLimitExceeded - 500: - description: Internal Server Error. - body: - application/problem+json: - type: ErrorTypes.InternalServerError - 503: - description: Service Unavailable. - body: - application/problem+json: - type: ErrorTypes.ServiceUnavailable - - diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/discovery-error-types.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/discovery-error-types.raml deleted file mode 100644 index 18cc51e7..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/discovery-error-types.raml +++ /dev/null @@ -1,156 +0,0 @@ -#%RAML 1.0 Library - -# Discovery Error Response Types -# -# These types have been defined as part of the Discovery Mercury project (https://salesforce.quip.com/0EWTAH24eIMb). -# All error types are based on the error response formats for HTTP APIs, following the standard [IETF rfc7807]. -# https://tools.ietf.org/html/rfc7807 - -types: - - BaseError: - description: Standardized properties defined in the Commerce Cloud Standard error-response DataType raml file. Every error type consists of at least the four properties provided here of type, title, detail, and resource. - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" - additionalProperties: false - - # Discovery Error Type Definitions: - AuthenticationFailure: - description: Error type indicating an error due to lack of authentication. Users are required to authenticate to access all Discovery API endpoints. Users should attempt to re-authenticate before retrying the request. - type: BaseError - example: !include Examples/Authentication.json - - AuthorizationFailure: - description: Error type indicating an error due to lack of privilege. Users who are authenticated but attempt to access a resource which they don't have permission to access will receive this error. - type: BaseError - example: !include Examples/Authorization.json - - NotFound: - description: Error type indicating the user attempted to access a resource or endpoint which doesn't exist. - type: BaseError - example: !include Examples/NotFound.json - - ServiceUnavailable: - description: Error type indicating the server temporarily cannot process the request due to internal issues, but the same request can be retried at a later point in time. - type: BaseError - example: !include Examples/ServiceUnavailable.json - - InternalServerError: - description: Error type indicating that the server could not fulfil the client’s request due to some unexpected condition. - type: BaseError - example: !include Examples/InternalServerError.json - - RateLimitExceeded: - description: Error type indicating that the user has reached a rate limit for the server by sending requests too frequently. This error includes the limit of allowed requests to the resource. - type: BaseError - properties: - requestLimit: - description: A number returned indicating the maximum number of allowed requests for the instance being requested. - type: number - example: !include Examples/RateLimitExceeded.json - - BadRequest: - description: Error indicating that the request was malformed. Provides multiple examples under the scope of one type. - type: BaseError - examples: - InvalidRequest: !include Examples/InvalidRequest.json - NonReadableHttpMessage: !include Examples/NonReadableHttpMessage.json - - InvalidRequest: - description: Error type indicating that the server cannot or will not process the request due to something that is perceived to be a client error. An example of this would be providing a attribute value within a json body which is not one of the defined attribute types. - type: BadRequest - example: !include Examples/InvalidRequest.json - - NonReadableHttpMessage: - description: Errors type indicating an invalid/non-parsable JSON was sent by the user. An example of this would be a JSON which is missing a bracket, and cannot be processed. - type: BadRequest - example: !include Examples/NonReadableHttpMessage.json - - ResourceBadRequest: - description: Error indicating that the request was malformed. Additionally thrown when the request was not processed due to violation of a server enforced quota or limit. This error will include a list of enums indicating the respective server limits which have been exceeded. - type: BaseError - properties: - limits?: - description: A list of limit objects providing the exceeded limits and the respective counts. - type: Limit[] - examples: - InvalidRequest: !include Examples/InvalidRequest.json - NonReadableHttpMessage: !include Examples/NonReadableHttpMessage.json - LimitExceeded: !include Examples/LimitExceeded.json - - ResourceInvalidRequest: - description: Error type indicating that the server cannot or will not process the request due to something that is perceived to be a client error. - type: BadRequest - example: !include Examples/InvalidRequest.json - - ResourceNonReadableHttpMessage: - description: Errors type indicating an invalid/non-parsable JSON was sent by the user. This case is normally handled by the spring framework before the request reaches the application endpoint. - type: ResourceBadRequest - example: !include Examples/NonReadableHttpMessage.json - - Limit: - description: A type of resource limit which can be exceeded. Each enum corresponds to a different limit defined by the Discovery APIs non-functional requirements. - properties: - limitDetails: - description: An enum indicating the respective server limit which has been exceeded. - enum: - - ATTRIBUTE_DEFINITION_COUNT - - ITEM_IDENTIFIER_ATTRIBUTE_DEFINITION_COUNT - - ATTRIBUTE_USAGE_FACETABLE_COUNT - - ATTRIBUTE_USAGE_FILTERABLE_COUNT - - ATTRIBUTE_USAGE_GROUPABLE_COUNT - - ATTRIBUTE_USAGE_SEARCHABLE_COUNT - - ATTRIBUTE_USAGE_SORTABLE_COUNT - - ATTRIBUTE_CONFIGURATION_LOCALIZED_PATHS_COUNT - - QUERY_INPUT_PHRASE_COUNT - - QUERY_INPUT_TAG_IDS_COUNT - - QUERY_INPUT_FACETS_COUNT - - QUERY_INPUT_SORTING_COUNT - - QUERY_INPUT_GROUPING_COUNT - - QUERY_INPUT_REFINEMENTS_COUNT - - QUERY_INPUT_PAGINATION_COUNT - count: - description: The current count of data associated with he provided enum. - type: integer - example: 51 - limit: - description: The defined limit value associated with the provided enum. - type: integer - example: 50 diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Traits/bulk-retrieval-filters.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Traits/bulk-retrieval-filters.raml deleted file mode 100644 index cadaa1f2..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Traits/bulk-retrieval-filters.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 Trait - -usage: This trait allows for the filtering of resources using timestamps and resource identifiers. - -queryParameters: - ids?: - description: Collection of resource identifiers representing the desired resources to return. - type: string[] - uniqueItems: true - example: - - 1907c0db-3845-431a-b36b-61f7efc818cc - - dee3ce6a-bc2f-4893-b91c-59c9a677f42d - creationDateTimeStart?: - description: Filters by excluding the resources that have creationDateTime before the defined time. - type: datetime - example: 2020-02-27T00:00:00Z - creationDateTimeEnd?: - description: Filters by excluding the resources that have creationDateTime after the defined time. - type: datetime - example: 2020-02-28T10:41:50Z - lastUpdateDateTimeStart?: - description: Filters by excluding the resources that have lastUpdateDateTime before the defined time. - type: datetime - example: 2020-02-28T09:41:50Z - lastUpdateDateTimeEnd?: - description: Filters by excluding the resources that have lastUpdateDateTime after the defined time. - type: datetime - example: 2020-02-28T10:41:50Z \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Traits/traceable.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Traits/traceable.raml deleted file mode 100644 index 1a5e95b4..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Traits/traceable.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 Trait - -usage: This trait allows for taking in an input header containing a request identifier. - -headers: - RequestId?: - description: Client defined unique identifier, used for tracking within the domain. - type: string - maxLength: 256 - example: f20c37c8-f153-4001-b033-c7b32e1e8651 diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/base-uri-parameters.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/base-uri-parameters.raml deleted file mode 100644 index cc90c09a..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/base-uri-parameters.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: - -types: - - Region: - description: Region in which the service is exposed. - example: en-US - - Version: - description: The version of the commerce cloud API. - example: v2 \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/date-times.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/date-times.raml deleted file mode 100644 index e0aa5072..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/date-times.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 Library - -types: - - CreationDateTime: - description: The date time the resource was created. - type: datetime - example: 2020-02-28T10:41:50Z - - LastUpdateDateTime: - description: The date time when the resource was last modified. - type: datetime - example: 2020-02-27T06:13:07Z \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/expansion-attribute.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/expansion-attribute.raml deleted file mode 100644 index f98471b0..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/expansion-attribute.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType - -uses: - IDs: identifiers.raml - -description: An entity containing an attribute ID, the attribute's path, and the attribute's value for a corresponding item. -properties: - attributeId: IDs.AttributeId - path: - description: The path, using dot notation, that this attribute corresponds to. - type: string - example: item.brand - value: - description: The data for the given attribute. - type: any \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/identifiers.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/identifiers.raml deleted file mode 100644 index 1d55a387..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/identifiers.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Library - -types: - - DataSetId: - description: The unique identifier of a Data Set resource. - type: string - maxLength: 256 - example: d4330450-df8a-439f-80f8-847ae3cb564f - - AttributeId: - description: User defined unique identifier for a specific attribute. - type: string - maxLength: 256 - example: name \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/links.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/links.raml deleted file mode 100644 index 1bb88630..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/links.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 Library - -types: - - Reference: - description: Location of a resource. - type: string - - Self: - description: Link to the resource. - properties: - href: Reference - additionalProperties: false - - SelfResourceLink: - description: Entity containing a HATEOS link to a resource. - properties: - self: Self - additionalProperties: false - - Pagination: - description: Entity containing HATEOS links. These are links that allow navigating (paging) a result set. - properties: - prev?: - description: Link to the previous set of results. - type: Self - self: - description: Link to the current set of results. - type: Self - next?: - description: Link to the next set of results. - type: Self - additionalProperties: false diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml deleted file mode 100644 index 2629c1bf..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Library -usage: | - These RAML components look to define the common entities in the Discovery Domain, and are intended to be used in combination with the API Standards and Commerce Cloud Standards libraries to ensure consistency over all Discovery API contracts. - -uses: - DateTimes: Types/date-times.raml - IDs: Types/identifiers.raml - Links: Types/links.raml - UriParameters: Types/base-uri-parameters.raml - -types: - - # Base URI Parameters - Region: UriParameters.Region - Version: UriParameters.Version - - # Resource Indentifiers - DataSetId: IDs.DataSetId - AttributeId: IDs.AttributeId - - # Datetimes - CreationDateTime: DateTimes.CreationDateTime - LastUpdateDateTime: DateTimes.LastUpdateDateTime - - # Links - ResourceLink: Links.SelfResourceLink - - # Pagination - PaginationLinks: Links.Pagination - - # Resources - ExpansionAttribute: !include Types/expansion-attribute.raml - -traits: - - Traceable: !include Traits/traceable.raml - - Filterable: !include Traits/bulk-retrieval-filters.raml - - # Error Traits: - # - # Wraps Traits of the same status code to provide an optional response. - # Provides a CommonErrors trait for errors shared across all APIs. - - CommonErrors: !include Errors/Traits/common-errors.raml - # Wraps: Invalid Request, NonReadableHttpMessage, AuthorizationFailure, AuthenticationFailure, NotFound, RateLimitExceeded, InternalServerError, ServiceUnavailable. - - ResourceCommonErrors: !include Errors/Traits/resource-common-errors.raml - # Wraps: Invalid Request, NonReadableHttpMessage, AuthorizationFailure, AuthenticationFailure, NotFound, RateLimitExceeded, InternalServerError, ServiceUnavailable, LimitExceeded - \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/example.raml b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/example.raml deleted file mode 100644 index de9191e5..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/example.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 -title: An example file showing the usage of the Discovery Standards library. -version: v0 -mediaType: - - application/json - -uses: - Standards: discovery-standards.raml - -protocols: [ HTTPS ] - -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/discovery/sample/{version} - -description: A sample file showing the various entities in this standards library. - -/organizations/{organizationId}: - /data-sets: - post: - description: A sample endpoint to create a resource. - displayName: createResource - is: - - Standards.ResourceCommonErrors - responses: - 200: - description: Returns the identifier of the created resource. - body: - properties: - attributeId: Standards.AttributeId - - /data-sets/{dataSetId}/attributes: - uriParameters: - dataSetId: - type: Standards.DataSetId - get: - description: A sample endpoint to get a resource. - displayName: getResource - is: - - Standards.CommonErrors - responses: - 200: - description: The resource was retrieved. - body: - description: A collection of attribute identifiers. - properties: - type: Standards.DataSetId - - /data-sets/{dataSetId}/attributes/{attributeId}: - uriParameters: - dataSetId: - type: Standards.DataSetId - attributeId: - type: Standards.AttributeId - delete: - description: A sample endpoint to delete a resource. - displayName: deleteResource - responses: - 201: - description: The resource was deleted. diff --git a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/exchange.json b/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/exchange.json deleted file mode 100644 index 78146a9c..00000000 --- a/apis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"discovery-standards.raml","name":"Discovery Standards","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"discovery-standards","version":"0.0.27","classifier":"raml-fragment","dependencies":[],"tags":[]} \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/ramltojaxrs.raml b/apis/discovery/shopper-discovery-search/ramltojaxrs.raml deleted file mode 100644 index c677d803..00000000 --- a/apis/discovery/shopper-discovery-search/ramltojaxrs.raml +++ /dev/null @@ -1,32 +0,0 @@ -#%RAML 1.0 Library -annotationTypes: - types: - allowedTargets: [TypeDeclaration,API] - properties: - className?: - type: string - implementationClassName?: - type: string - usePrimitiveType?: - type: boolean - abstract?: - type: boolean - plugins?: any[] - resources: - allowedTargets: [Resource, Method, Response, API] - properties: - plugins?: any[] - methods: - allowedTargets: [Method, API] - properties: - plugins?: any[] - - responseClasses: - allowedTargets: [Method, API] - properties: - plugins?: any[] - - responses: - allowedTargets: [Response, API] - properties: - plugins?: any[] diff --git a/apis/discovery/shopper-discovery-search/shopper-discovery-search-description.md b/apis/discovery/shopper-discovery-search/shopper-discovery-search-description.md deleted file mode 100644 index c182056f..00000000 --- a/apis/discovery/shopper-discovery-search/shopper-discovery-search-description.md +++ /dev/null @@ -1 +0,0 @@ -These APIs provide the capability to search Discovery services based on channel identifier and also get Suggestions that show the most recently searched items, items that are popular in the user's locale, and items that are recommended based on the user's search history. \ No newline at end of file diff --git a/apis/discovery/shopper-discovery-search/shopper-discovery-search.raml b/apis/discovery/shopper-discovery-search/shopper-discovery-search.raml deleted file mode 100644 index 9bfa27c7..00000000 --- a/apis/discovery/shopper-discovery-search/shopper-discovery-search.raml +++ /dev/null @@ -1,101 +0,0 @@ -#%RAML 1.0 -version: v1 -title: Shopper Discovery Search - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - DiscoveryQueryLibrary: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-query-library.raml - DiscoverySuggestionLibrary: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-suggestion-library.raml - ErrorTypes: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/discovery-error-types.raml - ISOStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml - RamlToJaxrs: ramltojaxrs.raml - -mediaType: application/json -protocols: [ HTTPS ] - -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/discovery/query/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - example: 0dnz6oep - -description: !include shopper-discovery-search-description.md - -(RamlToJaxrs.resources): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.responses): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.responseClasses): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.methods): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.types): - plugins: - - name: ramltojaxrs.chainSetter - -/organizations/{organizationId}/channels/{channelId}: - type: CommerceCloudStandards.Organization - is: - - DiscoveryStandards.Traceable - - DiscoveryStandards.ResourceCommonErrors - uriParameters: - channelId: - description: The unique identifier of a Channel. - type: string - maxLength: 256 - example: ACME-US-Site - /results: - type: CommerceCloudStandards.Organization - post: - description: This method retrieves search results for a Channel. - displayName: retrieveResults - is: - - ApiStandards.OffsetPaginated: - maxLimit: 240 - defaultSize: 30 - queryParameters: - locale: ISOStandards.LanguageCountry - body: - type: DiscoveryQueryLibrary.QueryInput - responses: - 200: - description: The response after retrieving search results. - body: - type: DiscoveryQueryLibrary.QueryOutput - examples: - results: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/results-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-discovery-search] } - /suggestions: - type: CommerceCloudStandards.Organization - get: - description: This method gets suggestions for the user's search activity for a channel. - displayName: getSuggestions - queryParameters: - suggestionTypes: - description: The types of suggestions to return. - type: DiscoverySuggestionLibrary.SuggestionType[] - example: [ SUGGESTED, POPULAR ] - searchText?: - description: The optional text to retrieve suggestions for. - type: string - minLength: 3 - maxLength: 10 - example: wool - locale: ISOStandards.LanguageCountry - responses: - 200: - description: The response on requesting for suggestions. - body: - type: DiscoverySuggestionLibrary.Suggestions - examples: - results: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/suggestions-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-discovery-search] } \ No newline at end of file diff --git a/apis/discovery/shopper-search/.metadata.json b/apis/discovery/shopper-search/.metadata.json deleted file mode 100644 index 35e42bcb..00000000 --- a/apis/discovery/shopper-search/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-search/1.0.42", - "name": "Shopper Search", - "description": "product search and helpful search suggestions.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-search", - "version": "1.0.42", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Discovery" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/discovery/shopper-search/Examples/product-search-400-error-example.raml b/apis/discovery/shopper-search/Examples/product-search-400-error-example.raml deleted file mode 100644 index bcb9bdd1..00000000 --- a/apis/discovery/shopper-search/Examples/product-search-400-error-example.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "title": "Malformed Price Refinement", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-price-refinement", - "detail": "The price refinement '(0.500)' is malformed. Something similar to '(0..100)' was expected.", - "malformedPrice": "(0.500)" - } \ No newline at end of file diff --git a/apis/discovery/shopper-search/Examples/product-search-result-example.raml b/apis/discovery/shopper-search/Examples/product-search-result-example.raml deleted file mode 100644 index b77b733f..00000000 --- a/apis/discovery/shopper-search/Examples/product-search-result-example.raml +++ /dev/null @@ -1,336 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "limit": 3, - "hits": [ - { - "currency": "USD", - "hitType": "master", - "image": { - "alt": "Modern Dress Shirt, , large", - "disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw7671b929/images/large/B0174501_GY9_0.jpg", - "link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw7671b929/images/large/B0174501_GY9_0.jpg", - "title": "Modern Dress Shirt, " - }, - "orderable": true, - "price": 135, - "productId": "74974310", - "productName": "Modern Dress Shirt", - "productType": { - "master": true - }, - "representedProduct": { - "id": "74974310-1" - }, - "representedProducts": [ - { - "id": "74974310-1" - }, - { - "id": "74974310-2" - }, - { - "id": "74974310-3" - }, - { - "id": "74974310-4" - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "color", - "values": [ - { - "name": "Blue", - "orderable": true, - "value": "002" - } - ] - }, - { - "id": "size", - "name": "size", - "values": [ - { - "name": "15R", - "orderable": true, - "value": "15R" - }, - { - "name": "15L", - "orderable": true, - "value": "15L" - }, - { - "name": "16L", - "orderable": true, - "value": "16L" - } - ] - } - ] - }, - { - "currency": "USD", - "hitType": "master", - "image": { - "alt": "The White Dress Shirt, , large", - "disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg", - "link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg", - "title": "The White Dress Shirt, " - }, - "orderable": true, - "price": 135, - "productId": "78916783", - "productName": "The White Dress Shirt", - "productType": { - "master": true - }, - "representedProduct": { - "id": "78916783-1" - }, - "representedProducts": [ - { - "id": "78916783-1" - }, - { - "id": "78916783-2" - }, - { - "id": "78916783-3" - }, - { - "id": "78916783-4" - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "White", - "orderable": true, - "value": "white" - } - ] - }, - { - "id": "size", - "name": "size", - "values": [ - { - "name": "15L", - "orderable": true, - "value": "15L" - }, - { - "name": "15R", - "orderable": true, - "value": "15R" - } - ] - } - ] - }, - { - "currency": "USD", - "hitType": "master", - "image": { - "alt": "Striped Shirt, , large", - "disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw83b22281/images/large/PG.10213135.JJ9VSA5.PZ.jpg", - "link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw83b22281/images/large/PG.10213135.JJ9VSA5.PZ.jpg", - "title": "Striped Shirt, " - }, - "orderable": true, - "price": 40.99, - "productId": "25518484", - "productName": "Striped Shirt", - "productType": { - "master": true - }, - "representedProduct": { - "id": "701642854760" - }, - "representedProducts": [ - { - "id": "701642854760" - }, - { - "id": "701642854784" - }, - { - "id": "701642854791" - }, - { - "id": "701642854777" - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "Royal Multi", - "orderable": true, - "value": "JJ9VSA5" - } - ] - }, - { - "id": "size", - "name": "Size", - "values": [ - { - "name": "S", - "orderable": true, - "value": "9SM" - }, - { - "name": "M", - "orderable": true, - "value": "9MD" - }, - { - "name": "L", - "orderable": true, - "value": "9LG" - }, - { - "name": "XL", - "orderable": true, - "value": "9XL" - } - ] - } - ] - } - ], - "pageMetaTags": [ - { - "id": "robots", - "value": "index,follow" - }, - { - "id": "title", - "value": "Find amazing products in Storefront Catalog - EN' today" - } - ], - "query": "shirt", - "refinements": [ - { - "attributeId": "cgid", - "label": "Category", - "values": [ - { - "hitCount": 4, - "label": "New Arrivals", - "value": "newarrivals" - } - ] - }, - { - "attributeId": "c_refinementColor", - "label": "Color", - "values": [ - { - "hitCount": 0, - "label": "Beige", - "presentationId": "beige", - "value": "Beige" - }, - { - "hitCount": 0, - "label": "Yellow", - "presentationId": "yellow", - "value": "Yellow" - }, - { - "hitCount": 7, - "label": "Miscellaneous", - "presentationId": "miscellaneous", - "value": "Miscellaneous" - } - ] - }, - { - "attributeId": "price", - "label": "Price", - "values": [ - { - "hitCount": 14, - "label": "$20 - $49.99", - "value": "(20..50)" - }, - { - "hitCount": 26, - "label": "$50 - $99.99", - "value": "(50..100)" - }, - { - "hitCount": 6, - "label": "$100 - $499.99", - "value": "(100..500)" - } - ] - }, - { - "attributeId": "c_isNew", - "label": "New Arrival", - "values": [ - { - "hitCount": 1, - "label": "true", - "value": "true" - } - ] - }, - { - "attributeId": "brand", - "label": "brand", - "values": [ - { - "hitCount": 1, - "label": "Lacy-S", - "value": "Lacy-S" - } - ] - } - ], - "searchPhraseSuggestions": { - "suggestedPhrases": [ - { - "exactMatch": true, - "phrase": "shirt" - } - ], - "suggestedTerms": [ - { - "originalTerm": "shirt", - "terms": [ - { - "completed": false, - "corrected": false, - "exactMatch": true, - "value": "shirt" - } - ] - } - ] - }, - "sortingOptions": [ - { - "id": "best-matches", - "label": "Best Matches" - }, - { - "id": "price-low-to-high", - "label": "Price Low To High" - } - ], - "offset": 0, - "total": 46 - } \ No newline at end of file diff --git a/apis/discovery/shopper-search/Examples/search-suggestion-400-error-example.raml b/apis/discovery/shopper-search/Examples/search-suggestion-400-error-example.raml deleted file mode 100644 index 13bff5e1..00000000 --- a/apis/discovery/shopper-search/Examples/search-suggestion-400-error-example.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "title": "String Constraint Violation", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/string-constraint-violation", - "detail": "The string length constraint was violated by 'q'. The expected length is '(3..50)'.", - "expected": "(3..50)", - "parameter": "q" - } \ No newline at end of file diff --git a/apis/discovery/shopper-search/Examples/search-suggestion-result-example.raml b/apis/discovery/shopper-search/Examples/search-suggestion-result-example.raml deleted file mode 100644 index ef1b4e12..00000000 --- a/apis/discovery/shopper-search/Examples/search-suggestion-result-example.raml +++ /dev/null @@ -1,93 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "brandSuggestions": { - "suggestedPhrases": [ - { - "exactMatch": false, - "phrase": "Sony" - } - ], - "suggestedTerms": [ - { - "originalTerm": "son", - "terms": [ - { - "completed": true, - "corrected": false, - "exactMatch": false, - "value": "sony" - } - ] - } - ] - }, - "categorySuggestions": { - "suggestedTerms": [ - { - "originalTerm": "son" - } - ] - }, - "productSuggestions": { - "products": [ - { - "currency": "EUR", - "price": 300.00, - "productId": "sony-ps3-bundle", - "productName": "Playstation 3 Bundle" - }, - { - "currency": "EUR", - "price": 310.00, - "productId": "sony-alpha350-wlen", - "productName": "Sony Alpha 350 Digital SLR Camera w/18-70mm Lens" - }, - { - "currency": "EUR", - "price": 10.00, - "productId": "sony-alpha900-body", - "productName": "Sony Alpha 900 Digital SLR Camera (body only)" - }, - { - "currency": "EUR", - "price": 50.00, - "productId": "sony-warhawk-ps3", - "productName": "Warhawk (for Sony PS3)" - }, - { - "currency": "EUR", - "price": 280.00, - "productId": "sony-psp-console", - "productName": "Sony PSP® Game Console" - } - ], - "suggestedPhrases": [ - { - "exactMatch": false, - "phrase": "sony" - } - ], - "suggestedTerms": [ - { - "originalTerm": "son", - "terms": [ - { - "completed": true, - "corrected": false, - "exactMatch": false, - "value": "sony" - }, - { - "completed": true, - "corrected": false, - "exactMatch": false, - "value": "sonyalpha" - } - ] - } - ] - }, - "searchPhrase": "son" - } \ No newline at end of file diff --git a/apis/discovery/shopper-search/Traits/ProductSearchSelectBadRequest.raml b/apis/discovery/shopper-search/Traits/ProductSearchSelectBadRequest.raml deleted file mode 100644 index d2cb2307..00000000 --- a/apis/discovery/shopper-search/Traits/ProductSearchSelectBadRequest.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response. -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - examples: - MalformedSelectorGetProductsSearchForSelect: | - { - "title": "Malformed Selector", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-selector", - "detail": "The property selector '(hits.(currency, hitType,image.(**))' is malformed.", - "selector": "(hits.(currency, hitType,image.(**))" - } \ No newline at end of file diff --git a/apis/discovery/shopper-search/Traits/Unauthorized.raml b/apis/discovery/shopper-search/Traits/Unauthorized.raml deleted file mode 100644 index 662f89f4..00000000 --- a/apis/discovery/shopper-search/Traits/Unauthorized.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 401 response in case of authorization failure. - -responses: - 401: - description: Unauthorized. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "hbGciOiJIUzI1NiIsInR5cCI6Ikp" - } \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange.json b/apis/discovery/shopper-search/exchange.json deleted file mode 100644 index 2b7e0117..00000000 --- a/apis/discovery/shopper-search/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.42", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-search.raml", - "backwardsCompatible": false, - "assetId": "shopper-search", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Search", - "tags": [] -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/discovery/shopper-search/shopper-search-description.md b/apis/discovery/shopper-search/shopper-search-description.md deleted file mode 100644 index 15cf3828..00000000 --- a/apis/discovery/shopper-search/shopper-search-description.md +++ /dev/null @@ -1,77 +0,0 @@ -# API Overview - -The Shopper Search API enables you to implement search functionality that lets shoppers search for products using keywords and refinement. The search results can be products or suggestions based on the endpoint you choose in the API. - -Caching is provided for the Shopper Search API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) - -## Authentication & Authorization - -The client requesting the API must have access to the product search and search suggestion resource. -The Shopper Search API requires a JWT acquired via the Shopper Customers endpoint: - -``` -https://{shortCode}.api.commercecloud.salesforce.com/customer/shopper-customers/v1/organizations/{organizationId}/customers/actions/login -``` -## Use Cases - -### Provide Search Suggestions - -Use the Shopper Search API to provide search suggestions as a shopper searches. - -For example, a developer who is building a shopping app using the Salesforce Commerce API would like to provide product, brand, and category suggestions. When a shopper types in a search phrase that exceeds a definable minimum length and the GET Search Suggestion endpoint is requested, the platform delivers a set of suggestions with products (name, ID), brands (name), and categories (name, ID). Shoppers can reach their desired search results more quickly using the suggested completion and correction. - -### Provide Search Results - -Use the Shopper Search API to gather product results for a shoppers search query. - -For example, a developer who is building a shopping app using the Salesforce Commerce API would like to implement a product search functionality. When a shopper enters a search phrase and the GET Product Search endpoint is requested, the platform performs a keyword search and a sorted search result is returned. The sorted search result can be refined according to given values (for example, a price range). -The product search result contains a definable number of product search hits. A product search hit describes a matching product with its ID and name. Furthermore, the search hit contains product images, prices, represented products, and variations. In addition to the search hits, the search results also deliver refinement and sorting options. - -### Retrieve Promotion Information - -Note: This only applies if `promotions` expand is provided in the query parameter. - -Promotions provide discounts to shoppers when they meet certain purchase requirements. - -Promotion information is described in detail in [Promotion Details](https://developer.salesforce.com/docs/commerce/commerce-api/guide/promotion-details.html), but the following list provides several key points: - -- Pricing discounts for basket and shipping promotions are NEVER returned by the 'getProduct' or 'getProducts' endpoint. -- Promotional pricing is ONLY returned for products that are included with non-conditional promotions. -- Callout messages are ALWAYS returned by the 'getProduct' and 'getProducts' endpoints. - -By default, 'getProduct' and 'getProducts' return promotion information for a queried product. Promotion information includes both pricing and callout message information. However, the specific pricing and callout information that is fetched is determined by: - -- Promotion Type -- Product Type -- Product Purchase Requirements - -Some promotions can be displayed on a Product Data Page (PDP) or Product Listing page (PLP), while other promotions are displayed in the context of a basket, such as an order level promotion: "add the product to your basket to view price information". It is important to understand what is included in the response when designing a PDP or PLP on top of SCAPI to ensure your design aligns with implementable features. - -Note: When you search for a variant product, the Product Search API returns the master or main product as the primary search hit. When promotion data (productPromotion) is returned, it does not contain pricing information because the returned product is the main product. To retrieve pricing information, pass the query string `allVariationProperties=true` with the `promotions` expand parameter, which returns pricing data for variant products if the promotion is unconditional. The `allVariationProperties` flag specifies the variation properties to be included in the result. - -#### Shopper Personalization -The SCAPI response can be personalized using the Shopper Context API or hooks. By setting specific values in the Shopper Context API, you can modify the response of the 'getProduct' or 'getProducts' endpoint based on the shopper's context. For instance, you can offer a 5% discount or free shipping to shoppers using mobile devices. - -#### JWA Caching -The response is cached in JWA, which means promotion data contained in the response is also cached based on the TTL (Time to Live) specified in the Business Manager [Feature Switches](https://help.salesforce.com/s/articleView?id=cc.b2c_feature_switches.htm&type=5) configuration. -When the shopper context value is updated, a check is conducted to see if the updated shopper context affects the retrieval of product-promotion data. If it does, then the response is fetched from the source and cached in the JWA. - -For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) - - -### Use Hooks - -For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) - -## Best Practices - -These best practices refer to features that are generally available with B2C Commerce 24.3. - -For better performance, when you call the GET Product Search endpoint, we recommend that you: - -- Use the `select` query parameter to filter the response of a specified field or set of fields, and remove default outputs that you don't need. For example, filter the response to return only the relevant product names, ids, variants, and product IDs of the variants. -- Limit API requests to the GET Product Search endpoint instead of calling both the GET Product Search and GET Products endpoints to show information on a product listing page (PLP). Use these features to provide the additional product information needed to render product tiles: - - **Allowable value:** `promotions` value in the `expand` query parameter - - **Query parameters:** `perPricebook`, `allImages`, and `allVariationProperties` - - **Responses:** `productPromotions`, `imageGroups`, `priceRanges`, `tieredPrices`, `variants`, and `variationGroups` -- Pass in only the `expand` values and query parameters that you consider necessary to meet your PLP requirements. Requesting large amounts of information can increase the latency, especially if there's a lot of data to be returned (for example, many imageGroups and variants). \ No newline at end of file diff --git a/apis/discovery/shopper-search/shopper-search-library.raml b/apis/discovery/shopper-search/shopper-search-library.raml deleted file mode 100644 index afb231fc..00000000 --- a/apis/discovery/shopper-search/shopper-search-library.raml +++ /dev/null @@ -1,650 +0,0 @@ -#%RAML 1.0 Library - -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -traits: - Unauthorized: !include Traits/Unauthorized.raml - BadRequest: !include /Traits/ProductSearchSelectBadRequest.raml -types: - #types for product-search resource - PageMetaTag: - description: Document representing a Page Meta Tag object. - properties: - id: - description: The ID of the Page Meta Tag. - type: string - required: false - example: "title" - value: - description: Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID. - type: string - required: false - example: "Buy the Long Sleeve Covered Placket Blouse for USD 61.99." - - ProductRef: - description: Document representing a product reference. - properties: - id: - description: The ID of the product reference. - type: string - - ProductSearchHit: - description: Document representing a product search hit. - properties: - currency: - type: CommerceCloudStandards.CurrencyCode - required: false - hitType: - description: The type information for the search hit. - type: string - required: false - image: - description: The first image of the product hit for the configured viewtype. - type: Image - required: false - - orderable: - description: A flag indicating whether the product is orderable. - type: boolean - required: false - - price: - description: |- - The sales price of the product. In complex products, like master or set, this is the minimum price of - related child products. - type: number - format: double - required: false - - priceMax: - description: The maximum sales of related child products in complex products like master or set. - type: number - format: double - required: false - - prices: - description: The prices map with price book IDs and their values. - type: object - properties: - //: - type: number - format: double - required: false - - productId: - description: The ID (SKU) of the product. - type: string - - productName: - description: The localized name of the product. - type: string - required: false - - productType: - description: The type information for the product. - type: ProductType - required: false - - representedProduct: - description: The first represented product. - type: ProductRef - required: false - - representedProducts: - description: All the represented products. - type: array - items: - type: ProductRef - required: false - - variationAttributes: - description: The array of represented variation attributes, for the master product only. This array can be empty. - type: array - items: - type: VariationAttribute - required: false - - imageGroups: - description: The array of product image groups. - type: array - items: - type: ImageGroup - required: false - - priceRanges: - description: Array of one or more price range objects representing one or more Pricebooks in context for the site. - type: array - items: - type: PriceRange - required: false - - productPromotions: - description: |- - The array of active customer product promotions for this product. This array can be empty. - Coupon promotions are not returned in this array. - type: array - items: - type: ProductPromotion - required: false - - tieredPrices: - description: The document represents list of tiered prices if the product is a variant - type: array - items: - type: ProductPriceTable - required: false - - variants: - description: The array of actual variants. Only for master, variation group, and variant types. This array can be empty. - type: array - items: - type: Variant - required: false - - variationGroups: - description: The array of actual variation groups. Only for master, variation group, and variant types. This array can be empty. - type: array - items: - type: VariationGroup - required: false - - - ProductSearchRefinement: - description: Document representing a product search refinement attribute. - properties: - attributeId: - description: |- - The ID of the search refinement attribute. In the case of an attribute refinement, this is the attribute ID. - Custom attributes are marked by the prefix "c_" (for example, "c_refinementColor"). In the case of a - category refinement, the ID must be "cgid". In the case of a price refinement, the ID must be "price". - type: string - label: - description: The localized label of the refinement. - type: string - required: false - values: - description: The sorted array of refinement values. This array can be empty. - type: array - items: - type: ProductSearchRefinementValue - required: false - - ProductSearchRefinementValue: - description: Document representing a product search refinement value. - properties: - description: - description: The localized description of the refinement value. - type: string - required: false - hitCount: - description: The number of search hits when selecting the refinement value. Can be 0. - type: integer - format: int32 - label: - description: The localized label of the refinement value. - type: string - presentationId: - description: |- - The optional presentation ID associated with the refinement value. - The presentation ID can be used, for example, to associate an ID with - an HTML widget. - type: string - required: false - value: - description: |- - The refinement value. In the case of an attribute refinement, this is the bucket, - the attribute value, or a value range. In the case of a category refinement, this is the - category ID. In the case of a price refinement, this is the price range. Ranges are - enclosed by parentheses and separated by ".."; for example, "(100..999)" and "(Aa..Fa)" - are valid ranges. - type: string - values: - description: The array of hierarchical refinement values. This array can be empty. - type: array - items: - type: ProductSearchRefinementValue - required: false - - - ProductSearchSortingOption: - description: Document representing a product search sorting option. - properties: - id: - description: The ID of the sorting option. - type: string - label: - description: The localized label of the sorting option. - type: string - - ProductType: - description: Document representing a product type. - properties: - bundle: - description: A flag indicating whether the product is a bundle. - type: boolean - required: false - item: - description: A flag indicating whether the product is a standard item. - type: boolean - required: false - master: - description: A flag indicating whether the product is a master. - type: boolean - required: false - option: - description: A flag indicating whether the product is an option. - type: boolean - required: false - set: - description: A flag indicating whether the product is a set. - type: boolean - required: false - variant: - description: A flag indicating whether the product is a variant. - type: boolean - required: false - variationGroup: - description: A flag indicating whether the product is a variation group. - type: boolean - required: false - - VariationAttributeValue: - description: Document representing a variation attribute value. - properties: - description: - description: The localized description of the variation value. - type: string - required: false - image: - description: The first product image for the configured viewtype and this variation value. - type: Image - required: false - imageSwatch: - description: The first product image for the configured viewtype and this variation value. Typically the swatch image. - type: Image - required: false - name: - description: The localized display name of the variation value. - type: string - required: false - orderable: - description: A flag indicating whether at least one variant with this variation attribute value is available to sell. - type: boolean - required: false - value: - description: The actual variation value. - minLength: 1 - type: string - - VariationAttribute: - description: Document representing a variation attribute. - properties: - id: - description: The ID of the variation attribute. - minLength: 1 - type: string - name: - description: The localized display name of the variation attribute. - type: string - required: false - values: - description: The sorted array of variation values. This array can be empty. - type: array - items: - type: VariationAttributeValue - required: false - - ProductSearchResult: - description: Document representing a product search result. - properties: - limit: - description: The number of returned documents. - type: ApiStandards.Limit - format: int32 - hits: - description: A sorted array of search hits (`ProductSearchHit` objects). The array can be empty. - type: ProductSearchHit[] - pageMetaTags: - description: Page Meta tags associated with the search result. - type: array - items: - PageMetaTag - required: false - query: - description: The query string that was searched for. - type: string - refinements: - description: The sorted array of search refinements. This array can be empty. - type: array - items: - type: ProductSearchRefinement - searchPhraseSuggestions: - description: The suggestion given by the system for the submitted search phrase. - type: Suggestion - selectedRefinements: - description: A map of selected refinement attribute ID or value pairs. The sorting order is the same as in request URL. - type: object - properties: - //: - type: string - required: false - selectedSortingOption: - description: The ID of the applied sorting option. - type: string - required: false - sortingOptions: - description: The sorted array of search sorting options. This array can be empty. - type: array - items: - type: ProductSearchSortingOption - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - total: - description: The total number of documents. - type: integer - format: int32 - - #shared types: used in both resources - Image: - properties: - alt: - type: string - required: false - disBaseLink: - type: string - required: false - link: - minLength: 1 - type: string - title: - type: string - required: false - - SuggestedPhrase: - description: Document representing a suggested search phrase. - properties: - exactMatch: - description: Returns whether this suggested phrase exactly matches the user input search phrase. - type: boolean - phrase: - description: Returns the suggested search phrase. - type: string - - SuggestedTerms: - description: Document representing a list of suggested terms for each term of a search phrase. - properties: - originalTerm: - description: Returns the original term that the suggested terms relates to. - type: string - terms: - description: Returns the suggested terms. - type: array - required: false - items: - type: SuggestedTerm - - SuggestedTerm: - description: Document representing a suggested term. - properties: - completed: - description: Returns whether this term value is a completion match. - type: boolean - corrected: - description: Returns whether this term value is a correction match. - type: boolean - exactMatch: - description: Returns whether this term value is a exact match. - type: boolean - value: - description: Returns the term value. - type: string - - Suggestion: - description: Document representing a suggestion. - properties: - suggestedPhrases: - description: A list of suggested phrases. This list can be empty. - type: array - required: false - items: - type: SuggestedPhrase - suggestedTerms: - description: A list of suggested terms. This list can be empty. - type: array - items: - type: SuggestedTerms - - #types for product-search resource - SuggestedProduct: - description: Document representing a product search hit. - properties: - currency: - type: CommerceCloudStandards.CurrencyCode - price: - description: |- - The sales price of the product. In the case of complex products like a master or a set, this is the minimum price of - related child products. - type: number - format: double - productId: - description: The ID (SKU) of the product. - type: string - productName: - description: The localized name of the product. - type: string - - SuggestedCategory: - properties: - id: - description: The ID of the category. - type: string - name: - description: The localized name of the category. - type: string - parentCategoryName: - description: The name of the parent category. - type: string - - CategorySuggestions: - type: Suggestion - properties: - categories: - required: false - description: The sorted list of suggested categories. This list can be empty. - type: array - items: - type: SuggestedCategory - - ProductSuggestions: - type: Suggestion - properties: - products: - required: false - description: The sorted list of suggested products. This list can be empty. - type: array - items: - type: SuggestedProduct - - BrandSuggestions: - description: The suggested brand names are listed in suggested phrases. If this list is empty, no brand suggestion for a given search phrase was found. - type: Suggestion - - CustomSuggestions: - description: The custom suggestions are listed in suggested phrases. If this list is empty, no custom suggestion for the given search phrase was found. - type: Suggestion - properties: - customSuggestion: - required: false - - SuggestionResult: - description: Document representing a search suggestion result. - properties: - brandSuggestions: - required: false - description: Returns the suggested brands. - type: BrandSuggestions - categorySuggestions: - required: false - description: Returns the suggested categories. - type: CategorySuggestions - productSuggestions: - required: false - description: Returns the suggested products. - type: ProductSuggestions - customSuggestion: - required: false - description: Returns custom suggestions. - type: CustomSuggestions - searchPhrase: - description: The query phrase (q) for which suggestions where made. - type: string - - ImageGroup: - description: Document representing an image group containing a list of images for a particular view type and an optional variation value. - properties: - images: - description: The images of the image group. - type: array - items: - type: Image - variationAttributes: - description: Returns a list of variation attributes applying to this image group. - type: array - items: - type: VariationAttribute - required: false - viewType: - description: The image view type. - type: string - example: "hi-res" - - PriceRange: - description: Document representing price ranges for a product which happens to be a master product (per Pricebook) - properties: - maxPrice: - description: Maximum price for the given pricebook (usually for a master Product would be the price for the Variant which has the highest price out of all Variants in that pricebook) - type: number - format: double - required: false - example: 10.89 - minPrice: - description: Minimum price for the given pricebook (usually for a master Product would be the price for the Variant which has the least price out of all Variants in that pricebook) - type: number - format: double - required: false - example: 10.89 - pricebook: - description: The active pricebook from which the min and the max prices are calculated. The pricebook is based on the site context of the request as defined in ECOM. - type: string - required: false - example: usd-list-pricebook - - ProductPriceTable: - description: Tiered Price Level Object - properties: - price: - description: Price for the product for the specified tier for the specified pricebook - type: number - format: double - required: false - example: 12.99 - pricebook: - description: The active pricebook for which this price is defined - type: string - required: false - example: usd-list-pricebook - quantity: - description: Quantity tier for which the price is defined. - type: number - format: double - required: false - example: 1.00 - - ProductPromotion: - description: Document representing a product promotion. - properties: - calloutMsg: - description: The localized call-out message of the promotion. - type: string - example: "Fantastic promotion" - promotionId: - description: The unique ID of the promotion. - type: string - example: "summerSale" - promotionalPrice: - description: The promotional price for this product. - type: number - format: double - example: 12.99 - - Variant: - description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU.* - properties: - orderable: - description: A flag indicating whether the variant is orderable. - type: boolean - required: false - example: true - price: - description: The sales price of the variant. - type: number - format: double - required: false - example: 25.99 - productId: - description: The ID (SKU) of the variant. - maxLength: 100 - minLength: 1 - type: string - example: "8W4756834" - tieredPrices: - description: List of tiered prices if the product is a variant - type: array - items: - type: ProductPriceTable - required: false - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - required: false - productPromotions: - description: |- - The array of active customer product promotions for this product. This array can be empty. - Coupon promotions are not returned in this array. - type: array - items: - type: ProductPromotion - required: false - - VariationGroup: - description: Representation of a group of variant products by an attribute. This can't be purchased by a shopper. It provides inheritable attributes for its product variants and is used for navigation. A VariationGroup doesn't have a SKU. - properties: - orderable: - description: A flag indicating whether the variation group is orderable. - type: boolean - example: false - price: - description: The sales price of the variation group. - type: number - format: double - example: 24.99 - productId: - description: The ID (SKU) of the variation group. - maxLength: 100 - minLength: 1 - type: string - example: "49345VG" - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string \ No newline at end of file diff --git a/apis/discovery/shopper-search/shopper-search.raml b/apis/discovery/shopper-search/shopper-search.raml deleted file mode 100644 index 008aeba5..00000000 --- a/apis/discovery/shopper-search/shopper-search.raml +++ /dev/null @@ -1,160 +0,0 @@ -#%RAML 1.0 -version: v1 -title: Shopper Search -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - SearchTypeLibrary: shopper-search-library.raml - -mediaType: application/json -protocols: [HTTPS] -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/search/shopper-search/{version}/ -baseUriParameters: - shortCode: - description: Region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include shopper-search-description.md - -/organizations/{organizationId}: - /product-search: - type: CommerceCloudStandards.Organization - get: - description: |- - Provides keyword and refinement search functionality for products. Only returns the product ID, link, and name in - the product search hit. The search result contains only products that are online and assigned to site catalog. - displayName: productSearch - is: - - SearchTypeLibrary.Unauthorized - - SearchTypeLibrary.BadRequest - - ApiStandards.OffsetPaginated: - maxLimit: 200 - defaultSize: 25 - responses: - '200': - description: Product search successfully returned results. - body: - type: SearchTypeLibrary.ProductSearchResult - examples: - product_search: !include Examples/product-search-result-example.raml - '400': - description: Thrown if a price refinement parameter is malformed or the refinement limit is exceeded. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - examples: - product-search-400-error: !include Examples/product-search-400-error-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-product-search] } - queryParameters: - select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names, or work with wildcards.You can also sepcify Array Operations and filter expressions.The actual selector value must be enclosed within parentheses. - type: CommerceCloudStandards.Select - required: false - example: (hits.(**)) - siteId: - type: CommerceCloudStandards.SiteId - q: - description: The query phrase to search for. For example to search for a product "shirt", type q=shirt. - maxLength: 50 - type: string - required: false - refine: - description: |- - Parameter that represents a refinement attribute or values pair. Refinement attribute ID and - values are separated by '='. Multiple values are supported by a subset of refinement attributes and - can be provided by separating them using a pipe (URL - encoded = "|") i.e. refine=c_refinementColor=red|green|blue. Value ranges can be specified like this: refine=price=(100..500) . Multiple refine parameters can be provided by using the refine as the key i.e refine=price=(0..10)&refine=c_refinementColor=green. The refinements can be a collection of custom defined attributes IDs and the system defined attributes IDs but the search can only accept a total of 9 refinements at a time. - The following system refinement attribute ids are supported: - - cgid: Allows refinement per single category ID. Multiple category ids are not supported. - price: Allows refinement per single price range. Multiple price ranges are not supported. - pmid: Allows refinement per promotion ID. - htype: Allow refinement by including only the provided hit types. Accepted types are 'product', 'master', 'set', 'bundle', 'slicing_group' (deprecated), 'variation_group'. - orderable_only: Unavailable products are excluded from the search results if true is set. Multiple refinement values are not supported. - type: string[] - required: false - sort: - description: The ID of the sorting option to sort the search hits. - type: string - required: false - currency: - description: The currency mnemonic specified for price. This parameter is effective only if the returned results contain prices. - type: CommerceCloudStandards.CurrencyCode - required: false - locale: - type: CommerceCloudStandards.LocaleCode - required: false - expand: - description: A comma-separated list with allowed values - `availability`, `images`, `prices`, `represented_products`, `variations`, `promotions`, `custom_properties`. By default, the expand parameter includes `availability, images, prices, represented_products, variations`. Use none to disable all expand options. **The page_meta_tags expand value is optional and is available B2C Commerce version 25.2.** - type: array - items: - enum: [none,availability,images,prices,represented_products,variations,promotions,custom_properties,page_meta_tags] - required: false - example: [prices,represented_products] - allImages: - description: When the `images` expand parameter is used with this flag, the response includes the `imageGroups property`, which contains an image model. If this flag is true, the full image model is returned. If false, only matching images are included. If no flag is passed, the `imageGroups` property is omitted from the response. - type: boolean - required: false - example: false - perPricebook: - description: When this flag is set to `true` and is used with the `prices` expand parameter, the response includes per PriceBook prices and tiered prices (if available). - type: boolean - required: false - example: false - allVariationProperties: - description: The flag that determines which variation properties are included in the result. When set to `true` with the `variations` expand parameter, all variation properties (`variationAttributes`, `variationGroups`, `variants`) are returned. When set to false, only the default property `variationAttributes` is returned. - type: boolean - required: false - example: false - /search-suggestions: - type: CommerceCloudStandards.Organization - get: - description: Provides keyword search functionality for products, categories, and brands suggestions. - Returns suggested products, suggested categories, and suggested brands for the given search phrase. - displayName: getSearchSuggestions - is: - - SearchTypeLibrary.Unauthorized - responses: - '200': - description: Search suggestions are successfully returned. - body: - type: SearchTypeLibrary.SuggestionResult - examples: - search_suggestion: !include Examples/search-suggestion-result-example.raml - '400': - description: Thrown in case a query parameter or its value is unknown, or a maximum or minimum constraint is violated. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - examples: - search-suggestion-400-error: !include Examples/search-suggestion-400-error-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-product-search] } - queryParameters: - siteId: - type: CommerceCloudStandards.SiteId - q: - description: The search phrase (q) for which suggestions are evaluated. Search suggestions are determined when the search phrase input is at least three (default) characters long. The value is configurable in the Business Manager. - maxLength: 50 - minLength: 1 - type: string - required: true - example: son - limit: - description: The maximum number of suggestions made per request. If no value is defined, by default five suggestions per suggestion type are evaluated. This affects all types of suggestions (category, product, brand, and custom suggestions). - maximum: 10 - minimum: 1 - default: 5 - type: integer - format: int32 - required: false - example: 5 - currency: - description: The currency code specified for price. This parameter is effective only for product suggestions. - type: CommerceCloudStandards.CurrencyCode - required: false - locale: - type: CommerceCloudStandards.LocaleCode - required: false \ No newline at end of file diff --git a/apis/experience/shopper-experience/.metadata.json b/apis/experience/shopper-experience/.metadata.json deleted file mode 100644 index 68428e98..00000000 --- a/apis/experience/shopper-experience/.metadata.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-experience/1.0.5", - "name": "Shopper Experience", - "description": "", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-experience", - "version": "1.0.5", - "categories": { - "CC API Family": [ - "Experience" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/experience/shopper-experience/Examples/carousel-regions-example.raml b/apis/experience/shopper-experience/Examples/carousel-regions-example.raml deleted file mode 100644 index caede7d1..00000000 --- a/apis/experience/shopper-experience/Examples/carousel-regions-example.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - { - "id" : "tiles", - "components" : [ - { - "id" : "w3reö9wsjf3", - "typeId" : "commerce_assets.productTile", - "data" : { - "product" : "iphone6" - } - }, - { - "id" : "cgn8d4ngdl4n", - "typeId" : "commerce_assets.productTile", - "data" : { - "product" : "iphone7" - } - } - ] - } - ] \ No newline at end of file diff --git a/apis/experience/shopper-experience/Examples/header-components-example.raml b/apis/experience/shopper-experience/Examples/header-components-example.raml deleted file mode 100644 index 2a9ba5bc..00000000 --- a/apis/experience/shopper-experience/Examples/header-components-example.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - { - "id" : "iofwj38fhw3f", - "typeId" : "commerce_assets.banner", - "data" : { - "title" : "Products On Sale", - "bannerImage" : "sale/topsellerPromo.jpg" - }, - "custom" : { - "thumbnail_full" : "http://static.myshop.com/sale/topsellerPromo.jpg" - } - } - ] \ No newline at end of file diff --git a/apis/experience/shopper-experience/Examples/storepage-regions-example.raml b/apis/experience/shopper-experience/Examples/storepage-regions-example.raml deleted file mode 100644 index 16326dbc..00000000 --- a/apis/experience/shopper-experience/Examples/storepage-regions-example.raml +++ /dev/null @@ -1,61 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - { - "id" : "header", - "components" : [ - { - "id" : "iofwj38fhw3f", - "typeId" : "commerce_assets.banner", - "data" : { - "title" : "Products On Sale", - "bannerImage" : "sale/topsellerPromo.jpg" - }, - "custom" : { - "thumbnail_full" : "http://static.myshop.com/sale/topsellerPromo.jpg" - } - } - ] - }, - { - "id" : "main", - "components" : [ - { - "id" : "rfdvj4ojtltljw3", - "typeId" : "commerce_assets.carousel", - "data" : { - "title" : "Topseller", - "category" : "topseller" - }, - "custom" : { - "detailUrl" : "www.myshop.com/topseller" - }, - "regions" : [ - { - "id" : "tiles", - "components" : [ - { - "id" : "w3reö9wsjf3", - "typeId" : "commerce_assets.productTile", - "data" : { - "product" : "iphone6" - } - }, - { - "id" : "cgn8d4ngdl4n", - "typeId" : "commerce_assets.productTile", - "data" : { - "product" : "iphone7" - } - } - ] - } - ] - } - ] - }, - { - "id" : "footer", - "components" : [] - } - ] \ No newline at end of file diff --git a/apis/experience/shopper-experience/Experience-traits-library.raml b/apis/experience/shopper-experience/Experience-traits-library.raml deleted file mode 100644 index 43edb8f6..00000000 --- a/apis/experience/shopper-experience/Experience-traits-library.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for the request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - ErrorResponse: ApiStandards.ErrorResponse - -traits: - LocaleSpecific: !include Traits/LocaleSpecific.raml - AspectAttributeInvalid: !include Traits/AspectAttributesInvalid.raml - BusinessObjectIdInvalid: !include Traits/BusinessObjectIdInvalid.raml - AspectTypeNotFound: !include Traits/AspectTypeNotFound.raml - PageNotFound: !include Traits/PageNotFound.raml \ No newline at end of file diff --git a/apis/experience/shopper-experience/Traits/AspectAttributesInvalid.raml b/apis/experience/shopper-experience/Traits/AspectAttributesInvalid.raml deleted file mode 100644 index 24aa01b2..00000000 --- a/apis/experience/shopper-experience/Traits/AspectAttributesInvalid.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: 400 response when an aspect attribute does not suffice its definition. -responses: - 400: - description: | - Provided Aspect Attribute Invalid - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Aspect Attribute Invalid", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/aspect-attribute-invalid", - "detail": "Aspect attribute value '5555' does not fulfill its respective definition {\"id\" : \"foobar\", \"type\" : \"string\",\"required\" : false\"}" - } \ No newline at end of file diff --git a/apis/experience/shopper-experience/Traits/AspectTypeNotFound.raml b/apis/experience/shopper-experience/Traits/AspectTypeNotFound.raml deleted file mode 100644 index 6a37b4d5..00000000 --- a/apis/experience/shopper-experience/Traits/AspectTypeNotFound.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: 404 response when an aspect type is not found. -responses: - 404: - description: | - Requested Aspect Type Not Found - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Aspect Type Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/aspect-type-not-found", - "detail": "No aspect type with ID 'pdp' was found in site 'RefArch'." - } \ No newline at end of file diff --git a/apis/experience/shopper-experience/Traits/BusinessObjectIdInvalid.raml b/apis/experience/shopper-experience/Traits/BusinessObjectIdInvalid.raml deleted file mode 100644 index 422e7241..00000000 --- a/apis/experience/shopper-experience/Traits/BusinessObjectIdInvalid.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: 400 response when no proper business object id was provided. -responses: - 400: - description: | - Business Object ID Invalid - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Business Object ID Invalid", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/business-object-id-invalid", - "detail": "At least one provided business object identifier was invalid. This means either none was provided at all or exclusiveness of multiple identifiers wasn't honored or the referenced business object didn't exist." - } \ No newline at end of file diff --git a/apis/experience/shopper-experience/Traits/LocaleSpecific.raml b/apis/experience/shopper-experience/Traits/LocaleSpecific.raml deleted file mode 100644 index 1f6d7c99..00000000 --- a/apis/experience/shopper-experience/Traits/LocaleSpecific.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait -usage: This trait should be used whenever a resource uses the context of a locale associated with its request. This will add a locale query parameter. -queryParameters: - locale?: - type: CommerceCloudStandards.LocaleCode - description: |- - A descriptor to provide locale context for a geographical region by both a language and/or country code. The locale pattern in the query param follows the ISO 639-1 for the language code (e.g. en, de, fr) and ISO 3166-1 for the country code (e.g. US, DE, AT). The param can be a combination of language code and country code or can just refer to the language code. - Below are some valid examples: - - en-US - - de-AT - - de - - default - example: - en-US \ No newline at end of file diff --git a/apis/experience/shopper-experience/Traits/PageNotFound.raml b/apis/experience/shopper-experience/Traits/PageNotFound.raml deleted file mode 100644 index c566fb09..00000000 --- a/apis/experience/shopper-experience/Traits/PageNotFound.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: 404 response when a page is not found, i.e. does not exist or isn't visible. -responses: - 404: - description: | - Requested Page Not Found - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Page Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/page-not-found", - "detail": "No visible page with ID 'homepage' was found in site 'RefArch'." - } \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange.json b/apis/experience/shopper-experience/exchange.json deleted file mode 100644 index 4dc2c6d5..00000000 --- a/apis/experience/shopper-experience/exchange.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.5", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-experience.raml", - "assetId": "shopper-experience", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Experience", - "tags": [] -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/experience/shopper-experience/shopper-experience-description.md b/apis/experience/shopper-experience/shopper-experience-description.md deleted file mode 100644 index b5389c26..00000000 --- a/apis/experience/shopper-experience/shopper-experience-description.md +++ /dev/null @@ -1,13 +0,0 @@ -Use the Shopper Experience API to look up page information for pages that are created in Page Designer. - -Responses include the following: - -- The entire component hierarchy of the page at design time. -- All merchant data provided at design time. -- Server-side scripting data provided at run time. - -Both the page and components contain the values of all native and custom attributes that have been populated during page authoring. - -Only visible pages are returned. Because the visibility of components is driven by rules (scheduling or customer groups, for example), these rules are subject to evaluation when assembling the component hierarchy in the response. Only components that are visible for the current customer context appear in the response. The same rules apply to the page itself, which is only be processed and returned if it is visible. - -**Important**: Currently, the Shopper Experience API can’t be used when the [storefront password protection](https://documentation.b2c.commercecloud.salesforce.com/DOC1/index.jsp?topic=%2Fcom.demandware.dochelp%2Fcontent%2Fb2c_commerce%2Ftopics%2Fpermissions%2Fb2c_storefront_password_protection.html&resultof=%22%73%74%6f%72%65%66%72%6f%6e%74%22%20%22%70%72%6f%74%65%63%74%69%6f%6e%22%20%22%70%72%6f%74%65%63%74%22%20) feature is enabled. diff --git a/apis/experience/shopper-experience/shopper-experience.raml b/apis/experience/shopper-experience/shopper-experience.raml deleted file mode 100644 index def30b47..00000000 --- a/apis/experience/shopper-experience/shopper-experience.raml +++ /dev/null @@ -1,252 +0,0 @@ -#%RAML 1.0 -title: Shopper Experience -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/experience/shopper-experience/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include shopper-experience-description.md - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - ExperienceTraits: Experience-traits-library.raml - -types: - PageResult: - properties: - data: - description: List of pages. - type: Page[] - displayName: Data - required: true - Page: - properties: - id: - description: Page identifier. - type: string - displayName: ID - required: true - example: homepage - typeId: - description: Page type identifier. - type: string - displayName: Page Type ID - required: true - example: storePage - aspectTypeId: - description: The aspect type assigned to the page. - type: string - displayName: Aspect Type ID - required: false - example: pdpAspect - name: - description: Display name of the page. - type: string - displayName: Page Name - required: false - example: Homepage - description: - description: Description of the page. - type: string - displayName: Page Description - required: false - example: Home page of the storefront. - pageTitle: - description: The SEO title of the page. - type: string - displayName: SEO Title - required: false - example: Homepage - My Shop - pageDescription: - description: The SEO description of the page. - type: string - displayName: SEO Description - required: false - example: Get started shopping - pageKeywords: - description: The SEO keywords of the page. - type: string - displayName: SEO Keywords - required: false - example: fashion, my shop - data: - description: The configuration data assigned to the page. - type: object - displayName: Page Data - required: false - example: { "thumbnail": "myshop.jpg" } - custom: - description: Any custom data added by the custom code for the page type. - type: object - displayName: Custom Page Data - required: false - example: { "thumbnail_full": "http://static.myshop.com/myshop.jpg" } - regions: - description: The regions (and their assigned components) for the page. - type: Region[] - displayName: Regions - required: false - example: !include Examples/storepage-regions-example.raml - Region: - properties: - id: - description: Region identifier. - type: string - displayName: ID - required: true - example: "header" - components: - description: The components in the region. - type: Component[] - displayName: Components - required: false - example: !include Examples/header-components-example.raml - Component: - properties: - id: - description: Component identifier. - type: string - displayName: ID - required: true - example: "rfdvj4ojtltljw3" - typeId: - description: Component type identifier. - type: string - displayName: Component Type ID - required: true - example: "commerce_assets.carousel" - data: - description: The configuration data assigned to the component. - type: object - displayName: Component Data - required: false - example: { "title": "Topseller", "category": "topseller" } - custom: - description: Any custom data added by the custom code for this component. - type: object - displayName: Custom Component Data - required: false - example: { "detailUrl": "www.myshop.com/topseller" } - regions: - description: The regions (and their assigned components) for the component. - type: Region[] - displayName: Regions - required: false - example: !include Examples/carousel-regions-example.raml - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /pages: - get: - displayName: getPages - description: |- - Get Page Designer pages. The results will apply the visibility rules for each page's components, such as personalization or scheduled visibility. - - Either `categoryId` or `productId` must be given in addition to `aspectTypeId`. Because only a single page-to-product and page-to-category assignment per aspect type can be authored today, the returned result contains one element at most. - - **Important**: Currently, the Shopper Experience API can’t be used when the [storefront password protection](https://documentation.b2c.commercecloud.salesforce.com/DOC1/index.jsp?topic=%2Fcom.demandware.dochelp%2Fcontent%2Fb2c_commerce%2Ftopics%2Fpermissions%2Fb2c_storefront_password_protection.html&resultof=%22%73%74%6f%72%65%66%72%6f%6e%74%22%20%22%70%72%6f%74%65%63%74%69%6f%6e%22%20%22%70%72%6f%74%65%63%74%22%20) feature is enabled. - - **Important**: Because this resource uses the GET method, you must not pass sensitive data (payment card information, for example) and must not perform any transactional processes within the server-side scripts that are run for the page and components. - is: - - CommerceCloudStandards.SiteSpecific: - - ExperienceTraits.LocaleSpecific: - - ExperienceTraits.AspectAttributeInvalid - - ExperienceTraits.BusinessObjectIdInvalid - - ExperienceTraits.AspectTypeNotFound - responses: - "200": - description: Success. - body: - application/json: - type: PageResult - queryParameters: - categoryId: - description: Category identifier that is used for searching the page assignment. Must be provided if no `productId` is provided. - maxLength: 256 - type: string - required: false - example: home-clearance - productId: - description: Product identifier that is used for searching the page assignment. Must be provided if no `categoryId` is provided. - maxLength: 256 - type: string - required: false - example: iphone11 - aspectTypeId: - description: Aspect type identifier that is used for searching the page assignment in conjunction with either the `productId` or `categoryId`. - maxLength: 256 - type: string - required: true - example: pdp - aspectAttributes: - description: |- - A JSON respresentation of aspect attributes. Each aspect attribute is a key/value pair. Aspect attributes serve as a runtime parameter contract between caller (for example, this API or the DWScript API) and callee (the page). This parameter must not contain more than 256 characters after URL decoding. - type: string - required: false - example: |- - { - "product" : "iphone11", - "breadcrumbCategory" : "home-clearance" - } - parameters: - description: |- - A free-form definition of parameters that influences the page rendering according to its implementation. This parameter must not contain more than 256 characters after URL decoding. - type: string - required: false - maxLength: 256 - example: "refine=color,size;currency=USD;showNavigation=false" - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-experience] } - uriParameters: - /pages/{pageId}: - get: - displayName: getPage - description: |- - Get a Page Designer page based on a single page ID. The results will apply the visibility rules for the page's components, such as personalization or scheduled visibility. - - **Important**: Currently, the Shopper Experience API can’t be used when the [storefront password protection](https://documentation.b2c.commercecloud.salesforce.com/DOC1/index.jsp?topic=%2Fcom.demandware.dochelp%2Fcontent%2Fb2c_commerce%2Ftopics%2Fpermissions%2Fb2c_storefront_password_protection.html&resultof=%22%73%74%6f%72%65%66%72%6f%6e%74%22%20%22%70%72%6f%74%65%63%74%69%6f%6e%22%20%22%70%72%6f%74%65%63%74%22%20) feature is enabled. - - **Important**: Because this resource uses the GET method, you must not pass sensitive data (payment card information, for example) and must not perform any transactional processes within the server-side scripts that are run for the page and components. - is: - - CommerceCloudStandards.SiteSpecific: - - ExperienceTraits.LocaleSpecific: - - ExperienceTraits.AspectAttributeInvalid - - ExperienceTraits.PageNotFound - responses: - "200": - description: Success. - body: - application/json: - type: Page - queryParameters: - aspectAttributes: - description: |- - A JSON respresentation of aspect attributes. Each aspect attribute is a key/value pair. Aspect attributes serve as a runtime parameter contract between caller (for example, this API or the DWScript API) and callee (the page). This parameter must not contain more than 256 characters after URL decoding. - type: string - required: false - example: |- - { - "product" : "iphone11", - "breadcrumbCategory" : "home-clearance" - } - parameters: - description: |- - A free-form definition of parameters that influences the page rendering according to its implementation. This parameter must not contain more than 256 characters after URL decoding. - type: string - required: false - maxLength: 256 - example: "refine=color,size;currency=USD;showNavigation=false" - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-experience] } - uriParameters: - pageId: - description: Identifier for the requested page. - maxLength: 256 - type: string - example: homepage diff --git a/apis/gift-certificates-oas/gift-certificates-oas-1.0.38/.metadata.json b/apis/gift-certificates-oas/gift-certificates-oas-1.0.38/.metadata.json new file mode 100644 index 00000000..0a589017 --- /dev/null +++ b/apis/gift-certificates-oas/gift-certificates-oas-1.0.38/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/gift-certificates-oas/1.0.38", + "name": "Gift Certificates OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "gift-certificates-oas", + "version": "1.0.38", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/gift-certificates-oas/gift-certificates-oas-1.0.38/exchange.json b/apis/gift-certificates-oas/gift-certificates-oas-1.0.38/exchange.json new file mode 100644 index 00000000..c8eb6a47 --- /dev/null +++ b/apis/gift-certificates-oas/gift-certificates-oas-1.0.38/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "gift-certificates-oas-v1-public.yaml", + "name": "Gift Certificates OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "gift-certificates-oas", + "version": "1.0.38", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/gift-certificates-oas/gift-certificates-oas-1.0.38/gift-certificates-oas-v1-internal.yaml b/apis/gift-certificates-oas/gift-certificates-oas-1.0.38/gift-certificates-oas-v1-internal.yaml new file mode 100644 index 00000000..1780fff5 --- /dev/null +++ b/apis/gift-certificates-oas/gift-certificates-oas-1.0.38/gift-certificates-oas-v1-internal.yaml @@ -0,0 +1,1294 @@ +openapi: 3.0.3 +info: + title: Gift Certificates + version: v1 + description: |- + # API Overview + + Use the Gift Certificates API to create, update, and delete gift certificates, so that your storefront customers can purchase and redeem gift certificates. + + ## Authentication & Authorization + + The client requesting the gift certificate information must have access to the Gift Certificates resource. For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request. The client must first authenticate against Account Manager to log in. + + You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + For detailed setup instructions, see [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html). + + ## Use Cases + + ### Capture All Gift Certificates + + Retrieve all gift certificates for a site with no filtering. + + ### Capture Specific Gift Certificates + + Retrieve a specific gift certificate for a site using a merchant ID. + + ### Create Site Specific Gift Certificates + + Create and issue site-specific gift certificates with information such as amount, description, status, recipient email, recipient name, sender name, and so on. + + ### Update Gift Certificates + + Update a gift certificate with specified information using a merchant ID. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/gift-certificates/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/gift-certificates: + put: + summary: Create a gift certificate using the information provided. + description: If an existing identifier is specified, the gift certificate with that unique identifier is deleted and a new one is created. + operationId: createGiftCertificate + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + Gift-Certificates: + $ref: '#/components/examples/GiftCertificateCreateExample' + schema: + $ref: '#/components/schemas/GiftCertificate' + required: true + responses: + '200': + description: Successfully created the gift certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificate' + examples: + CreateGiftCertificateSuccess: + $ref: '#/components/examples/CreateGiftCertificateSuccess' + '400': + description: |- + Potential reasons: + - Thrown when the merchant ID is not unique. + - Thrown when the specified gift certificate status is invalid. + - Thrown when the specified gift certificate is not valid (the argument indicates the field that was invalid). + - Thrown when the specified amount is out of range. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidRecipientEmail400: + $ref: '#/components/examples/InvalidRecipientEmail400' + InvalidStatus400: + $ref: '#/components/examples/InvalidStatus400' + Invalid400: + $ref: '#/components/examples/Invalid400' + MerchantIdNotUnique400: + $ref: '#/components/examples/MerchantIdNotUnique400' + '404': + description: Thrown when the gift certificate does not exist or does not match the specified merchant ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + createGiftCertificate404: + $ref: '#/components/examples/GiftCertificate404' + security: + - AmOAuth2: + - sfcc.gift-certificates.rw + post: + summary: Search for gift certificates. + description: |- + Use the following searchable query attributes to narrow the search: + + | Attribute | Type | Sortable | + |-----------|--------|----------| + | merchantId | String | yes | + | maskedGiftCertificateCode * | String | no | + | orderNo | String | yes | + | senderName | String | yes | + | recipientName | String | yes | + | recipientEmail | String | yes | + | status | String | yes | + | enabled | Boolean | yes | + | message | String | yes | + | description | String | yes | + | creationDate | Date | yes | + | currencyMnemonic ** | String | yes | + + ## Notes: + * *`maskedGiftCertificateCode`, also known as just code, can only be used in a term query. If a + four-character code is supplied, it is assumed that the search is on the unmasked portion of the code. Otherwise, + the full code must be matched. Text queries are not allowed. + * **`currencyMnemonic` can only be joined with other attributes using a conjunction (`AND`). + * Only searchable attributes can be used in sorting. + operationId: giftCertificatesSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + responses: + '200': + description: Successfully returned the gift certificate information. + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificateSearchResult' + examples: + GiftCertificatesSearchSuccess: + $ref: '#/components/examples/GiftCertificatesSearchSuccess' + '400': + description: |- + Potential reasons: + - Thrown when the given query field cannot be queried. + - Thrown when the query is malformed. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UnqueryableField400: + $ref: '#/components/examples/UnqueryableField400' + MalformedSearchParameter400: + $ref: '#/components/examples/MalformedSearchParameter400' + security: + - AmOAuth2: + - sfcc.gift-certificates + - sfcc.gift-certificates.rw + /organizations/{organizationId}/gift-certificates/{merchantId}: + get: + description: Retrieve gift certificate information for a specified merchant ID. + operationId: getGiftCertificate + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/merchantId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Successfully retrieved the gift certificate information for the specified merchant ID. + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificate' + examples: + GetGiftCertificateSuccess: + $ref: '#/components/examples/GetGiftCertificateSuccess' + '404': + description: Thrown when the gift certificate does not exist or does not match the specified merchant ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + createGiftCertificate404: + $ref: '#/components/examples/GiftCertificate404' + security: + - AmOAuth2: + - sfcc.gift-certificates + - sfcc.gift-certificates.rw + delete: + summary: Delete gift certificate information for a specified merchant ID. + operationId: deleteGiftCertificate + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/merchantId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: Successfully deleted the gift certificate information for the specified merchant ID. + security: + - AmOAuth2: + - sfcc.gift-certificates.rw + patch: + summary: Update gift certificate information for a specified merchant ID. + operationId: updateGiftCertificate + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/merchantId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + Gift-Certificates: + $ref: '#/components/examples/GiftCertificateUpdateExample' + schema: + $ref: '#/components/schemas/GiftCertificate' + required: true + responses: + '200': + description: Successfully updated the gift certificate information for the specified merchant ID. + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificate' + examples: + updateGiftCertificateSuccess: + $ref: '#/components/examples/UpdateGiftCertificateSuccess' + '400': + description: |- + Potential reasons: + - Thrown when the recipient email address is invalid. + - Thrown when the specified gift certificate status is invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidRecipientEmail400: + $ref: '#/components/examples/InvalidRecipientEmail400' + InvalidStatus400: + $ref: '#/components/examples/InvalidStatus400' + '404': + description: Thrown when the gift certificate does not exist or does not match the specified merchant ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + createGiftCertificate404: + $ref: '#/components/examples/GiftCertificate404' + security: + - AmOAuth2: + - sfcc.gift-certificates.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.gift-certificates: gift certificate READONLY + sfcc.gift-certificates.rw: gift certificate read/write + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.gift-certificates: gift certificate READONLY + sfcc.gift-certificates.rw: gift certificate read/write + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + Money: + description: A combination of a Currency and an amount of that Currency. + type: object + properties: + currencyMnemonic: + $ref: '#/components/schemas/CurrencyCode' + value: + format: double + description: The amount of money for the given currency. + example: 1234.56 + type: number + AccountTransaction: + type: object + required: + - amount + - orderNo + - timestamp + - typeCode + properties: + amount: + $ref: '#/components/schemas/Money' + orderNo: + type: string + description: The order number of the gift certificate. + example: my-order-43128 + timestamp: + type: string + description: The timestamp of the transaction of the gift certificate. + format: date-time + example: 1578516896.641 + typeCode: + type: string + description: The type code of the gift certificate. + example: redeem + enum: + - create + - redeem + - delete + - enable + - disable + description: Document representing an account transaction. + GiftCertificate: + description: Document representing a gift certificate. + type: object + properties: + amount: + description: |- + The gift certificate amount. + The user cannot change the gift certificate amount after the creation of the gift certificate. + allOf: + - $ref: '#/components/schemas/Money' + balance: + type: object + description: |- + The gift certificate balance. + This is a computed attribute and cannot be modified. + allOf: + - $ref: '#/components/schemas/Money' + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. + format: date-time + example: 1578516896.641 + description: + maxLength: 4000 + type: string + description: The description of the gift certificate. + example: | + A gift certificate for birthday. + enabled: + type: boolean + description: The enabled flag of the gift certificate. + example: true + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. + format: date-time + example: 1578516896.641 + maskedGiftCertificateCode: + type: string + description: Masked code. + example: '*******XQTY' + merchantId: + type: string + description: |- + The merchant ID of the gift certificate. + This is a unique attribute. + This is a computed attribute and cannot be modified. + This is used to get, update and the delete gift certificates. + example: | + Macy's1256489 + message: + maxLength: 4000 + type: string + description: The message to the recipient of the gift certificate. + example: | + This gift certificate is to be given as birthday present + orderNo: + type: string + description: The order number of the gift certificate. + example: | + MyOrder5421 + recipientEmail: + type: string + description: The email address of the recipient of the gift certificate. + example: | + my-recipient-email@gmail.com + recipientName: + maxLength: 256 + type: string + description: The recipient of the gift certificate. + example: | + Jane Doe + senderName: + maxLength: 256 + type: string + description: The sender of the gift certificate. + example: | + John Smith + status: + type: string + description: |- + The status of the gift certificate. + While creating a gift certificate, user can set the status + to either "pending" or "issued" only. + example: issued + enum: + - issued + - partially_redeemed + - pending + - redeemed + transactions: + items: + $ref: '#/components/schemas/AccountTransaction' + type: array + description: The transactions of the gift certificate. + example: + - amount: + currencyMnemonic: USD + value: 1000 + orderNo: my-test-order_no + timestamp: '2020-01-08T20:54:56.644Z' + typeCode: create + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + GiftCertificateSearchResult: + type: object + required: + - hits + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + items: + $ref: '#/components/schemas/GiftCertificate' + type: array + description: Document representing a gift certificate search result. + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + merchantId: + name: merchantId + in: path + description: The merchant ID of the requested gift certificate. + required: true + schema: + minLength: 1 + type: string + examples: + GiftCertificateCreateExample: + value: + amount: + currencyMnemonic: USD + value: 1000 + description: Birthday gift + message: A birthday present to you + senderName: Jane Doe + recipientName: John Doe + recipientEmail: john.doe@gmail.com + status: issued + orderNo: CA17293 + enabled: false + CreateGiftCertificateSuccess: + value: + amount: + currencyMnemonic: USD + value: 100 + balance: + currencyMnemonic: USD + value: 100 + creationDate: '2015-07-31T14:36:17.544Z' + description: Birthday gift + enabled: false + maskedGiftCertificateCode: '************KTIP' + merchantId: NorthernTrailOutfitters + message: A birthday gift for you + orderNo: CA17293 + recipientName: John Doe + recipientEmail: john.doe@gmail.com + senderName: Jane Doe + status: issued + transactions: + - amount: + currencyMnemonic: EUR + value: 80 + orderNo: my-order_no + timestamp: '2015-09-09T17:16:12.066Z' + typeCode: create + InvalidRecipientEmail400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-recipient-email + title: Invalid Recipient Email Exception + detail: Invalid recipient email ID provided. + InvalidStatus400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-status + title: Invalid Gift Certificate Status Exception + detail: Invalid gift certificate status provided. + Invalid400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid + title: Invalid Gift Certificate Exception + detail: Invalid gift certificate provided. + MerchantIdNotUnique400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/merchant-id-not-unique + title: Gift Certificate Create Merchant Id Not Unique Exception + detail: Merchant id is not unique. + GiftCertificate404: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found + title: Gift Certificate Not Found Exception + detail: No gift certificate with merchant ID 'my-merchant_id' for site 'TestWapi' was found. + GiftCertificatesSearchSuccess: + value: + limit: 3 + hits: + - amount: + currencyMnemonic: USD + value: 100 + balance: + currencyMnemonic: USD + value: 100 + creationDate: '2015-07-31T15:10:25.192Z' + description: Birthday Gift + enabled: true + maskedGiftCertificateCode: '************HHHZ' + merchantId: NorthernTrailOutfitters + orderNo: CA17293 + status: pending + transactions: + - amount: + currencyMnemonic: EUR + value: 80 + orderNo: CA17293 + timestamp: '2015-01-09T17:16:12.066Z' + typeCode: create + - amount: + currencyMnemonic: USD + value: 100 + balance: + currencyMnemonic: USD + value: 100 + creationDate: '2015-07-31T15:03:21.988Z' + enabled: true + maskedGiftCertificateCode: '************DOIZ' + merchantId: my-merchant_id + orderNo: '00000002' + status: pending + transactions: + - amount: + currencyMnemonic: EUR + value: 80 + orderNo: '00000002' + timestamp: '2015-02-09T17:16:12.066Z' + typeCode: create + - amount: + currencyMnemonic: USD + value: 100 + balance: + currencyMnemonic: USD + value: 100 + creationDate: '2015-07-31T15:10:00.659Z' + description: Promotion Gift + enabled: true + maskedGiftCertificateCode: '************GSPZ' + merchantId: NorthernTrailOutfitters + orderNo: '00000003' + status: pending + transactions: + - amount: + currencyMnemonic: EUR + value: 80 + orderNo: '00000003' + timestamp: '2015-09-09T17:16:12.066Z' + typeCode: create + query: + textQuery: + fields: + - status + searchPhrase: pending + offset: 0 + total: 3 + UnqueryableField400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unqueryable-field + title: Unqueryable Field Exception + detail: Given field cannot be queried. For example - The field 'link' is unqueryable. + MalformedSearchParameter400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-search-parameter + title: Malformed Search Parameter Exception + detail: An error occurred while decoding the request, the body was 'malformed'. + GetGiftCertificateSuccess: + value: + amount: + currencyMnemonic: USD + value: 100 + balance: + currencyMnemonic: USD + value: 100 + creationDate: '2015-07-31T14:56:38.936Z' + description: Birthday Gift + enabled: true + maskedGiftCertificateCode: '************LKWJ' + merchantId: NorthernTrailOutfitters + message: A birthday gift for you + orderNo: CA17293 + recipientName: John Doe + recipientEmail: john.doe@gmail.com + senderName: Jane Doe + status: issued + transactions: + - amount: + currencyMnemonic: EUR + value: 80 + orderNo: CA17293 + timestamp: '2015-09-09T17:16:12.066Z' + typeCode: create + GiftCertificateUpdateExample: + value: + description: Birthday Gift + enabled: false + message: A birthday gift for you + recipientEmail: john.doe@gmail.com + recipientName: John Doe + senderName: Jane Doe + status: pending + UpdateGiftCertificateSuccess: + value: + amount: + currencyMnemonic: USD + value: 100 + balance: + currencyMnemonic: USD + value: 100 + creationDate: '2015-07-31T15:05:52.311Z' + description: Birthday Gift + enabled: false + maskedGiftCertificateCode: '***********cate' + merchantId: NorthernTrailOutfitters + message: A birthday gift for you + orderNo: CA17293 + recipientEmail: john.doe@gmail.com + recipientName: John Doe + senderName: Jane Doe + status: pending + transactions: + - amount: + currencyMnemonic: EUR + value: 80 + orderNo: CA17293 + timestamp: '2015-09-09T17:16:12.066Z' + typeCode: create diff --git a/apis/gift-certificates-oas/gift-certificates-oas-1.0.38/gift-certificates-oas-v1-public.yaml b/apis/gift-certificates-oas/gift-certificates-oas-1.0.38/gift-certificates-oas-v1-public.yaml new file mode 100644 index 00000000..1780fff5 --- /dev/null +++ b/apis/gift-certificates-oas/gift-certificates-oas-1.0.38/gift-certificates-oas-v1-public.yaml @@ -0,0 +1,1294 @@ +openapi: 3.0.3 +info: + title: Gift Certificates + version: v1 + description: |- + # API Overview + + Use the Gift Certificates API to create, update, and delete gift certificates, so that your storefront customers can purchase and redeem gift certificates. + + ## Authentication & Authorization + + The client requesting the gift certificate information must have access to the Gift Certificates resource. For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request. The client must first authenticate against Account Manager to log in. + + You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + For detailed setup instructions, see [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html). + + ## Use Cases + + ### Capture All Gift Certificates + + Retrieve all gift certificates for a site with no filtering. + + ### Capture Specific Gift Certificates + + Retrieve a specific gift certificate for a site using a merchant ID. + + ### Create Site Specific Gift Certificates + + Create and issue site-specific gift certificates with information such as amount, description, status, recipient email, recipient name, sender name, and so on. + + ### Update Gift Certificates + + Update a gift certificate with specified information using a merchant ID. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/gift-certificates/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/gift-certificates: + put: + summary: Create a gift certificate using the information provided. + description: If an existing identifier is specified, the gift certificate with that unique identifier is deleted and a new one is created. + operationId: createGiftCertificate + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + Gift-Certificates: + $ref: '#/components/examples/GiftCertificateCreateExample' + schema: + $ref: '#/components/schemas/GiftCertificate' + required: true + responses: + '200': + description: Successfully created the gift certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificate' + examples: + CreateGiftCertificateSuccess: + $ref: '#/components/examples/CreateGiftCertificateSuccess' + '400': + description: |- + Potential reasons: + - Thrown when the merchant ID is not unique. + - Thrown when the specified gift certificate status is invalid. + - Thrown when the specified gift certificate is not valid (the argument indicates the field that was invalid). + - Thrown when the specified amount is out of range. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidRecipientEmail400: + $ref: '#/components/examples/InvalidRecipientEmail400' + InvalidStatus400: + $ref: '#/components/examples/InvalidStatus400' + Invalid400: + $ref: '#/components/examples/Invalid400' + MerchantIdNotUnique400: + $ref: '#/components/examples/MerchantIdNotUnique400' + '404': + description: Thrown when the gift certificate does not exist or does not match the specified merchant ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + createGiftCertificate404: + $ref: '#/components/examples/GiftCertificate404' + security: + - AmOAuth2: + - sfcc.gift-certificates.rw + post: + summary: Search for gift certificates. + description: |- + Use the following searchable query attributes to narrow the search: + + | Attribute | Type | Sortable | + |-----------|--------|----------| + | merchantId | String | yes | + | maskedGiftCertificateCode * | String | no | + | orderNo | String | yes | + | senderName | String | yes | + | recipientName | String | yes | + | recipientEmail | String | yes | + | status | String | yes | + | enabled | Boolean | yes | + | message | String | yes | + | description | String | yes | + | creationDate | Date | yes | + | currencyMnemonic ** | String | yes | + + ## Notes: + * *`maskedGiftCertificateCode`, also known as just code, can only be used in a term query. If a + four-character code is supplied, it is assumed that the search is on the unmasked portion of the code. Otherwise, + the full code must be matched. Text queries are not allowed. + * **`currencyMnemonic` can only be joined with other attributes using a conjunction (`AND`). + * Only searchable attributes can be used in sorting. + operationId: giftCertificatesSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + responses: + '200': + description: Successfully returned the gift certificate information. + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificateSearchResult' + examples: + GiftCertificatesSearchSuccess: + $ref: '#/components/examples/GiftCertificatesSearchSuccess' + '400': + description: |- + Potential reasons: + - Thrown when the given query field cannot be queried. + - Thrown when the query is malformed. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UnqueryableField400: + $ref: '#/components/examples/UnqueryableField400' + MalformedSearchParameter400: + $ref: '#/components/examples/MalformedSearchParameter400' + security: + - AmOAuth2: + - sfcc.gift-certificates + - sfcc.gift-certificates.rw + /organizations/{organizationId}/gift-certificates/{merchantId}: + get: + description: Retrieve gift certificate information for a specified merchant ID. + operationId: getGiftCertificate + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/merchantId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Successfully retrieved the gift certificate information for the specified merchant ID. + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificate' + examples: + GetGiftCertificateSuccess: + $ref: '#/components/examples/GetGiftCertificateSuccess' + '404': + description: Thrown when the gift certificate does not exist or does not match the specified merchant ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + createGiftCertificate404: + $ref: '#/components/examples/GiftCertificate404' + security: + - AmOAuth2: + - sfcc.gift-certificates + - sfcc.gift-certificates.rw + delete: + summary: Delete gift certificate information for a specified merchant ID. + operationId: deleteGiftCertificate + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/merchantId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: Successfully deleted the gift certificate information for the specified merchant ID. + security: + - AmOAuth2: + - sfcc.gift-certificates.rw + patch: + summary: Update gift certificate information for a specified merchant ID. + operationId: updateGiftCertificate + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/merchantId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + Gift-Certificates: + $ref: '#/components/examples/GiftCertificateUpdateExample' + schema: + $ref: '#/components/schemas/GiftCertificate' + required: true + responses: + '200': + description: Successfully updated the gift certificate information for the specified merchant ID. + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificate' + examples: + updateGiftCertificateSuccess: + $ref: '#/components/examples/UpdateGiftCertificateSuccess' + '400': + description: |- + Potential reasons: + - Thrown when the recipient email address is invalid. + - Thrown when the specified gift certificate status is invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidRecipientEmail400: + $ref: '#/components/examples/InvalidRecipientEmail400' + InvalidStatus400: + $ref: '#/components/examples/InvalidStatus400' + '404': + description: Thrown when the gift certificate does not exist or does not match the specified merchant ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + createGiftCertificate404: + $ref: '#/components/examples/GiftCertificate404' + security: + - AmOAuth2: + - sfcc.gift-certificates.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.gift-certificates: gift certificate READONLY + sfcc.gift-certificates.rw: gift certificate read/write + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.gift-certificates: gift certificate READONLY + sfcc.gift-certificates.rw: gift certificate read/write + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + Money: + description: A combination of a Currency and an amount of that Currency. + type: object + properties: + currencyMnemonic: + $ref: '#/components/schemas/CurrencyCode' + value: + format: double + description: The amount of money for the given currency. + example: 1234.56 + type: number + AccountTransaction: + type: object + required: + - amount + - orderNo + - timestamp + - typeCode + properties: + amount: + $ref: '#/components/schemas/Money' + orderNo: + type: string + description: The order number of the gift certificate. + example: my-order-43128 + timestamp: + type: string + description: The timestamp of the transaction of the gift certificate. + format: date-time + example: 1578516896.641 + typeCode: + type: string + description: The type code of the gift certificate. + example: redeem + enum: + - create + - redeem + - delete + - enable + - disable + description: Document representing an account transaction. + GiftCertificate: + description: Document representing a gift certificate. + type: object + properties: + amount: + description: |- + The gift certificate amount. + The user cannot change the gift certificate amount after the creation of the gift certificate. + allOf: + - $ref: '#/components/schemas/Money' + balance: + type: object + description: |- + The gift certificate balance. + This is a computed attribute and cannot be modified. + allOf: + - $ref: '#/components/schemas/Money' + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. + format: date-time + example: 1578516896.641 + description: + maxLength: 4000 + type: string + description: The description of the gift certificate. + example: | + A gift certificate for birthday. + enabled: + type: boolean + description: The enabled flag of the gift certificate. + example: true + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. + format: date-time + example: 1578516896.641 + maskedGiftCertificateCode: + type: string + description: Masked code. + example: '*******XQTY' + merchantId: + type: string + description: |- + The merchant ID of the gift certificate. + This is a unique attribute. + This is a computed attribute and cannot be modified. + This is used to get, update and the delete gift certificates. + example: | + Macy's1256489 + message: + maxLength: 4000 + type: string + description: The message to the recipient of the gift certificate. + example: | + This gift certificate is to be given as birthday present + orderNo: + type: string + description: The order number of the gift certificate. + example: | + MyOrder5421 + recipientEmail: + type: string + description: The email address of the recipient of the gift certificate. + example: | + my-recipient-email@gmail.com + recipientName: + maxLength: 256 + type: string + description: The recipient of the gift certificate. + example: | + Jane Doe + senderName: + maxLength: 256 + type: string + description: The sender of the gift certificate. + example: | + John Smith + status: + type: string + description: |- + The status of the gift certificate. + While creating a gift certificate, user can set the status + to either "pending" or "issued" only. + example: issued + enum: + - issued + - partially_redeemed + - pending + - redeemed + transactions: + items: + $ref: '#/components/schemas/AccountTransaction' + type: array + description: The transactions of the gift certificate. + example: + - amount: + currencyMnemonic: USD + value: 1000 + orderNo: my-test-order_no + timestamp: '2020-01-08T20:54:56.644Z' + typeCode: create + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + GiftCertificateSearchResult: + type: object + required: + - hits + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + items: + $ref: '#/components/schemas/GiftCertificate' + type: array + description: Document representing a gift certificate search result. + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + merchantId: + name: merchantId + in: path + description: The merchant ID of the requested gift certificate. + required: true + schema: + minLength: 1 + type: string + examples: + GiftCertificateCreateExample: + value: + amount: + currencyMnemonic: USD + value: 1000 + description: Birthday gift + message: A birthday present to you + senderName: Jane Doe + recipientName: John Doe + recipientEmail: john.doe@gmail.com + status: issued + orderNo: CA17293 + enabled: false + CreateGiftCertificateSuccess: + value: + amount: + currencyMnemonic: USD + value: 100 + balance: + currencyMnemonic: USD + value: 100 + creationDate: '2015-07-31T14:36:17.544Z' + description: Birthday gift + enabled: false + maskedGiftCertificateCode: '************KTIP' + merchantId: NorthernTrailOutfitters + message: A birthday gift for you + orderNo: CA17293 + recipientName: John Doe + recipientEmail: john.doe@gmail.com + senderName: Jane Doe + status: issued + transactions: + - amount: + currencyMnemonic: EUR + value: 80 + orderNo: my-order_no + timestamp: '2015-09-09T17:16:12.066Z' + typeCode: create + InvalidRecipientEmail400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-recipient-email + title: Invalid Recipient Email Exception + detail: Invalid recipient email ID provided. + InvalidStatus400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-status + title: Invalid Gift Certificate Status Exception + detail: Invalid gift certificate status provided. + Invalid400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid + title: Invalid Gift Certificate Exception + detail: Invalid gift certificate provided. + MerchantIdNotUnique400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/merchant-id-not-unique + title: Gift Certificate Create Merchant Id Not Unique Exception + detail: Merchant id is not unique. + GiftCertificate404: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found + title: Gift Certificate Not Found Exception + detail: No gift certificate with merchant ID 'my-merchant_id' for site 'TestWapi' was found. + GiftCertificatesSearchSuccess: + value: + limit: 3 + hits: + - amount: + currencyMnemonic: USD + value: 100 + balance: + currencyMnemonic: USD + value: 100 + creationDate: '2015-07-31T15:10:25.192Z' + description: Birthday Gift + enabled: true + maskedGiftCertificateCode: '************HHHZ' + merchantId: NorthernTrailOutfitters + orderNo: CA17293 + status: pending + transactions: + - amount: + currencyMnemonic: EUR + value: 80 + orderNo: CA17293 + timestamp: '2015-01-09T17:16:12.066Z' + typeCode: create + - amount: + currencyMnemonic: USD + value: 100 + balance: + currencyMnemonic: USD + value: 100 + creationDate: '2015-07-31T15:03:21.988Z' + enabled: true + maskedGiftCertificateCode: '************DOIZ' + merchantId: my-merchant_id + orderNo: '00000002' + status: pending + transactions: + - amount: + currencyMnemonic: EUR + value: 80 + orderNo: '00000002' + timestamp: '2015-02-09T17:16:12.066Z' + typeCode: create + - amount: + currencyMnemonic: USD + value: 100 + balance: + currencyMnemonic: USD + value: 100 + creationDate: '2015-07-31T15:10:00.659Z' + description: Promotion Gift + enabled: true + maskedGiftCertificateCode: '************GSPZ' + merchantId: NorthernTrailOutfitters + orderNo: '00000003' + status: pending + transactions: + - amount: + currencyMnemonic: EUR + value: 80 + orderNo: '00000003' + timestamp: '2015-09-09T17:16:12.066Z' + typeCode: create + query: + textQuery: + fields: + - status + searchPhrase: pending + offset: 0 + total: 3 + UnqueryableField400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unqueryable-field + title: Unqueryable Field Exception + detail: Given field cannot be queried. For example - The field 'link' is unqueryable. + MalformedSearchParameter400: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-search-parameter + title: Malformed Search Parameter Exception + detail: An error occurred while decoding the request, the body was 'malformed'. + GetGiftCertificateSuccess: + value: + amount: + currencyMnemonic: USD + value: 100 + balance: + currencyMnemonic: USD + value: 100 + creationDate: '2015-07-31T14:56:38.936Z' + description: Birthday Gift + enabled: true + maskedGiftCertificateCode: '************LKWJ' + merchantId: NorthernTrailOutfitters + message: A birthday gift for you + orderNo: CA17293 + recipientName: John Doe + recipientEmail: john.doe@gmail.com + senderName: Jane Doe + status: issued + transactions: + - amount: + currencyMnemonic: EUR + value: 80 + orderNo: CA17293 + timestamp: '2015-09-09T17:16:12.066Z' + typeCode: create + GiftCertificateUpdateExample: + value: + description: Birthday Gift + enabled: false + message: A birthday gift for you + recipientEmail: john.doe@gmail.com + recipientName: John Doe + senderName: Jane Doe + status: pending + UpdateGiftCertificateSuccess: + value: + amount: + currencyMnemonic: USD + value: 100 + balance: + currencyMnemonic: USD + value: 100 + creationDate: '2015-07-31T15:05:52.311Z' + description: Birthday Gift + enabled: false + maskedGiftCertificateCode: '***********cate' + merchantId: NorthernTrailOutfitters + message: A birthday gift for you + orderNo: CA17293 + recipientEmail: john.doe@gmail.com + recipientName: John Doe + senderName: Jane Doe + status: pending + transactions: + - amount: + currencyMnemonic: EUR + value: 80 + orderNo: CA17293 + timestamp: '2015-09-09T17:16:12.066Z' + typeCode: create diff --git a/apis/gift-certificates-oas/shopper-gift-certificates-oas-1.0.25/.metadata.json b/apis/gift-certificates-oas/shopper-gift-certificates-oas-1.0.25/.metadata.json new file mode 100644 index 00000000..7f751f88 --- /dev/null +++ b/apis/gift-certificates-oas/shopper-gift-certificates-oas-1.0.25/.metadata.json @@ -0,0 +1,17 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-gift-certificates-oas/1.0.25", + "name": "Shopper Gift Certificates OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-gift-certificates-oas", + "version": "1.0.25", + "categories": { + "SDK Type": [ + "Isomorphic", + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/gift-certificates-oas/shopper-gift-certificates-oas-1.0.25/exchange.json b/apis/gift-certificates-oas/shopper-gift-certificates-oas-1.0.25/exchange.json new file mode 100644 index 00000000..7fc4fefe --- /dev/null +++ b/apis/gift-certificates-oas/shopper-gift-certificates-oas-1.0.25/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-gift-certificates-oas-v1-public.yaml", + "name": "Shopper Gift Certificates OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-gift-certificates-oas", + "version": "1.0.25", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/gift-certificates-oas/shopper-gift-certificates-oas-1.0.25/shopper-gift-certificates-oas-v1-internal.yaml b/apis/gift-certificates-oas/shopper-gift-certificates-oas-1.0.25/shopper-gift-certificates-oas-v1-internal.yaml new file mode 100644 index 00000000..1008c88f --- /dev/null +++ b/apis/gift-certificates-oas/shopper-gift-certificates-oas-1.0.25/shopper-gift-certificates-oas-v1-internal.yaml @@ -0,0 +1,260 @@ +openapi: 3.0.3 +info: + title: Shopper Gift Certificates + version: v1 + description: |- + # API Overview + + Use the Shopper Gift Certificates API to obtain gift certificate details. + + ## Authentication & Authorization + + The Shopper Gift Certificates API requires a JSON Web Token acquired via the Shopper Customers endpoint: + + ``` + https://{{shortCode}}.api.commercecloud.salesforce.com/customer/shopper-customers/v1/organizations/{{organizationId}}/customers/actions/login + ``` + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + ### Retrieve Existing Gift Certificate Details + + A shopper who received a code identifying a gift certificate can use the gift certificate code to query information, such as the status or remaining balance. + + ### Use Hooks + + For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/shopper-gift-certificates/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/gift-certificate: + post: + summary: Retrieve an existing gift certificate. + operationId: getGiftCertificate + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificateRequest' + examples: + Gift-Certificates: + $ref: '#/components/examples/GetGiftCertificate' + responses: + '200': + description: Gift certificate retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificate' + examples: + CreateGiftCertificate: + $ref: '#/components/examples/CreateGiftCertificate' + '404': + description: | + Thrown when the given gift certificate code is not valid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GiftCertificate404: + $ref: '#/components/examples/GiftCertificate404' + security: + - ShopperToken: + - sfcc.shopper-gift-certificates +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc:shopper-gift-certificates: Allows read operations on shopper gift certificates + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-gift-certificates: Allows read operations on shopper gift certificates + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + GiftCertificateRequest: + description: Document representing a gift certificate request data. + additionalProperties: false + type: object + required: + - giftCertificateCode + properties: + giftCertificateCode: + description: The gift certificate code. + example: MYGIFTCERTIFICATECODE + type: string + GiftCertificate: + description: Document representing a gift certificate. + type: object + required: + - amount + - balance + - enabled + - maskedGiftCertificateCode + - merchantId + - recipientEmail + - recipientName + - senderName + - status + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The gift certificate original amount. + type: number + example: 100 + balance: + format: double + description: The gift certificate remaining balance. + type: number + example: 100 + description: + description: The gift certificate description. + type: string + enabled: + description: Is the gift certificate is enabled? + type: boolean + example: true + maskedGiftCertificateCode: + description: The masked gift certificate code. + type: string + example: '************FJWQ' + merchantId: + description: The merchant ID. + type: string + example: '00000001' + message: + description: The message. + type: string + recipientEmail: + description: The recipient email. + type: string + example: p@gmail.com + recipientName: + description: The recipient name. + type: string + example: sampleuser + senderName: + description: The sender name. + type: string + example: Salesforce Support + status: + description: The gift certificate status. + enum: + - pending + - issued + - partially_redeemed + - redeemed + type: string + example: issued + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + examples: + GetGiftCertificate: + value: + giftCertificateCode: MYGIFTCERTIFICATECODE + CreateGiftCertificate: + value: + amount: 100 + balance: 100 + enabled: true + maskedGiftCertificateCode: '************FJWQ' + merchantId: '00000001' + recipientEmail: p@gmail.com + recipientName: sampleuser + senderName: Salesforce Support + status: issued + GiftCertificate404: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found + title: Gift Certificate Not Found Exception + detail: The gift certificate with the provided code could not be retrieved. diff --git a/apis/gift-certificates-oas/shopper-gift-certificates-oas-1.0.25/shopper-gift-certificates-oas-v1-public.yaml b/apis/gift-certificates-oas/shopper-gift-certificates-oas-1.0.25/shopper-gift-certificates-oas-v1-public.yaml new file mode 100644 index 00000000..1008c88f --- /dev/null +++ b/apis/gift-certificates-oas/shopper-gift-certificates-oas-1.0.25/shopper-gift-certificates-oas-v1-public.yaml @@ -0,0 +1,260 @@ +openapi: 3.0.3 +info: + title: Shopper Gift Certificates + version: v1 + description: |- + # API Overview + + Use the Shopper Gift Certificates API to obtain gift certificate details. + + ## Authentication & Authorization + + The Shopper Gift Certificates API requires a JSON Web Token acquired via the Shopper Customers endpoint: + + ``` + https://{{shortCode}}.api.commercecloud.salesforce.com/customer/shopper-customers/v1/organizations/{{organizationId}}/customers/actions/login + ``` + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + ### Retrieve Existing Gift Certificate Details + + A shopper who received a code identifying a gift certificate can use the gift certificate code to query information, such as the status or remaining balance. + + ### Use Hooks + + For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/shopper-gift-certificates/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/gift-certificate: + post: + summary: Retrieve an existing gift certificate. + operationId: getGiftCertificate + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificateRequest' + examples: + Gift-Certificates: + $ref: '#/components/examples/GetGiftCertificate' + responses: + '200': + description: Gift certificate retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificate' + examples: + CreateGiftCertificate: + $ref: '#/components/examples/CreateGiftCertificate' + '404': + description: | + Thrown when the given gift certificate code is not valid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GiftCertificate404: + $ref: '#/components/examples/GiftCertificate404' + security: + - ShopperToken: + - sfcc.shopper-gift-certificates +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc:shopper-gift-certificates: Allows read operations on shopper gift certificates + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-gift-certificates: Allows read operations on shopper gift certificates + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + GiftCertificateRequest: + description: Document representing a gift certificate request data. + additionalProperties: false + type: object + required: + - giftCertificateCode + properties: + giftCertificateCode: + description: The gift certificate code. + example: MYGIFTCERTIFICATECODE + type: string + GiftCertificate: + description: Document representing a gift certificate. + type: object + required: + - amount + - balance + - enabled + - maskedGiftCertificateCode + - merchantId + - recipientEmail + - recipientName + - senderName + - status + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The gift certificate original amount. + type: number + example: 100 + balance: + format: double + description: The gift certificate remaining balance. + type: number + example: 100 + description: + description: The gift certificate description. + type: string + enabled: + description: Is the gift certificate is enabled? + type: boolean + example: true + maskedGiftCertificateCode: + description: The masked gift certificate code. + type: string + example: '************FJWQ' + merchantId: + description: The merchant ID. + type: string + example: '00000001' + message: + description: The message. + type: string + recipientEmail: + description: The recipient email. + type: string + example: p@gmail.com + recipientName: + description: The recipient name. + type: string + example: sampleuser + senderName: + description: The sender name. + type: string + example: Salesforce Support + status: + description: The gift certificate status. + enum: + - pending + - issued + - partially_redeemed + - redeemed + type: string + example: issued + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + examples: + GetGiftCertificate: + value: + giftCertificateCode: MYGIFTCERTIFICATECODE + CreateGiftCertificate: + value: + amount: 100 + balance: 100 + enabled: true + maskedGiftCertificateCode: '************FJWQ' + merchantId: '00000001' + recipientEmail: p@gmail.com + recipientName: sampleuser + senderName: Salesforce Support + status: issued + GiftCertificate404: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found + title: Gift Certificate Not Found Exception + detail: The gift certificate with the provided code could not be retrieved. diff --git a/apis/orders-oas/orders-oas-1.4.8/.metadata.json b/apis/orders-oas/orders-oas-1.4.8/.metadata.json new file mode 100644 index 00000000..d2fc1519 --- /dev/null +++ b/apis/orders-oas/orders-oas-1.4.8/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/orders-oas/1.4.8", + "name": "Orders OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "orders-oas", + "version": "1.4.8", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/orders-oas/orders-oas-1.4.8/exchange.json b/apis/orders-oas/orders-oas-1.4.8/exchange.json new file mode 100644 index 00000000..9849fc03 --- /dev/null +++ b/apis/orders-oas/orders-oas-1.4.8/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "orders-oas-v1-public.yaml", + "name": "Orders OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "orders-oas", + "version": "1.4.8", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/orders-oas/orders-oas-1.4.8/orders-oas-v1-internal.yaml b/apis/orders-oas/orders-oas-1.4.8/orders-oas-v1-internal.yaml new file mode 100644 index 00000000..be5600c1 --- /dev/null +++ b/apis/orders-oas/orders-oas-1.4.8/orders-oas-v1-internal.yaml @@ -0,0 +1,3555 @@ +openapi: 3.0.3 +info: + title: Orders + version: v1 + description: |- + # API Overview + + Use the Orders API to update order status and order payment status, edit shipping addresses and custom order properties, manage order payment instruments, and get order information. + + ## Authentication & Authorization + + The client requesting the order information must have access to the Orders resource. The API requests pass a system-to-system bearer token in the header of the request. The `POST /orders` endpoint uses the [ShopperTokenTsob](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=security%3AShopperTokenTsob) security scheme. + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Update Order Statuses + + An order uses several status properties to define its workflow state. Some of them are used to trigger internal processes, such as inventory allocation. Others have no default function, but are available for use with customizations. + + ### Order Status + + The Order status reflects the overall status of the order. Transitions between order statuses trigger actions such as invoice generation and release of inventory reservations. + + Order status can have one of the following values: + + - `created` - Default value; denotes that the order was created in the system but is not yet placed. + - `new` - Set this value to place the order. When you set this value, the system generates shipment and invoice numbers. After the order is placed, you can’t change the order status to `created` or `failed`. + - `failed` - Set this value to fail the order, for example, when you reject the order or when its payment fails. When you set this value, the system releases the order’s inventory reservations and removes any coupon redemptions. You can only set this value if the current order status is `created`. If you change the order status from `failed` to `created`, the system tries to revert the actions taken when it was set to `failed`. If inventory isn’t available, the reversion can fail. + - `failed_with_reopen` - Set this value to fail the order and reopen the basket, if applicable. The order status is set to `failed`. + - `completed` - Set this value to mark the order as complete, based on your business process, for example: when the order is fully paid, exported, and shipped. + - `cancelled` - Set this value to cancel the order, for example: when the shopper requests it. When you set this value, the system releases the order’s inventory reservations, restores any wishlist items, and removes any coupon redemptions. If you change the order status from `cancelled` to `completed` or `new`, the system tries to revert the actions taken when it was set to `cancelled`. If inventory isn’t available, the reversion can fail. + + ### Confirmation Status + + An order confirmation is a document the vendor sends to the shopper. It confirms that the order has been received and accepted. You can use confirmation status to reflect the state of the document, or for other customizations. This field is provided for use in customizations. It isn’t associated with any default functionality. + + Confirmation status can have one of the following values: + + - `not_confirmed` - Default value. + - `confirmed` - Set this value when the order confirmation is sent to the shopper. + + ### Export Status + + After an order is placed, it must be fulfilled. If your process includes an external fulfillment system, such as a Warehouse Management System, you can use export status to manage the export of order data to the external system. For example, after using the GET /orders endpoint to get order data to export, set the order’s export status to `exported`. When identifying orders to export, your query can include orders with export status `ready` and exclude orders with export status `exported`. + + Export status can have one of the following values: + + - `not_exported` - Default value. + - `ready` - (custom purpose) Set this value when the order is ready for export. + - `exported` - Set this value when the order has been exported. When you set this value, the system finalizes the order’s inventory transactions. + - `failed` - (custom purpose) Set this value when the order export fails. + + ### External Status + + The external status field can hold any string value. For example, you can use it for values related to an external fulfillment system. This field is provided for use in customizations, and isn’t associated with any default functionality. + + ### Payment Status + + Use payment status to denote whether an order is partially or fully paid. This field is provided for use in customizations, and isn’t associated with any default functionality. + + Payment status can have one of the following values: + + - `not_paid` - Default value. + - `part_paid` - Set this value when the order is partially paid. + - `paid` - Set this value when the order is fully paid. + + ### Shipping Status + + Use shipping status to denote whether an order is partially or fully shipped. This field is provided for use in customizations, and isn’t associated with any default functionality. + + Shipping status can have one of the following values: + + - `not_shipped` - Default value. + - `part_shipped` - Set this value when the order is partially shipped. + - `shipped` - Set this value when the order is fully shipped. + + Example scenarios: + + - After a successful fraud check and payment authorization, set the order status to `new`. + - After a failed fraud check or payment authorization, set the order status to `failed`. + - After an order’s information is exported to the warehouse system, set the export status to `exported`. + - After the warehouse ships an order, set the shipping status to `shipped`. + + ## Change Shipping Address + + Use the Orders API to update the shipping address on an order. + + For example, a shopper places an order, and then sends a request to change the shipping address on that order. + + ## Get Order Data + + Use the Orders API system-to-system integration use cases for order retrieval, reporting, dashboards, and so on. You can get information about a single order by specifying the order number, or get information about multiple orders by searching with attribute filters. + + You can use the following attribute filters: + + - order status + - export status + - external status + - confirmation status + - payment status + - shipping status + - creation date to/from + - last modified date to/from + - offset + - limit + + You can sort the results in ascending or descending order using the following attributes (default: descending): + + - creation date + - last modified date + + ## Create Orders + + Use the createOrders endpoint to create orders from a third-party system, such as a social media platform. Before using the endpoint, you must first complete the checkout process: apply all sanity checks, reserve inventory, authorize payment, apply promotions, and calculate the full cost of the order. Orders made by third-party systems are treated the same as orders made directly through the B2C Commerce platform, including how status updates and exports are handled. + + ## Update Orders + + Use the updateOrder endpoint to make changes to custom order attributes. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/checkout/orders/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/orders: + get: + summary: "Return order details that match the query filters. By default, calling this API with no filter returns the 100 most recently created orders. To return up to 200 orders, use the limit parameter. \nTo return a page of results past the first page, use a resource offset. \n*Note* : The sum of the offset and limit parameters cannot be greater than 10000." + operationId: getOrders + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/sortBy' + - $ref: '#/components/parameters/sortOrder' + - $ref: '#/components/parameters/status' + - $ref: '#/components/parameters/exportStatus' + - $ref: '#/components/parameters/externalStatus' + - $ref: '#/components/parameters/confirmationStatus' + - $ref: '#/components/parameters/paymentStatus' + - $ref: '#/components/parameters/shippingStatus' + - $ref: '#/components/parameters/creationDateFrom' + - $ref: '#/components/parameters/creationDateTo' + - $ref: '#/components/parameters/lastModifiedDateFrom' + - $ref: '#/components/parameters/lastModifiedDateTo' + - $ref: '#/components/parameters/siteId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 100 + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. Defaults to 100. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Order details returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/OrdersResponse' + examples: + Order: + $ref: '#/components/examples/OrdersGet' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders + - sfcc.orders.rw + post: + summary: Create an order. + description: | + Use this endpoint whenever a fully calculated and paid or authorized order is created in any third-party system. + + The endpoint can create an order on-the-fly in the Commerce Cloud platform by passing the order as JSON payload in the body of the POST request. + + Other than the Basket API, this endpoint decouples any relation to other system domains, such as: + + - Products + - Inventory + - Promotions + - Gift certificates + - Coupons + + The order isn't treated differently than any other orders in the Commerce Cloud platform, including status updates and order exports. + + **Note**: For the custom attribute to be available for orders, configure it in Business Manager for both Basket and Order objects. + + **Important**: This endpoint uses the `ShopperTokenTsob` security scheme. Always check the Security section of the endpoint documentation, which, by default, is hidden. + + ## Preconditions + + The checkout must happen before making a request to this endpoint. That means that all sanity checks _are_ applied, the inventory _is_ reserved, the payment _is_ authorized, and the Basket _is_ fully calculated (including all promotions). + + After meeting these conditions, it's possible to create the order in the Commerce Cloud platform. + + ## Decoupling + + This endpoint can create an order with unknown products, different pricing for known products, unplanned price-adjustments (unrelated to the system's configured promotions), and passing unknown payment and shipping methods. + + **Note**: There's no lookup or calculation, even if the passed object is configured in the platform. + + ## Still Coupled + + The endpoint is still coupled to: + + - the taxation policy (gross or net) specified in the site's preferences. + - the passed currency, which must be defined in the site. + + ## Calculation + + The platform does not perform multiplying or dividing operations on this order. + + The following fields are summed during runtime on the platform: + + **Order Level** + + - `adjustedMerchandizeTotalTax` + - `adjustedShippingTotalTax` + - `merchandizeTotalTax` + - `adjustedTax` + - `productSubTotal` + - `productTotal` + - `shippingTotalTax` + - `orderTotal` + - `taxTotal` + + **Line Item Level** + + - `priceAfterItemDiscount` + - `priceAfterOrderDiscount` + - `adjustedTax` + + **Shipment** + + - `merchandizeTotalTax` + - `productSubTotal` + - `productTotal` + - `shippingTotalTax` + + To make sure the fields are summed correctly, the passed `orderTotal` and `taxTotal` are compared to the platform's summed `orderTotal` and `taxTotal`. + + An `InvalidOrderTotalException` or `InvalidTaxTotalException` is thrown if the calculation doesn't match. + + The `orderTotal` and `taxTotal` are calculated as follows: + + - `orderTotal` = sum(`ProductLineItems.grossPrice`) + sum(`Shipments.shipmentTotal`) - sum(`ProductLineItems.PriceAdjustments.grossPrice` + `Order.PriceAdjustments.grossPrice`) + - `taxTotal` = sum (`ProductLineItems.tax`) + sum(`Shipments.taxTotal`) - sum(`ProductLineItems.PriceAdjustments.tax` + `Order.PriceAdjustments.tax`) + + ## Order Status + + The order is automatically placed after creation. + + The payment status can be set via payload. + + All other status can be set via PATCH `orders/{orderNo}/status`. + operationId: createOrders + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + minimalExample: + $ref: '#/components/examples/CreateSimpleOrder' + fullExample: + $ref: '#/components/examples/CreateFullOrder' + multiShipmentExample: + $ref: '#/components/examples/CreateOrderMultiShipment' + fullPaymentInstrumentExample: + $ref: '#/components/examples/CreateFullPaymentInstrument' + schema: + $ref: '#/components/schemas/CreateOrderRequest' + responses: + '201': + description: | + Order created successfully. No content returned. + headers: + Location: + description: The location for accessing the created order. + schema: + type: string + '400': + description: | + The passed taxTotal is not equal to the calculated taxTotal. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidOrderTotal: + $ref: '#/components/examples/InvalidOrderTotal' + InvalidTaxTotal: + $ref: '#/components/examples/InvalidTaxTotal' + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given shipment ID does not reference an existing shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ShipmentNotFound: + $ref: '#/components/examples/ShipmentNotFound' + security: + - ShopperTokenTsob: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}: + get: + summary: Return order details for the specified order number. + operationId: getOrder + parameters: + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Order details returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + examples: + Order: + $ref: '#/components/examples/OrderGet' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders + - sfcc.orders.rw + patch: + summary: Update an order. + operationId: updateOrder + parameters: + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + OrderUpdateRequest: + $ref: '#/components/examples/Order' + schema: + $ref: '#/components/schemas/OrderUpdateRequest' + responses: + '204': + description: | + Order updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + - ShopperTokenTsob: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/confirmation-status: + put: + summary: Update order confirmation status. + operationId: updateOrderConfirmationStatus + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + OrderConfirmationStatusUpdate: + $ref: '#/components/examples/OrderConfirmationStatus' + schema: + $ref: '#/components/schemas/OrderConfirmationStatusUpdateRequest' + responses: + '204': + description: | + Order confirmation status updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/export-status: + put: + summary: Update order export status. If on-order inventory is enabled for the associated inventory list, then setting the export status to EXPORTED finalizes on-order inventory transactions for this order by changing their type from on-order to final. + operationId: updateOrderExportStatus + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + OrderExportStatus: + $ref: '#/components/examples/OrderExportStatus' + schema: + $ref: '#/components/schemas/OrderExportStatusUpdateRequest' + responses: + '204': + description: | + Order export status updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/external-status: + put: + summary: Update order external status. + operationId: updateOrderExternalStatus + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + OrderExportStatus: + $ref: '#/components/examples/OrderExternalStatus' + schema: + $ref: '#/components/schemas/OrderExternalStatusUpdateRequest' + responses: + '204': + description: | + Order external status updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/payment-status: + put: + summary: Update order payment status. + operationId: updateOrderPaymentStatus + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + PaymentStatus: + $ref: '#/components/examples/OrderPaymentStatus' + schema: + $ref: '#/components/schemas/OrderPaymentStatusUpdateRequest' + responses: + '204': + description: | + Order payment status updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/shipping-status: + put: + summary: Update order shipping status. + operationId: updateOrderShippingStatus + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + ShippingStatus: + $ref: '#/components/examples/OrderShippingStatus' + schema: + $ref: '#/components/schemas/OrderShippingStatusUpdateRequest' + responses: + '204': + description: | + Order shipping status updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/status: + put: + summary: Update order status. + description: |- + Orders in status NEW, COMPLETED or CANCELLED can't be changed to status CREATED or FAILED. + + Changing the status causes different actions on inventory, coupons, wishlists, and the order itself: + + - Fail Order: Release inventory and remove coupon redemptions. (CREATED -> FAILED) + - Fail Order With Reopen Basket: Release inventory, remove coupon redemptions, and reopen the basket, if applicable. A basket can only be + reopened if no other basket for the customer exists at the moment of failing the order since a customer is limited to 1 storefront basket. (CREATED -> FAILED) + - Undo Fail Order: Reserve inventory and recreate coupon redemptions. (FAILED -> CREATED) + - Place Order: Generate Shipment and invoice numbers. (CREATED -> NEW, COMPLETED or CANCELLED) + - Cancel Order: Release inventory, remove wishlist purchases, and remove coupon redemptions. (NEW, COMPLETED -> CANCELLED) + - Undo Cancel Order: Reserve inventory, add wishlist purchases, and recreate coupon redemptions. (CANCELLED -> NEW, COMPLETED) + + Actions can fail, for example: when inventory is no longer available. + operationId: updateOrderStatus + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + OrderStatus: + $ref: '#/components/examples/OrderStatus' + schema: + $ref: '#/components/schemas/OrderStatusUpdateRequest' + responses: + '201': + description: | + Order status updated successfully. No content returned. + headers: + Location: + description: The location for accessing the reopened basket. + schema: + type: string + '204': + description: | + Order status updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + '409': + description: | + The failed order can't be reopened. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UndoFailOrder: + $ref: '#/components/examples/UndoFailOrder' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/payment-instruments/{paymentInstrumentId}: + patch: + summary: Update the payment instrument of an order. + operationId: updateOrderPaymentInstrument + parameters: + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + OrderPaymentInstrument: + $ref: '#/components/examples/OrderPaymentInstrument' + schema: + $ref: '#/components/schemas/PaymentInstrumentUpdateRequest' + responses: + '204': + description: | + Order payment instrument updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given payment instrument ID does not reference an existing payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ShipmentNotFound: + $ref: '#/components/examples/ShipmentNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/payment-instruments/{paymentInstrumentId}/transaction: + patch: + summary: Update the transaction of an order payment instrument. + operationId: updateOrderPaymentTransaction + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + OrderStatus: + $ref: '#/components/examples/OrderPaymentTransaction' + schema: + $ref: '#/components/schemas/PaymentTransactionUpdateRequest' + responses: + '204': + description: | + Payment instrument transaction updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given payment instrument ID does not reference an existing payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ShipmentNotFound: + $ref: '#/components/examples/ShipmentNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/shipments/{shipmentId}/shipping-address: + put: + summary: Create or replace a shipping address. + operationId: updateOrderShippingAddress + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + Shipment: + $ref: '#/components/examples/OrderShippingAddress' + schema: + $ref: '#/components/schemas/ShippingAddressUpdateRequest' + responses: + '204': + description: | + Shipping address created or replaced successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given shipment ID does not reference an existing shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ShipmentNotFound: + $ref: '#/components/examples/ShipmentNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.orders: Scope granting read access to order endpoints + sfcc.orders.rw: Scope granting read and write access to order endpoints + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.orders: Scope granting read access to order endpoints + sfcc.orders.rw: Scope granting read and write access to order endpoints + ShopperTokenTsob: + type: oauth2 + description: "`ShopperTokenTsob` (TSOB = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. \nA token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and B2C Commerce API for headless applications. \nOther than endpoints that require this specific subtype, you can access all other endpoints secured by the `ShopperToken` parent scheme with a `ShopperTokenTsob`.\nTo learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken).\n" + flows: + clientCredentials: + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token + scopes: + sfcc.orders: Scope granting read access to order endpoints + sfcc.orders.rw: Scope granting read and write access to order endpoints + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + OrderExportStatus: + description: The order export status. + example: exported + enum: + - exported + - not_exported + - ready + - failed + type: string + OrderPaymentStatus: + description: The order payment status. + example: paid + enum: + - paid + - part_paid + - not_paid + type: string + OrderShippingStatus: + description: The order shipping status. + example: shipped + enum: + - shipped + - part_shipped + - not_shipped + type: string + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + CountryCode: + pattern: ^[A-Z][A-Z]$ + description: A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. + example: US + type: string + Address: + description: Document representing an order address. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + address1: + maxLength: 256 + description: The first address line. + example: 45 Main Rd. + type: string + address2: + maxLength: 256 + description: The second address line. + example: Apartment 204 + type: string + city: + maxLength: 256 + description: The city. + example: Burlington + type: string + companyName: + maxLength: 256 + description: The company name. + example: Salesforce + type: string + countryCode: + $ref: '#/components/schemas/CountryCode' + firstName: + maxLength: 256 + description: The first name. + example: Max + type: string + fullName: + maxLength: 256 + description: The full name. + example: Max Mustermann + type: string + jobTitle: + maxLength: 256 + description: The job title. + example: Software Engineer + type: string + lastName: + maxLength: 256 + description: The last name. + example: Mustermann + type: string + phone: + maxLength: 256 + description: The phone number. + example: '6175555555' + type: string + postBox: + maxLength: 256 + description: The post office box. + example: PO BOX 109 + type: string + postalCode: + maxLength: 256 + description: The postal code. + example: '05408' + type: string + salutation: + maxLength: 256 + description: The salutation. + example: Mr + type: string + secondName: + maxLength: 256 + description: The second name. + type: string + stateCode: + maxLength: 256 + description: The state code. + example: MA + type: string + suffix: + maxLength: 256 + description: The suffix. + example: Sr + type: string + suite: + maxLength: 256 + description: The suite. + type: string + title: + maxLength: 256 + description: The title. + example: Dr + type: string + type: object + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + ProductReference: + description: Document representing a product. + additionalProperties: false + properties: + productId: + $ref: '#/components/schemas/ProductId' + productName: + maxLength: 4000 + description: The name of the product. + example: Nintendo DS Game Console + type: string + type: object + BonusDiscountLineItem: + description: Document representing a bonus discount line item. + properties: + bonusProducts: + description: The bonus products from which the customer can choose. + type: array + items: + $ref: '#/components/schemas/ProductReference' + couponCode: + maxLength: 256 + description: The coupon code that triggered the promotion, if applicable. + example: 5ties + type: string + id: + minLength: 1 + maxLength: 256 + description: The ID of the line item. + example: 91f4dd8bfa0653d58b7783b04f + type: string + maxBonusItems: + format: int32 + description: The maximum number of bonus items the user can select for this promotion. + type: integer + promotionId: + maxLength: 256 + description: The ID of the promotion that triggered the creation of the line item. + example: Buy1Get2 + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + OrderConfirmationStatus: + description: The order confirmation status. + example: confirmed + enum: + - confirmed + - not_confirmed + type: string + CouponItem: + description: Document representing a coupon item. + additionalProperties: false + properties: + code: + maxLength: 256 + description: The coupon code. + example: 5ties + type: string + couponItemId: + minLength: 1 + maxLength: 256 + description: The coupon item ID. + example: d4c9c0141e9c74c150225580f3 + type: string + statusCode: + description: The status of the coupon item. + example: no_applicable_promotion + enum: + - coupon_code_already_in_basket + - coupon_code_already_redeemed + - coupon_code_unknown + - coupon_disabled + - redemption_limit_exceeded + - customer_redemption_limit_exceeded + - timeframe_redemption_limit_exceeded + - no_active_promotion + - coupon_already_in_basket + - no_applicable_promotion + - applied + - adhoc + type: string + valid: + description: A flag indicating whether the coupon item is valid. A coupon line item is valid if the status code is "applied" or "no_applicable_promotion". + example: true + type: boolean + type: object + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + CustomerInfo: + description: Document representing a guest or logged-in customer. + additionalProperties: false + properties: + customerId: + maxLength: 100 + description: The customer ID. + example: abMKqMaNYOBMnNdDNzyC5oNTi5 + type: string + customerName: + maxLength: 256 + description: The customer name. + example: Max Mustermann + type: string + customerNo: + maxLength: 100 + description: The customer number. + example: '0002352' + type: string + email: + maxLength: 256 + description: The customer email address. + example: no-reply@salesforce.com + type: string + guest: + description: A flag indicating if the order was placed by a guest. + example: false + type: boolean + type: object + GiftCertificateItem: + description: A gift certificate item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + basePrice: + format: double + description: The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 50 + type: number + grossPrice: + format: double + description: The gross price of the line item before applying any adjustments. + example: 50 + type: number + itemText: + maxLength: 256 + description: The text describing the item. + example: Nintendo eShop gift card. + type: string + netPrice: + format: double + description: The net price of the line item before applying any adjustments. + example: 50 + type: number + tax: + format: double + description: The tax on the line item before applying any adjustments. + example: 0 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. + example: 50 + type: number + giftCertificateMerchantId: + minLength: 1 + maxLength: 256 + description: The ID used to identify the certificate merchant. + example: Nintendo + type: string + giftCertificateItemId: + minLength: 1 + maxLength: 256 + description: The item ID. + example: 629dea6e7b61e58da629b57b21 + type: string + message: + maxLength: 4000 + description: The gift certificate message. + example: Birthday present. + type: string + recipientEmail: + maxLength: 256 + description: The recipient email. + example: no-reply@salesforce.com + type: string + recipientName: + maxLength: 256 + description: The recipient name. + example: Daniel Mustermann + type: string + senderName: + maxLength: 256 + description: The sender name. + example: Max Mustermann + type: string + shipmentId: + minLength: 1 + maxLength: 256 + description: The ID of the shipment to which this item belongs. + example: me + type: string + type: object + OrderNo: + description: The order number + minLength: 1 + maxLength: 50 + type: string + example: '00000410' + ABTestSegment: + description: Document representing an AB test segment. In an AB test that compares different customer experiences, a segment defines the customers who receive a particular experience. + additionalProperties: false + properties: + testId: + minLength: 1 + maxLength: 40 + description: The ID of the associated AB test. + type: string + segmentId: + minLength: 1 + maxLength: 40 + description: The ID of the segment. + type: string + type: object + required: + - testId + - segmentId + Discount: + description: Document representing a discount. + additionalProperties: false + required: + - type + properties: + amount: + format: double + description: The discount amount for discount types that define specific discount amounts. + example: 5 + type: number + percentage: + format: double + description: The discount percent for discount types that define percentage discounts. + example: 0.19 + type: number + priceBookId: + maxLength: 256 + description: The ID of the price book for discount types that use a price book. + example: usd-sale-prices + type: string + type: + description: The type of discount. + example: fixed_price + enum: + - percentage + - fixed_price + - amount + - free + - price_book_price + - bonus + - total_fixed_price + - bonus_choice + - percentage_off_options + type: string + type: object + PriceAdjustment: + description: Document representing a price adjustment within a basket or order. Price adjustments can be assigned at the order, product, or shipping level. + required: + - promotionId + properties: + basePrice: + format: double + description: The adjustment amount. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 12 + type: number + grossPrice: + format: double + description: The adjustment amount, including tax. + example: 50 + type: number + itemText: + maxLength: 256 + description: The text describing the adjustment. + example: Employee discount applied. + type: string + netPrice: + format: double + description: The adjustment amount, not including tax. + example: 38 + type: number + tax: + format: double + description: The tax on the adjustment amount. + example: 0.19 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this adjustment. + example: 50 + type: number + abTestSegment: + description: The AB testing segment, if enabled for the site and applicable to this price adjustment. + allOf: + - $ref: '#/components/schemas/ABTestSegment' + appliedDiscount: + description: Details describing the discount on which this price adjustment is based. For adjustments not based on a discount, this value is null. + allOf: + - $ref: '#/components/schemas/Discount' + campaignId: + minLength: 1 + maxLength: 256 + description: The campaign ID of the promotion on which this price adjustment is based. For adjustments not based on a promotion, this value is null. For adjustments based on an AB test promotion, this value is not null, but isn't meaningful. + example: FreeShipping24 + type: string + couponCode: + minLength: 1 + maxLength: 256 + description: The coupon code of the coupon on which this price adjustment is based. For adjustments not based on a coupon, this value is null. + example: 5ties + type: string + createdBy: + maxLength: 256 + description: The user who created the price adjustment. + example: Customer + type: string + creationDate: + description: The timestamp when the price adjustment was created. + example: '2021-02-25T09:58:04.691Z' + type: string + format: date-time + custom: + description: A flag indicating whether this price adjustment was created by custom logic. This flag is set to true unless the price adjustment was created by the promotion engine. + example: false + type: boolean + lastModified: + description: The timestamp when the price adjustment was last modified. + example: '2021-02-25T09:58:08.715Z' + type: string + format: date-time + manual: + description: A flag indicating whether this price adjustment was created by a manual process. If the price adjustment was created by the promotion engine, this value is always false. + example: false + type: boolean + priceAdjustmentId: + minLength: 1 + maxLength: 256 + description: The price adjustment ID. + example: ba248424e3eee797f062161f8b + type: string + promotionId: + minLength: 1 + maxLength: 256 + description: The promotion ID of the promotion on which this price adjustment is based. Custom price adjustment can assign an arbitrary promotion ID, but it must not be used by the promotion engine. If no promotion ID is specified, then the system assigns a generated ID. + example: FreeShipping24 + type: string + reasonCode: + minLength: 1 + maxLength: 256 + description: The reason code why this price adjustment was made. + example: Employee discount was applied. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + PaymentCard: + description: Document representing a payment card. + additionalProperties: false + properties: + cardType: + maxLength: 256 + description: 'The payment card type (for example: Visa).' + example: Visa + type: string + creditCardExpired: + description: A flag indicating if the credit card is expired. + example: false + type: boolean + creditCardToken: + maxLength: 256 + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data at the + token store. + example: E67TY8GQ27X + type: string + expirationMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + maxLength: 256 + description: The masked payment card number. + example: '*********4422' + type: string + numberLastDigits: + maxLength: 4 + description: The last digits of payment card number. + example: '4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month from which the payment card is valid. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year from which the payment card is valid. + example: 2019 + type: integer + type: object + Status: + description: Document representing a status of an object. + additionalProperties: false + properties: + code: + maxLength: 256 + description: The status code. + example: OK + type: string + message: + maxLength: 256 + description: The message corresponding to the status. + example: Credit Card successfully authorized. + type: string + status: + minimum: 0 + maximum: 2 + format: int32 + description: A constant corresponding to the status code. The value is 0 for OK, 1 for ERROR, and 2 for WARN. + example: 0 + type: integer + type: object + PaymentTransaction: + description: Document representing an order payment transaction. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + authorizationStatus: + description: The authorization status of the payment transaction. + allOf: + - $ref: '#/components/schemas/Status' + transactionId: + maxLength: 256 + description: The payment service specific transaction ID. + example: 3226f0a3bc4b4f244d70dd1c2b + type: string + type: object + PaymentInstrument: + description: Document representing an order payment instrument. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '6784532' + type: string + maskedGiftCertificateCode: + maxLength: 256 + description: The gift certificate code with the last 4 characters not masked. + example: '******Gzzy' + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/PaymentCard' + paymentInstrumentId: + minLength: 1 + maxLength: 256 + description: The payment instrument ID. + example: ba248424e3eee797f062162f8b + type: string + paymentMethodId: + maxLength: 256 + description: The payment method ID. + example: CREDIT_CARD + type: string + paymentTransaction: + description: The payment transaction. + allOf: + - $ref: '#/components/schemas/PaymentTransaction' + type: object + ProductItem: + description: Document representing a product item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - productId + - shipmentId + - taxRate + properties: + basePrice: + format: double + description: The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 99.99 + type: number + grossPrice: + format: double + description: The gross price of the line item before applying any adjustments. + example: 99.99 + type: number + itemText: + maxLength: 256 + description: The text describing the item. + example: Nintendo DS Game Console + type: string + netPrice: + format: double + description: The net price of the line item before applying any adjustments. + example: 80.99 + type: number + tax: + format: double + description: The tax on the line item before applying any adjustments. + example: 19 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. + example: 99.99 + type: number + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. + example: 19 + type: number + bonusDiscountLineItemId: + minLength: 1 + maxLength: 256 + description: The ID of the bonus discount line item to which this bonus product relates. + example: ba248414e3eee797f062162f8b + type: string + bonusProductLineItem: + description: A flag indicating whether this item is a bonus product. + example: false + type: boolean + brand: + maxLength: 256 + example: Nintendo + type: string + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + externalLineItemStatus: + maxLength: 256 + description: The external line item status. + example: Available + type: string + externalLineItemText: + description: The external line item text. + example: The item is available + type: string + gift: + description: Returns true if the item is a gift. + example: false + type: boolean + giftMessage: + maxLength: 4000 + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. + example: inventory + type: string + itemId: + minLength: 1 + maxLength: 256 + description: The product item ID. Use this to identify this item when updating its quantity or creating a custom price adjustment for it. + example: 430ef5aad3a24de59378458434 + type: string + minOrderQuantity: + format: double + description: The minimum order quantity for this product. + example: 1 + type: number + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + position: + format: double + description: The position of the product line item. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: The price of the product line item including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + type: number + priceAfterOrderDiscount: + format: double + description: The price of the product line item including item-level adjustments and prorated order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + type: number + productId: + $ref: '#/components/schemas/ProductId' + productListItem: + description: If this product line item was added from a product list, this value is a reference to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + maxLength: 4000 + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The ordered quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + minLength: 1 + maxLength: 256 + description: The ID of the shipment to which this item belongs. + example: me + type: string + shippingItemId: + minLength: 1 + maxLength: 256 + description: If the product line item has a related shipping item, this value is the shipping item ID. A related shipping item represents a surcharge applied to individual products using a particular shipping method. + example: 006490dcc338feeafc71c964bf + type: string + stepQuantity: + format: double + example: 1 + type: number + taxRate: + format: double + description: The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. + example: 0.19 + type: number + type: object + OptionItem: + description: An option item represents an optional purchase related to a product item, and is always associated with the parent product item. For example, a refrigerator item can have a set of option items representing different warranties on the refrigerator. A shopper can only purchase one of the warranty option items together with the parent refrigerator item. + properties: + basePrice: + format: double + description: The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 49.99 + type: number + grossPrice: + format: double + description: The gross price of the line item before applying any adjustments. + example: 99.99 + type: number + gift: + description: Returns true if the item is a gift. + example: false + type: boolean + itemText: + maxLength: 256 + description: The text describing the item. + example: Extended Warranty - None + type: string + netPrice: + format: double + description: The net price of the line item before applying any adjustments. + example: 49.99 + type: number + tax: + format: double + description: The tax on the line item before applying any adjustments. + example: 0.19 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. + example: 50 + type: number + optionId: + minLength: 1 + maxLength: 256 + description: The ID of the option. + example: consoleWarranty + type: string + optionValueId: + minLength: 1 + maxLength: 256 + description: The ID of the option value. + example: '000' + type: string + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + productId: + $ref: '#/components/schemas/ProductId' + type: object + required: + - productId + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ProductListReference: + description: Document representing a product list. + additionalProperties: false + properties: + description: + maxLength: 256 + description: The description of this product list. + type: string + name: + maxLength: 256 + description: The name of this product list. + type: string + public: + description: A flag indicating whether the owner made this product list available for access by other customers. + example: false + type: boolean + type: + description: The type of the product list. + example: wish_list + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + type: string + type: object + ProductListItemReference: + description: Document representing product list item details. + additionalProperties: false + required: + - purchasedQuantity + properties: + id: + minLength: 1 + maxLength: 256 + description: The ID of the product list item. + example: ba248424e3fee797f062162f8b + type: string + priority: + format: int32 + description: The priority of the product list item. + type: integer + product: + description: A reference to the associated product. + allOf: + - $ref: '#/components/schemas/ProductReference' + productList: + description: A reference to the associated product list. + allOf: + - $ref: '#/components/schemas/ProductListReference' + public: + example: false + type: boolean + purchasedQuantity: + format: double + description: The total quantity of this item purchased from the product list. + example: 0 + type: number + quantity: + minimum: 0 + format: double + description: The number of products or gift certificates that get shipped when purchasing this product list item. + example: 1 + type: number + type: + description: Specifies whether the item is a product or a gift certificate. + example: product + enum: + - product + - gift_certificate + type: string + type: object + ShippingMethodReference: + description: Document representing a reference to a shipping method. + additionalProperties: false + properties: + id: + maxLength: 256 + description: The shipping method ID. + example: '0000457' + type: string + type: object + Shipment: + description: Document representing a shipment. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - shipmentId + - shipmentNo + properties: + adjustedMerchandizeTotalTax: + format: double + description: The total tax on products in the shipment, including item-level price adjustments but not including service charges such as shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. + example: 1.5 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. + example: 0.3 + type: number + gift: + description: A flag indicating whether the shipment is a gift. + example: true + type: boolean + giftMessage: + maxLength: 4000 + description: The gift message. + example: Happy Birthday + type: string + merchandizeTotalTax: + format: double + description: The total tax on products in the shipment, not including price adjustments or service charges such as shipping. + example: 1.5 + type: number + productSubTotal: + format: double + description: The total price of all products in the shipment, including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 29.99 + type: number + productTotal: + format: double + description: The total price of all products in the shipment including item-level adjustments and prorated order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 29.99 + type: number + shipmentId: + minLength: 1 + maxLength: 256 + description: The order-specific ID of the shipment. The default value is 'me'. + type: string + shipmentNo: + maxLength: 256 + description: The shipment number of this shipment. This number is automatically generated. + type: string + shipmentTotal: + format: double + description: The total price of all products in the shipment including item-level adjustments, shipping charges, and tax. + example: 39.99 + type: number + shippingAddress: + description: The shipping address. + allOf: + - $ref: '#/components/schemas/Address' + shippingMethod: + description: The shipping method. + allOf: + - $ref: '#/components/schemas/ShippingMethodReference' + shippingStatus: + description: The shipping status of the shipment. + example: shipped + enum: + - not_shipped + - shipped + type: string + shippingTotal: + format: double + description: The total price of all shipping charges in the shipment, including shipping adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, not including shipping price adjustments. + example: 0.3 + type: number + taxTotal: + format: double + description: The total tax on the shipment, including item-level price adjustments and service charges such as shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. This field value must match the summed up taxTotal, and an InvalidTaxTotalException is thrown if the values do not match. + example: 1.8 + type: number + trackingNumber: + maxLength: 256 + description: The tracking number of the shipment. + example: 1Z204E380338943508 + type: string + type: object + ShippingItem: + description: Document representing a shipping item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - taxRate + properties: + basePrice: + format: double + description: The base price of the shipping item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 5.99 + type: number + grossPrice: + format: double + description: The gross price of the shipping item before applying any adjustments. + example: 5.99 + type: number + itemText: + maxLength: 256 + description: The text describing the shipping item. + example: Shipping + type: string + netPrice: + format: double + description: The net price of the shipping item before applying any adjustments. + example: 5.99 + type: number + tax: + format: double + description: The tax for the shipping item, not including price adjustments. + example: 0.3 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this shipping item. + example: 5.99 + type: number + adjustedTax: + format: double + description: The tax for the shipping item, including price adjustments. + example: 0 + type: number + itemId: + minLength: 1 + maxLength: 256 + description: The shipping item ID. Use this value to identify this shipping item when updating its quantity or creating a custom price adjustment for it. + example: ba248424e3eee798f062162f8b + type: string + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: The price of the shipping item including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 4.99 + type: number + shipmentId: + minLength: 1 + maxLength: 256 + description: The ID of the shipment to which this item belongs. + example: me + type: string + taxRate: + format: double + description: The tax rate applicable to this shipping line item. For a 10% tax rate, the value is 0.1. + example: 0.19 + type: number + type: + default: fixed_price + description: The type of shipping charge applicable to this shipping item. + example: fixed_price + enum: + - fixed_price + - surcharge + type: string + type: object + OrderStatus: + description: The order status. + example: completed + enum: + - created + - new + - completed + - cancelled + - failed + type: string + Order: + description: Document representing an order. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - orderNo + properties: + adjustedMerchandizeTotalTax: + format: double + description: The total tax on products in the order, including price adjustments, but not including service charges such as shipping. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the order, including shipping price adjustments. + example: 0.3 + type: number + affiliatePartnerId: + maxLength: 256 + description: The affiliate partner ID. + example: PARTNER_US_001 + type: string + affiliatePartnerName: + maxLength: 256 + description: The affiliate partner name. + example: PARTNER_US_001 + type: string + billingAddress: + description: The billing address. + allOf: + - $ref: '#/components/schemas/Address' + bonusDiscountLineItems: + description: The bonus discount line items. + type: array + items: + $ref: '#/components/schemas/BonusDiscountLineItem' + businessType: + description: The business type. + example: b2c + enum: + - b2c + - b2b + type: string + cancelCode: + maxLength: 256 + description: The cancellation code. + example: canceled + type: string + cancelDescription: + maxLength: 4000 + description: The cancellation description. + example: Ordered by mistake. + type: string + channelType: + description: The sales channel. + example: storefront + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + confirmationStatus: + $ref: '#/components/schemas/OrderConfirmationStatus' + couponItems: + description: The coupon items. + type: array + items: + $ref: '#/components/schemas/CouponItem' + createdBy: + maxLength: 256 + description: This value depends on how the order was created. If a shopper created the order, this value is Customer. If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. + example: Customer + type: string + creationDate: + description: The timestamp when the order was created. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + customerLocale: + maxLength: 256 + description: The locale of the customer who created the order. + example: en_US + type: string + currency: + $ref: '#/components/schemas/CurrencyCode' + customerInfo: + $ref: '#/components/schemas/CustomerInfo' + customerOrderReference: + maxLength: 256 + description: The customer-specific reference information. + example: REF_US_143 + type: string + exportStatus: + $ref: '#/components/schemas/OrderExportStatus' + externalOrderNo: + maxLength: 256 + description: The external order number associated with the order. + example: '00000410' + type: string + externalOrderStatus: + maxLength: 256 + description: The status from an external order associated with this order. + example: Submitted + type: string + externalOrderText: + maxLength: 4000 + description: The text from an external order associated with this order. + example: Order is being prepared + type: string + giftCertificateItems: + description: The gift certificate line items. + type: array + items: + $ref: '#/components/schemas/GiftCertificateItem' + globalPartyId: + maxLength: 256 + description: The Customer 360 Global Party ID associated with the shopper. + type: string + invoiceNo: + maxLength: 256 + description: The invoice number. + example: '00000410' + type: string + lastModified: + description: The timestamp when the order was last modified. + example: '2020-11-04T14:13:31.061Z' + type: string + format: date-time + merchandizeTotalTax: + format: double + description: The total tax on products in the order, not including price adjustments or service charges such as shipping. + example: 4.95 + type: number + orderNo: + $ref: '#/components/schemas/OrderNo' + orderPriceAdjustments: + description: The order-level price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + orderTotal: + format: double + description: The total price, including products, shipping and, tax. + example: 110.24 + type: number + paymentInstruments: + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/PaymentInstrument' + paymentStatus: + $ref: '#/components/schemas/OrderPaymentStatus' + placeDate: + description: The timestamp when the order was placed. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + productItems: + description: The product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + productSubTotal: + format: double + description: The total price of all products including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 99 + type: number + productTotal: + format: double + description: The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 99 + type: number + remoteHost: + maxLength: 40 + description: The IP of the host that placed this order. You can turn IP logging on or off for your site. + example: 127.0.0.1 + type: string + shipments: + description: The shipments. + type: array + items: + $ref: '#/components/schemas/Shipment' + shippingItems: + description: The shipping items. + type: array + items: + $ref: '#/components/schemas/ShippingItem' + shippingStatus: + $ref: '#/components/schemas/OrderShippingStatus' + shippingTotal: + format: double + description: The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on all shipping charges, not including shipping adjustments. + example: 0.3 + type: number + siteId: + $ref: '#/components/schemas/SiteId' + sourceCode: + maxLength: 256 + description: The source code assigned to the basket from which this order was created. + type: string + sourceCodeGroupId: + minLength: 1 + maxLength: 256 + description: The group ID of the source code assigned to the basket from which this order was created. + type: string + status: + $ref: '#/components/schemas/OrderStatus' + taxTotal: + format: double + description: The total tax amount. + example: 5.25 + type: number + taxation: + description: The taxation policy (gross or net). + example: net + enum: + - gross + - net + type: string + type: object + OrdersResponse: + description: Document representing an orders result. + additionalProperties: false + properties: + data: + description: The orders data. + type: array + items: + $ref: '#/components/schemas/Order' + type: object + required: + - data + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + CreateOrderPriceAdjustment: + description: "The Price Adjustment without Promotion and Coupon references - handled as `AdHocPriceAdjustments` internally. \n\nThe following fields are set:\n- manual = true\n- custom = true\n- promotionId = AD_HOC_PRICE_ADJUSTMENT" + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - grossPrice + - netPrice + - tax + properties: + amount: + format: double + description: Amount to deduct from the applied line item's price. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 6 + type: number + basePrice: + format: double + description: "The adjustment amount. If the taxation policy is net, it doesn't include tax. \nIf the taxation policy is gross, it includes tax." + example: -6 + type: number + grossPrice: + format: double + description: The adjustment amount, including tax. + example: -6 + type: number + itemText: + description: The text describing the price adjustment. + example: 6 Dollar off. + type: string + netPrice: + format: double + description: The adjustment amount, not including tax. + example: -5 + type: number + reasonCode: + description: The reason code why this price adjustment was made. + example: Special Offer. + type: string + tax: + format: double + description: The tax on the adjustment amount. + example: 1 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this adjustment. + example: -5 + type: number + type: object + CreateOrderPaymentTransaction: + description: Document representing an order payment transaction. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - amount + - transactionId + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + authorizationStatus: + description: The authorization status of the payment transaction. + allOf: + - $ref: '#/components/schemas/Status' + transactionId: + maxLength: 256 + description: The payment service specific transaction ID. + example: 3226f0a3bc4b4f244d70dd1c2b + type: string + type: object + CreateOrderPaymentInstrument: + description: Document representing a payment instrument. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - paymentMethodId + properties: + paymentMethodId: + maxLength: 256 + description: The payment method ID. + example: PAYPAL + type: string + paymentTransaction: + description: The payment transaction. + allOf: + - $ref: '#/components/schemas/CreateOrderPaymentTransaction' + type: object + CreateOrderOptionItem: + description: An option item represents an optional purchase related to a product item, and is always associated with that parent product item. For example, a refrigerator item can have a set of option items representing different warranties on the refrigerator. A shopper can only purchase one of the warranty option items together with the parent refrigerator item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - basePrice + - grossPrice + - netPrice + - tax + - optionId + - optionValueId + - productId + properties: + basePrice: + format: double + description: The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 49.99 + type: number + grossPrice: + format: double + description: The gross price of the line item before applying any adjustments. + example: 99.99 + type: number + itemText: + maxLength: 256 + description: The text describing the item. + example: Extended Warranty - None + type: string + netPrice: + format: double + description: The net price of the line item before applying any adjustments. + example: 49.99 + type: number + tax: + format: double + description: The tax on the line item before applying any adjustments. + example: 0.19 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. + example: 50 + type: number + optionId: + minLength: 1 + maxLength: 256 + description: The ID of the option. + example: consoleWarranty + type: string + optionValueId: + minLength: 1 + maxLength: 256 + description: The ID of the option value. + example: '000' + type: string + priceAdjustments: + maxItems: 20 + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/CreateOrderPriceAdjustment' + productId: + $ref: '#/components/schemas/ProductId' + type: object + CreateOrderProductItems: + description: Document representing a product item for an order. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - basePrice + - grossPrice + - netPrice + - productId + - quantity + - shipmentId + - tax + properties: + basePrice: + format: double + description: "The base price of the line item, which is the unit price not including adjustments. \nIf the taxation policy is net, it doesn't include tax. \nIf the taxation policy is gross, it includes tax." + example: 34.32 + type: number + brand: + maxLength: 256 + description: The brand of the line item. + example: brand0001 + type: string + grossPrice: + format: double + description: The gross price of the line item before applying any adjustments. + example: 34.32 + type: number + itemText: + description: The text describing the item. + example: Green Umbrella + type: string + netPrice: + format: double + description: The net price of the line item before applying any adjustments. + example: 30.32 + type: number + optionItems: + maxItems: 10 + description: The array of option items. This array can be empty. + type: array + items: + $ref: '#/components/schemas/CreateOrderOptionItem' + priceAdjustments: + maxItems: 20 + description: The price adjustments on product line item. + type: array + items: + $ref: '#/components/schemas/CreateOrderPriceAdjustment' + productId: + $ref: '#/components/schemas/ProductId' + productName: + maxLength: 256 + description: The name of the product. + example: green umbrella + type: string + quantity: + minimum: 0 + format: double + description: The ordered quantity of the products represented by this item. + example: 3 + type: number + shipmentId: + minLength: 1 + maxLength: 256 + description: The ID of the shipment to which this item belongs. Shipment 'me' is reserved for the system and is not valid to pass. + example: shipment00001 + type: string + tax: + format: double + description: The tax on the line item before applying any adjustments. + example: 4 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. + example: 30.32 + type: number + taxRate: + format: double + description: |- + The tax rate applicable to this product line item. + For a 10% tax rate, the value is 0.1. + Just for display. No calculation or sanity checks are applied. + type: number + type: object + CreateOrderShipment: + description: Document representing a shipment for an order. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - shipmentId + - shippingMethod + - shippingAddress + - shippingTotal + - taxTotal + properties: + shipmentId: + minLength: 1 + maxLength: 256 + description: |- + The order-specific ID of the shipment. The field shipmentId from line items refers to this value. + The first shipment always become the standard shipment and is named 'me'. The ID 'me' is reserved for the standard shipment and it is not allowed to be used by the API caller. + example: shipment00001 + type: string + shippingMethod: + description: The shipping method. This has no reference to any shipments configured in the platform. + example: EXPRESS + type: string + shippingAddress: + description: The shipping address. + allOf: + - $ref: '#/components/schemas/Address' + shippingTotal: + format: double + description: |- + The total price of all shipping charges in the shipment. + If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. + example: 4.95 + type: number + taxTotal: + format: double + description: The total tax on the shipment. + example: 0.75 + type: number + type: object + CreateOrderRequest: + description: Document representing the order create request. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - billingAddress + - currency + - orderTotal + - paymentInstruments + - productItems + - shipments + - taxTotal + properties: + billingAddress: + description: The billing address. The name from the billing address is required and is used as the customer's name (for guest customer). + allOf: + - $ref: '#/components/schemas/Address' + businessType: + description: The business type. + example: b2c + enum: + - b2c + - b2b + type: string + channelType: + description: The sales channel. + example: instagramcommerce + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + currency: + $ref: '#/components/schemas/CurrencyCode' + customerLocale: + maxLength: 256 + description: The locale of the customer who created the order. + example: en_US + type: string + orderNo: + description: The order number. This must be unique in the site and is generated if no orderNo is passed in payload. + example: ORDER_000000001 + allOf: + - $ref: '#/components/schemas/OrderNo' + orderPriceAdjustments: + maxItems: 20 + description: The order-level price adjustments. + type: array + items: + $ref: '#/components/schemas/CreateOrderPriceAdjustment' + orderTotal: + format: double + description: The total price, including products, shipping, and tax. If this value does not match the calculated value (sum of all grossPrices minus PriceAdjustments), an InvalidOrderTotalException is thrown. + example: 39.27 + type: number + paymentInstruments: + maxItems: 20 + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/CreateOrderPaymentInstrument' + paymentStatus: + description: The payment status from the order. + example: paid + enum: + - paid + - not_paid + type: string + productItems: + minItems: 1 + maxItems: 200 + description: The product items. + type: array + items: + $ref: '#/components/schemas/CreateOrderProductItems' + shipments: + minItems: 1 + maxItems: 10 + description: The shipments. + type: array + items: + $ref: '#/components/schemas/CreateOrderShipment' + taxTotal: + format: double + description: The total tax amount. + type: number + type: object + OrderUpdateRequest: + description: "Request body to create an order and set custom attributes on the order. \nPlease note that the custom attribute definition have to be configured both on the Basket and Order object in the platform." + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + OrderConfirmationStatusUpdateRequest: + description: Request body to update the order confirmation status. + additionalProperties: false + properties: + status: + $ref: '#/components/schemas/OrderConfirmationStatus' + type: object + required: + - status + OrderExportStatusUpdateRequest: + description: Request body to update the order export status. + additionalProperties: false + properties: + status: + $ref: '#/components/schemas/OrderExportStatus' + type: object + required: + - status + OrderExternalStatusUpdateRequest: + description: Request body to update the order external status. + additionalProperties: false + properties: + status: + minLength: 1 + maxLength: 256 + description: The new external status. + example: in_delivery + type: string + type: object + required: + - status + OrderPaymentStatusUpdateRequest: + description: Request body to update the order payment status. + additionalProperties: false + properties: + status: + $ref: '#/components/schemas/OrderPaymentStatus' + type: object + required: + - status + OrderShippingStatusUpdateRequest: + description: Request body to update the order shipping status. + additionalProperties: false + properties: + status: + $ref: '#/components/schemas/OrderShippingStatus' + type: object + required: + - status + OrderStatusUpdateRequest: + description: Request body to update the order status. + additionalProperties: false + properties: + status: + description: The new status. + example: new + enum: + - created + - new + - completed + - cancelled + - failed + - failed_with_reopen + type: string + type: object + required: + - status + PaymentInstrumentUpdateRequest: + description: Request body to update custom properties. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + PaymentTransactionUpdateRequest: + description: Request body to update custom properties. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ShippingAddressUpdateRequest: + description: Request body to update the shipping address. + allOf: + - $ref: '#/components/schemas/Address' + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + sortBy: + name: sortBy + in: query + description: Sort results by creation date or last modified date. The default is creation date. + required: false + schema: + type: string + default: creation_date + enum: + - creation_date + - last_modified_date + sortOrder: + name: sortOrder + in: query + description: Sort results in ascending or descending order. The default is descending. + required: false + schema: + type: string + default: desc + enum: + - asc + - desc + status: + name: status + in: query + description: Filter results by status. Valid statuses are 'new', 'completed', and 'cancelled'. You can include up to two statuses as a comma-separated string. + required: false + schema: + type: string + exportStatus: + name: exportStatus + in: query + description: Filter results by export status. Valid export statuses are 'not_exported', 'exported', 'ready', and 'failed'. You can include up to three export statuses as a comma-separated string. + required: false + schema: + type: array + items: + allOf: + - $ref: '#/components/schemas/OrderExportStatus' + maxItems: 3 + example: not_exported,ready,failed + externalStatus: + name: externalStatus + in: query + description: Filter results by external status. + required: false + schema: + type: string + confirmationStatus: + name: confirmationStatus + in: query + description: Filter results by confirmation status. Valid confirmation statuses are 'confirmed' and 'not_confirmed'. + required: false + schema: + type: string + description: The order confirmation status. + example: confirmed + enum: + - confirmed + - not_confirmed + paymentStatus: + name: paymentStatus + in: query + description: Filter results by payment status. Valid payment statuses are 'not_paid', 'part_paid', and 'paid'. You can include up to two payment statuses as a comma-separated string. + required: false + schema: + type: array + items: + allOf: + - $ref: '#/components/schemas/OrderPaymentStatus' + maxItems: 3 + example: not_paid,part_paid + shippingStatus: + name: shippingStatus + in: query + description: Filter results by shipping status. Valid shipping statuses are 'not_shipped', 'part_shipped', and 'shipped'. You can include up to two shipping statuses as a comma-separated string. + required: false + schema: + type: array + items: + allOf: + - $ref: '#/components/schemas/OrderShippingStatus' + maxItems: 3 + example: not_shipped,part_shipped + creationDateFrom: + description: If passed, will return records where the `creationDate` is equal to or greater than the passed `date-only`. + schema: + type: string + format: date-time + example: '2015-05-19T15:30:18.000Z' + name: creationDateFrom + in: query + creationDateTo: + description: If passed, will return records where the `creationDate` is less than the passed `date-only`. + schema: + type: string + format: date-time + example: '2015-05-19T15:30:18.000Z' + name: creationDateTo + in: query + lastModifiedDateFrom: + description: If passed, will return records where the `lastModifiedDate` is equal to or greater than the passed `date-only`. + schema: + type: string + format: date-time + example: '2015-05-19T15:30:18.000Z' + name: lastModifiedDateFrom + in: query + lastModifiedDateTo: + description: If passed, will return records where the `lastModifiedDate` is less than the passed `date-only`. + schema: + type: string + format: date-time + example: '2015-05-19T15:30:18.000Z' + name: lastModifiedDateTo + in: query + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + orderNo: + name: orderNo + in: path + description: The order number. + required: true + schema: + $ref: '#/components/schemas/OrderNo' + paymentInstrumentId: + name: paymentInstrumentId + in: path + description: ID of the payment instrument. + required: true + schema: + minLength: 1 + type: string + shipmentId: + name: shipmentId + in: path + description: ID of the shipment. + required: true + schema: + minLength: 1 + type: string + examples: + OrdersGet: + value: + data: + - adjustedMerchandizeTotalTax: 4.95 + adjustedShippingTotalTax: 0.3 + billingAddress: + address1: 45 Main Rd. + city: Burlington + countryCode: US + firstName: Max + fullName: Max Mustermann + lastName: Mustermann + phone: '6175555555' + postalCode: '05408' + stateCode: MA + confirmationStatus: confirmed + createdBy: storefront + creationDate: '2015-05-19T15:23:18.000Z' + currency: USD + customerInfo: + customerId: abMKqMaNYOBMnNdDNzyC5oNTi5 + customerName: Max Mustermann + customerNo: '0002352' + email: no-reply@salesforce.com + guest: true + customerLocale: en_US + exportStatus: not_exported + invoiceNo: '00000001' + lastModified: '2020-11-04T14:13:31.061Z' + merchandizeTotalTax: 4.95 + orderNo: '00000410' + orderTotal: 110.24 + paymentInstruments: + - paymentCard: + cardType: Visa + creditCardExpired: true + expirationMonth: 1 + expirationYear: 2020 + holder: Max Mustermann + maskedNumber: '***************1111' + numberLastDigits: '1111' + validFromMonth: 1 + validFromYear: 2018 + paymentInstrumentId: 21052ad719a076cdc83637851e + paymentMethodId: CREDIT_CARD + paymentTransaction: + amount: 110.24 + transactionId: 40f07907428e23c4bbc6fb0446 + c_authResult: AUTHORIZED + c_issuerBank: JPMORGAN CHASE BANK, N.A. + paymentStatus: not_paid + placeDate: '2015-05-19T15:23:18.000Z' + productItems: + - adjustedTax: 4.95 + basePrice: 99 + bonusProductLineItem: false + gift: false + grossPrice: 103.95 + itemId: 99e96c7f8b46b98de2bae5d778 + itemText: Flat Front Pant + netPrice: 99 + position: 1 + priceAfterItemDiscount: 99 + priceAfterOrderDiscount: 99 + productId: '701643632930' + productName: Flat Front Pant + quantity: 1 + shipmentId: me + tax: 4.95 + taxBasis: 99 + taxRate: 0.05 + productSubTotal: 99 + productTotal: 99 + remoteHost: 127.0.0.1 + shipments: + - adjustedMerchandizeTotalTax: 4.95 + adjustedShippingTotalTax: 0.3 + gift: false + merchandizeTotalTax: 99 + productSubTotal: 99 + productTotal: 99 + shipmentId: me + shipmentNo: '00000001' + shipmentTotal: 110.24 + shippingAddress: + address1: 45 Main Rd. + city: Burlington + countryCode: US + firstName: Max + fullName: Max Mustermann + lastName: Mustermann + phone: '6175555555' + postalCode: '05408' + stateCode: MA + shippingMethod: + id: DefaultShippingMethod + shippingStatus: not_shipped + shippingTotal: 5.99 + shippingTotalTax: 0.3 + taxTotal: 5.25 + shippingItems: + - adjustedTax: 0.3 + basePrice: 5.99 + grossPrice: 6.29 + itemId: 23ace383d9355c881f1c00417a + itemText: Shipping + netPrice: 5.99 + priceAfterItemDiscount: 5.99 + shipmentId: me + tax: 0.3 + taxBasis: 5.99 + taxRate: 0.05 + type: fixed_price + shippingStatus: not_shipped + shippingTotal: 5.99 + shippingTotalTax: 0.3 + siteId: ShoppingSite + status: new + taxation: net + taxTotal: 5.25 + OrderNotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found + title: Order Not Found + detail: No order with number '123' was found. + CreateSimpleOrder: + value: + billingAddress: + address1: 43 Main Rd. + city: Burlington + firstName: Jane + lastName: Doe + channelType: instagramcommerce + currency: USD + orderNo: '0000019373' + orderTotal: 66.91 + paymentInstruments: + - paymentMethodId: PAYPAL + paymentTransaction: + amount: 66.91 + transactionId: abc13384ajsgdk1 + productItems: + - basePrice: 30.98 + grossPrice: 61.96 + netPrice: 49.57 + productId: black-shoe_29347-38 + productName: special edition shoe women 38 + quantity: 2 + shipmentId: shipment1 + tax: 12.39 + shipments: + - shipmentId: shipment1 + shippingAddress: + address1: 43 Main Rd. + city: Burlington + firstName: Jane + lastName: Doe + shippingMethod: EXPRESS + shippingTotal: 4.95 + taxTotal: 0 + taxTotal: 12.39 + CreateFullOrder: + value: + billingAddress: + address1: 45 Main Rd. + city: Burlington + countryCode: US + firstName: John + fullName: John Doe + jobTitle: Product Manager + lastName: Doe + phone: '6175555555' + postalCode: 01803-2336 + secondName: Jr. + stateCode: MA + suffix: Jr. + suite: suite + title: M.Sc. + businessType: b2c + channelType: instagramcommerce + currency: USD + customerLocale: en_US + orderNo: '00000041' + orderPriceAdjustments: + - amount: 5 + basePrice: -6 + grossPrice: -6 + itemText: 5 off + netPrice: -5 + reasonCode: registered + tax: -1 + taxBasis: 6 + orderTotal: 113.24 + paymentInstruments: + - paymentMethodId: CREDITCARD + paymentTransaction: + amount: 113.24 + transactionId: abc13384ajsgdk1 + paymentStatus: paid + productItems: + - basePrice: 99 + brand: brand + grossPrice: 103.95 + itemText: Flat Front Pant + netPrice: 99 + priceAdjustments: + - amount: 5 + grossPrice: -6 + itemText: 5 off + netPrice: -5 + reasonCode: registered + tax: -1 + productId: '701643632930' + productName: Flat Front Pant + quantity: 1 + shipmentId: '00000001' + tax: 4.95 + taxBasis: 99 + taxRate: 0.05 + shipments: + - shipmentId: '00000001' + shippingAddress: + address1: 45 Main Rd. + address2: road 2 + city: Burlington + companyName: Salesforce + countryCode: US + firstName: John + fullName: John Doe + jobTitle: Product Manager + lastName: Doe + phone: '6175555555' + postBox: none + postalCode: 01803-2336 + salutation: Mr. + stateCode: MA + suffix: Jr. + suite: suite + title: M.Sc. + shippingMethod: EXPRESS + shippingTotal: 21.29 + taxTotal: 4.95 + taxTotal: 7.9 + CreateOrderMultiShipment: + value: + billingAddress: + address1: 43 Main Rd. + city: Burlington + firstName: Jane + lastName: Doe + channelType: instagramcommerce + currency: USD + orderNo: '000028376' + orderTotal: 75.86 + paymentInstruments: + - paymentMethodId: PAYPAL + paymentTransaction: + amount: 75.86 + transactionId: abc13384ajsgdk1 + productItems: + - basePrice: 30.98 + grossPrice: 30.98 + netPrice: 24.79 + productId: black-shoe_081273-38 + productName: special edition shoe women 38 + quantity: 1 + shipmentId: shipment1 + tax: 6.19 + - basePrice: 30.98 + grossPrice: 30.98 + netPrice: 24.79 + productId: red-shirt_2937298-xl + productName: t shirt XL + quantity: 1 + shipmentId: shipment2 + tax: 6.19 + shipments: + - shipmentId: shipment1 + shippingAddress: + address1: 43 Main Rd. + city: Burlington + firstName: Jane + lastName: Doe + shippingMethod: GROUND + shippingTotal: 4.95 + taxTotal: 0 + - shipmentId: shipment2 + shippingAddress: + address1: 45 Main Rd. + city: Burlington + firstName: John + lastName: Doe + shippingMethod: EXPRESS + shippingTotal: 8.95 + taxTotal: 0 + taxTotal: 12.38 + CreateFullPaymentInstrument: + value: + billingAddress: + address1: 45 Main Rd. + city: Burlington + firstName: John + lastName: Doe + channelType: instagramcommerce + currency: USD + orderNo: '0000091837' + orderTotal: 66.91 + paymentInstruments: + - paymentMethodId: CREDITCARD + paymentTransaction: + amount: 30 + authorizationStatus: + code: '0' + message: credit card successfully authorized + status: 0 + transactionId: abc13384ajsgdk1 + - paymentMethodId: PAYPAL + paymentTransaction: + amount: 36.91 + authorizationStatus: + code: '0' + message: paypal authorized + status: 0 + transactionId: abceou98463 + paymentStatus: paid + productItems: + - basePrice: 30.98 + grossPrice: 61.96 + netPrice: 49.57 + productId: black-shoe_97253-38 + productName: special edition shoe women 38 + quantity: 2 + shipmentId: shipment1 + tax: 12.39 + shipments: + - shipmentId: shipment1 + shippingAddress: + address1: 45 Main Rd. + city: Burlington + firstName: John + lastName: Doe + shippingMethod: GROUND + shippingTotal: 4.95 + taxTotal: 0 + taxTotal: 12.39 + InvalidOrderTotal: + value: + title: Invalid Order Total + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-order-total + detail: The passed order total '72.96' does not match the calculated order total '74.96'. + InvalidTaxTotal: + value: + title: Invalid Tax Total + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-total + detail: The passed tax total '2.95' does not match the calculated tax total '5.56'. + BadRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + title: Bad Request + detail: Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'. + ShipmentNotFound: + value: + title: Shipment Not Found, + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found, + detail: No shipment with ID 'express_shipment' could be found. + OrderGet: + value: + adjustedMerchandizeTotalTax: 4.95 + adjustedShippingTotalTax: 1.3 + billingAddress: + address1: 45 Main Rd. + city: Burlington + countryCode: US + firstName: Max + fullName: Max Mustermann + lastName: Mustermann + phone: '6175555555' + postalCode: '05408' + stateCode: MA + confirmationStatus: confirmed + createdBy: storefront + creationDate: '2015-05-19T15:23:18.000Z' + currency: USD + customerInfo: + customerId: cdrjZ5iQeOQjpqKldaSzbvg2E8 + customerName: Max Mustermann + customerNo: '0002352' + email: no-reply@salesforce.com + guest: true + customerLocale: en_US + exportStatus: not_exported + invoiceNo: '00000001' + lastModified: '2020-11-05T13:08:05.588Z' + merchandizeTotalTax: 4.95 + orderNo: '00000410' + orderTotal: 110.24 + paymentInstruments: + - paymentCard: + cardType: Visa + creditCardExpired: true + expirationMonth: 1 + expirationYear: 2020 + holder: Max Mustermann + maskedNumber: '***************1111' + numberLastDigits: '1111' + validFromMonth: 1 + validFromYear: 2018 + paymentInstrumentId: 2c36f04e453a2512fba74ae1ea + paymentMethodId: CREDIT_CARD + paymentTransaction: + amount: 110.24 + transactionId: 40f07907428e23c4bbc6fb0446 + c_authResult: AUTHORIZED + c_issuerBank: JPMORGAN CHASE BANK, N.A. + paymentStatus: not_paid + placeDate: '2015-05-19T15:23:18.000Z' + productItems: + - adjustedTax: 4.95 + basePrice: 99 + bonusProductLineItem: false + gift: false + grossPrice: 103.95 + itemId: 3390171e44271bad9c36592049 + itemText: Flat Front Pant + netPrice: 99 + position: 1 + priceAfterItemDiscount: 99 + priceAfterOrderDiscount: 99 + productId: '701643632930' + productName: Flat Front Pant + quantity: 1 + shipmentId: me + shippingItemId: a46294cffd6945a511cb6fce05 + tax: 4.95 + taxBasis: 99 + taxRate: 0.05 + productSubTotal: 99 + productTotal: 99 + remoteHost: 127.0.0.1 + shipments: + - adjustedMerchandizeTotalTax: 4.95 + adjustedShippingTotalTax: 1.3 + gift: false + merchandizeTotalTax: 99 + productSubTotal: 99 + productTotal: 99 + shipmentId: me + shipmentNo: '00000001' + shipmentTotal: 110.24 + shippingAddress: + address1: 45 Main Rd. + city: Burlington + countryCode: US + firstName: Max + fullName: Max Mustermann + lastName: Mustermann + phone: '6175555555' + postalCode: '05408' + stateCode: MA + shippingMethod: + id: DefaultShippingMethod + shippingStatus: not_shipped + shippingTotal: 25.99 + shippingTotalTax: 1.3 + taxTotal: 5.25 + shippingItems: + - adjustedTax: 0.3 + basePrice: 5.99 + grossPrice: 6.29 + itemId: 4c3d46056d49226904ee61946c + itemText: Shipping + netPrice: 5.99 + priceAfterItemDiscount: 5.99 + shipmentId: me + tax: 0.3 + taxBasis: 5.99 + taxRate: 0.05 + type: fixed_price + - adjustedTax: 1 + basePrice: 10 + grossPrice: 21 + itemId: a46294cffd6945a511cb6fce05 + itemText: Item Shipping Cost (Surcharge) + netPrice: 20 + priceAfterItemDiscount: 20 + shipmentId: me + tax: 1 + taxBasis: 20 + taxRate: 0.05 + type: surcharge + shippingStatus: not_shipped + shippingTotal: 25.99 + shippingTotalTax: 1.3 + siteId: ShoppingSite + status: new + taxation: net + taxTotal: 5.25 + Order: + value: + c_carrierCode: DHL + c_weight: 2.4 + c_review: null + OrderConfirmationStatus: + value: + status: confirmed + OrderExportStatus: + value: + status: exported + OrderExternalStatus: + value: + status: external status + OrderPaymentStatus: + value: + status: paid + OrderShippingStatus: + value: + status: shipped + OrderStatus: + value: + status: new + UndoFailOrder: + value: + title: Undo Fail Order + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/undo-fail-order + detail: The failed order with number '00020029’ cannot be reopened. + OrderPaymentInstrument: + value: + c_giftCardNumber: 12kH5DSkfsaErrRjKheWqqZ + OrderPaymentTransaction: + value: + c_externalReferenceCode: dfg73DsFgH93Lkj2SaArePos + c_processedDate: '2019-10-07' + c_additionalInformation: Brunch enim ligula congue eu tempus craft beer tellus amet non urna sapien you probably haven’t heard of them eros ornare massa massa. Duis craft beer mattis pellentesque nulla risus arcu San Francisco adipiscing proin lorem sapien integer wire-rimmed glasses auctor ipsum cursus eget nam. Toms bibendum donec vivamus molestie vulputate fixie cursus amet eget nibh integer craft beer pellentesque odio mauris porttitor sodales. + OrderShippingAddress: + value: + address1: 100 Presidential Way + address2: 100 Presidential Way 2 + city: Woburn + lastName: Smith + title: Prof. Dr. + countryCode: US + phone: +1 123 456789 + companyName: DWRE + secondName: Daniel + salutation: Mr. + stateCode: MA + postalCode: '01801' + firstName: John + jobTitle: Director + c_district: South End + c_floor: 2 + c_note: Engineering diff --git a/apis/orders-oas/orders-oas-1.4.8/orders-oas-v1-public.yaml b/apis/orders-oas/orders-oas-1.4.8/orders-oas-v1-public.yaml new file mode 100644 index 00000000..be5600c1 --- /dev/null +++ b/apis/orders-oas/orders-oas-1.4.8/orders-oas-v1-public.yaml @@ -0,0 +1,3555 @@ +openapi: 3.0.3 +info: + title: Orders + version: v1 + description: |- + # API Overview + + Use the Orders API to update order status and order payment status, edit shipping addresses and custom order properties, manage order payment instruments, and get order information. + + ## Authentication & Authorization + + The client requesting the order information must have access to the Orders resource. The API requests pass a system-to-system bearer token in the header of the request. The `POST /orders` endpoint uses the [ShopperTokenTsob](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=security%3AShopperTokenTsob) security scheme. + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Update Order Statuses + + An order uses several status properties to define its workflow state. Some of them are used to trigger internal processes, such as inventory allocation. Others have no default function, but are available for use with customizations. + + ### Order Status + + The Order status reflects the overall status of the order. Transitions between order statuses trigger actions such as invoice generation and release of inventory reservations. + + Order status can have one of the following values: + + - `created` - Default value; denotes that the order was created in the system but is not yet placed. + - `new` - Set this value to place the order. When you set this value, the system generates shipment and invoice numbers. After the order is placed, you can’t change the order status to `created` or `failed`. + - `failed` - Set this value to fail the order, for example, when you reject the order or when its payment fails. When you set this value, the system releases the order’s inventory reservations and removes any coupon redemptions. You can only set this value if the current order status is `created`. If you change the order status from `failed` to `created`, the system tries to revert the actions taken when it was set to `failed`. If inventory isn’t available, the reversion can fail. + - `failed_with_reopen` - Set this value to fail the order and reopen the basket, if applicable. The order status is set to `failed`. + - `completed` - Set this value to mark the order as complete, based on your business process, for example: when the order is fully paid, exported, and shipped. + - `cancelled` - Set this value to cancel the order, for example: when the shopper requests it. When you set this value, the system releases the order’s inventory reservations, restores any wishlist items, and removes any coupon redemptions. If you change the order status from `cancelled` to `completed` or `new`, the system tries to revert the actions taken when it was set to `cancelled`. If inventory isn’t available, the reversion can fail. + + ### Confirmation Status + + An order confirmation is a document the vendor sends to the shopper. It confirms that the order has been received and accepted. You can use confirmation status to reflect the state of the document, or for other customizations. This field is provided for use in customizations. It isn’t associated with any default functionality. + + Confirmation status can have one of the following values: + + - `not_confirmed` - Default value. + - `confirmed` - Set this value when the order confirmation is sent to the shopper. + + ### Export Status + + After an order is placed, it must be fulfilled. If your process includes an external fulfillment system, such as a Warehouse Management System, you can use export status to manage the export of order data to the external system. For example, after using the GET /orders endpoint to get order data to export, set the order’s export status to `exported`. When identifying orders to export, your query can include orders with export status `ready` and exclude orders with export status `exported`. + + Export status can have one of the following values: + + - `not_exported` - Default value. + - `ready` - (custom purpose) Set this value when the order is ready for export. + - `exported` - Set this value when the order has been exported. When you set this value, the system finalizes the order’s inventory transactions. + - `failed` - (custom purpose) Set this value when the order export fails. + + ### External Status + + The external status field can hold any string value. For example, you can use it for values related to an external fulfillment system. This field is provided for use in customizations, and isn’t associated with any default functionality. + + ### Payment Status + + Use payment status to denote whether an order is partially or fully paid. This field is provided for use in customizations, and isn’t associated with any default functionality. + + Payment status can have one of the following values: + + - `not_paid` - Default value. + - `part_paid` - Set this value when the order is partially paid. + - `paid` - Set this value when the order is fully paid. + + ### Shipping Status + + Use shipping status to denote whether an order is partially or fully shipped. This field is provided for use in customizations, and isn’t associated with any default functionality. + + Shipping status can have one of the following values: + + - `not_shipped` - Default value. + - `part_shipped` - Set this value when the order is partially shipped. + - `shipped` - Set this value when the order is fully shipped. + + Example scenarios: + + - After a successful fraud check and payment authorization, set the order status to `new`. + - After a failed fraud check or payment authorization, set the order status to `failed`. + - After an order’s information is exported to the warehouse system, set the export status to `exported`. + - After the warehouse ships an order, set the shipping status to `shipped`. + + ## Change Shipping Address + + Use the Orders API to update the shipping address on an order. + + For example, a shopper places an order, and then sends a request to change the shipping address on that order. + + ## Get Order Data + + Use the Orders API system-to-system integration use cases for order retrieval, reporting, dashboards, and so on. You can get information about a single order by specifying the order number, or get information about multiple orders by searching with attribute filters. + + You can use the following attribute filters: + + - order status + - export status + - external status + - confirmation status + - payment status + - shipping status + - creation date to/from + - last modified date to/from + - offset + - limit + + You can sort the results in ascending or descending order using the following attributes (default: descending): + + - creation date + - last modified date + + ## Create Orders + + Use the createOrders endpoint to create orders from a third-party system, such as a social media platform. Before using the endpoint, you must first complete the checkout process: apply all sanity checks, reserve inventory, authorize payment, apply promotions, and calculate the full cost of the order. Orders made by third-party systems are treated the same as orders made directly through the B2C Commerce platform, including how status updates and exports are handled. + + ## Update Orders + + Use the updateOrder endpoint to make changes to custom order attributes. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/checkout/orders/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/orders: + get: + summary: "Return order details that match the query filters. By default, calling this API with no filter returns the 100 most recently created orders. To return up to 200 orders, use the limit parameter. \nTo return a page of results past the first page, use a resource offset. \n*Note* : The sum of the offset and limit parameters cannot be greater than 10000." + operationId: getOrders + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/sortBy' + - $ref: '#/components/parameters/sortOrder' + - $ref: '#/components/parameters/status' + - $ref: '#/components/parameters/exportStatus' + - $ref: '#/components/parameters/externalStatus' + - $ref: '#/components/parameters/confirmationStatus' + - $ref: '#/components/parameters/paymentStatus' + - $ref: '#/components/parameters/shippingStatus' + - $ref: '#/components/parameters/creationDateFrom' + - $ref: '#/components/parameters/creationDateTo' + - $ref: '#/components/parameters/lastModifiedDateFrom' + - $ref: '#/components/parameters/lastModifiedDateTo' + - $ref: '#/components/parameters/siteId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 100 + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. Defaults to 100. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Order details returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/OrdersResponse' + examples: + Order: + $ref: '#/components/examples/OrdersGet' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders + - sfcc.orders.rw + post: + summary: Create an order. + description: | + Use this endpoint whenever a fully calculated and paid or authorized order is created in any third-party system. + + The endpoint can create an order on-the-fly in the Commerce Cloud platform by passing the order as JSON payload in the body of the POST request. + + Other than the Basket API, this endpoint decouples any relation to other system domains, such as: + + - Products + - Inventory + - Promotions + - Gift certificates + - Coupons + + The order isn't treated differently than any other orders in the Commerce Cloud platform, including status updates and order exports. + + **Note**: For the custom attribute to be available for orders, configure it in Business Manager for both Basket and Order objects. + + **Important**: This endpoint uses the `ShopperTokenTsob` security scheme. Always check the Security section of the endpoint documentation, which, by default, is hidden. + + ## Preconditions + + The checkout must happen before making a request to this endpoint. That means that all sanity checks _are_ applied, the inventory _is_ reserved, the payment _is_ authorized, and the Basket _is_ fully calculated (including all promotions). + + After meeting these conditions, it's possible to create the order in the Commerce Cloud platform. + + ## Decoupling + + This endpoint can create an order with unknown products, different pricing for known products, unplanned price-adjustments (unrelated to the system's configured promotions), and passing unknown payment and shipping methods. + + **Note**: There's no lookup or calculation, even if the passed object is configured in the platform. + + ## Still Coupled + + The endpoint is still coupled to: + + - the taxation policy (gross or net) specified in the site's preferences. + - the passed currency, which must be defined in the site. + + ## Calculation + + The platform does not perform multiplying or dividing operations on this order. + + The following fields are summed during runtime on the platform: + + **Order Level** + + - `adjustedMerchandizeTotalTax` + - `adjustedShippingTotalTax` + - `merchandizeTotalTax` + - `adjustedTax` + - `productSubTotal` + - `productTotal` + - `shippingTotalTax` + - `orderTotal` + - `taxTotal` + + **Line Item Level** + + - `priceAfterItemDiscount` + - `priceAfterOrderDiscount` + - `adjustedTax` + + **Shipment** + + - `merchandizeTotalTax` + - `productSubTotal` + - `productTotal` + - `shippingTotalTax` + + To make sure the fields are summed correctly, the passed `orderTotal` and `taxTotal` are compared to the platform's summed `orderTotal` and `taxTotal`. + + An `InvalidOrderTotalException` or `InvalidTaxTotalException` is thrown if the calculation doesn't match. + + The `orderTotal` and `taxTotal` are calculated as follows: + + - `orderTotal` = sum(`ProductLineItems.grossPrice`) + sum(`Shipments.shipmentTotal`) - sum(`ProductLineItems.PriceAdjustments.grossPrice` + `Order.PriceAdjustments.grossPrice`) + - `taxTotal` = sum (`ProductLineItems.tax`) + sum(`Shipments.taxTotal`) - sum(`ProductLineItems.PriceAdjustments.tax` + `Order.PriceAdjustments.tax`) + + ## Order Status + + The order is automatically placed after creation. + + The payment status can be set via payload. + + All other status can be set via PATCH `orders/{orderNo}/status`. + operationId: createOrders + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + minimalExample: + $ref: '#/components/examples/CreateSimpleOrder' + fullExample: + $ref: '#/components/examples/CreateFullOrder' + multiShipmentExample: + $ref: '#/components/examples/CreateOrderMultiShipment' + fullPaymentInstrumentExample: + $ref: '#/components/examples/CreateFullPaymentInstrument' + schema: + $ref: '#/components/schemas/CreateOrderRequest' + responses: + '201': + description: | + Order created successfully. No content returned. + headers: + Location: + description: The location for accessing the created order. + schema: + type: string + '400': + description: | + The passed taxTotal is not equal to the calculated taxTotal. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidOrderTotal: + $ref: '#/components/examples/InvalidOrderTotal' + InvalidTaxTotal: + $ref: '#/components/examples/InvalidTaxTotal' + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given shipment ID does not reference an existing shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ShipmentNotFound: + $ref: '#/components/examples/ShipmentNotFound' + security: + - ShopperTokenTsob: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}: + get: + summary: Return order details for the specified order number. + operationId: getOrder + parameters: + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Order details returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + examples: + Order: + $ref: '#/components/examples/OrderGet' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders + - sfcc.orders.rw + patch: + summary: Update an order. + operationId: updateOrder + parameters: + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + OrderUpdateRequest: + $ref: '#/components/examples/Order' + schema: + $ref: '#/components/schemas/OrderUpdateRequest' + responses: + '204': + description: | + Order updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + - ShopperTokenTsob: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/confirmation-status: + put: + summary: Update order confirmation status. + operationId: updateOrderConfirmationStatus + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + OrderConfirmationStatusUpdate: + $ref: '#/components/examples/OrderConfirmationStatus' + schema: + $ref: '#/components/schemas/OrderConfirmationStatusUpdateRequest' + responses: + '204': + description: | + Order confirmation status updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/export-status: + put: + summary: Update order export status. If on-order inventory is enabled for the associated inventory list, then setting the export status to EXPORTED finalizes on-order inventory transactions for this order by changing their type from on-order to final. + operationId: updateOrderExportStatus + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + OrderExportStatus: + $ref: '#/components/examples/OrderExportStatus' + schema: + $ref: '#/components/schemas/OrderExportStatusUpdateRequest' + responses: + '204': + description: | + Order export status updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/external-status: + put: + summary: Update order external status. + operationId: updateOrderExternalStatus + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + OrderExportStatus: + $ref: '#/components/examples/OrderExternalStatus' + schema: + $ref: '#/components/schemas/OrderExternalStatusUpdateRequest' + responses: + '204': + description: | + Order external status updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/payment-status: + put: + summary: Update order payment status. + operationId: updateOrderPaymentStatus + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + PaymentStatus: + $ref: '#/components/examples/OrderPaymentStatus' + schema: + $ref: '#/components/schemas/OrderPaymentStatusUpdateRequest' + responses: + '204': + description: | + Order payment status updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/shipping-status: + put: + summary: Update order shipping status. + operationId: updateOrderShippingStatus + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + ShippingStatus: + $ref: '#/components/examples/OrderShippingStatus' + schema: + $ref: '#/components/schemas/OrderShippingStatusUpdateRequest' + responses: + '204': + description: | + Order shipping status updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/status: + put: + summary: Update order status. + description: |- + Orders in status NEW, COMPLETED or CANCELLED can't be changed to status CREATED or FAILED. + + Changing the status causes different actions on inventory, coupons, wishlists, and the order itself: + + - Fail Order: Release inventory and remove coupon redemptions. (CREATED -> FAILED) + - Fail Order With Reopen Basket: Release inventory, remove coupon redemptions, and reopen the basket, if applicable. A basket can only be + reopened if no other basket for the customer exists at the moment of failing the order since a customer is limited to 1 storefront basket. (CREATED -> FAILED) + - Undo Fail Order: Reserve inventory and recreate coupon redemptions. (FAILED -> CREATED) + - Place Order: Generate Shipment and invoice numbers. (CREATED -> NEW, COMPLETED or CANCELLED) + - Cancel Order: Release inventory, remove wishlist purchases, and remove coupon redemptions. (NEW, COMPLETED -> CANCELLED) + - Undo Cancel Order: Reserve inventory, add wishlist purchases, and recreate coupon redemptions. (CANCELLED -> NEW, COMPLETED) + + Actions can fail, for example: when inventory is no longer available. + operationId: updateOrderStatus + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + OrderStatus: + $ref: '#/components/examples/OrderStatus' + schema: + $ref: '#/components/schemas/OrderStatusUpdateRequest' + responses: + '201': + description: | + Order status updated successfully. No content returned. + headers: + Location: + description: The location for accessing the reopened basket. + schema: + type: string + '204': + description: | + Order status updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given site ID does not reference an existing site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + '409': + description: | + The failed order can't be reopened. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UndoFailOrder: + $ref: '#/components/examples/UndoFailOrder' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/payment-instruments/{paymentInstrumentId}: + patch: + summary: Update the payment instrument of an order. + operationId: updateOrderPaymentInstrument + parameters: + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + OrderPaymentInstrument: + $ref: '#/components/examples/OrderPaymentInstrument' + schema: + $ref: '#/components/schemas/PaymentInstrumentUpdateRequest' + responses: + '204': + description: | + Order payment instrument updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given payment instrument ID does not reference an existing payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ShipmentNotFound: + $ref: '#/components/examples/ShipmentNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/payment-instruments/{paymentInstrumentId}/transaction: + patch: + summary: Update the transaction of an order payment instrument. + operationId: updateOrderPaymentTransaction + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + OrderStatus: + $ref: '#/components/examples/OrderPaymentTransaction' + schema: + $ref: '#/components/schemas/PaymentTransactionUpdateRequest' + responses: + '204': + description: | + Payment instrument transaction updated successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given payment instrument ID does not reference an existing payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ShipmentNotFound: + $ref: '#/components/examples/ShipmentNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw + /organizations/{organizationId}/orders/{orderNo}/shipments/{shipmentId}/shipping-address: + put: + summary: Create or replace a shipping address. + operationId: updateOrderShippingAddress + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + Shipment: + $ref: '#/components/examples/OrderShippingAddress' + schema: + $ref: '#/components/schemas/ShippingAddressUpdateRequest' + responses: + '204': + description: | + Shipping address created or replaced successfully. No content returned. + '400': + description: | + Request body or path violate required syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: | + The given shipment ID does not reference an existing shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ShipmentNotFound: + $ref: '#/components/examples/ShipmentNotFound' + security: + - AmOAuth2: + - sfcc.orders.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.orders: Scope granting read access to order endpoints + sfcc.orders.rw: Scope granting read and write access to order endpoints + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.orders: Scope granting read access to order endpoints + sfcc.orders.rw: Scope granting read and write access to order endpoints + ShopperTokenTsob: + type: oauth2 + description: "`ShopperTokenTsob` (TSOB = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. \nA token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and B2C Commerce API for headless applications. \nOther than endpoints that require this specific subtype, you can access all other endpoints secured by the `ShopperToken` parent scheme with a `ShopperTokenTsob`.\nTo learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken).\n" + flows: + clientCredentials: + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token + scopes: + sfcc.orders: Scope granting read access to order endpoints + sfcc.orders.rw: Scope granting read and write access to order endpoints + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + OrderExportStatus: + description: The order export status. + example: exported + enum: + - exported + - not_exported + - ready + - failed + type: string + OrderPaymentStatus: + description: The order payment status. + example: paid + enum: + - paid + - part_paid + - not_paid + type: string + OrderShippingStatus: + description: The order shipping status. + example: shipped + enum: + - shipped + - part_shipped + - not_shipped + type: string + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + CountryCode: + pattern: ^[A-Z][A-Z]$ + description: A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. + example: US + type: string + Address: + description: Document representing an order address. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + address1: + maxLength: 256 + description: The first address line. + example: 45 Main Rd. + type: string + address2: + maxLength: 256 + description: The second address line. + example: Apartment 204 + type: string + city: + maxLength: 256 + description: The city. + example: Burlington + type: string + companyName: + maxLength: 256 + description: The company name. + example: Salesforce + type: string + countryCode: + $ref: '#/components/schemas/CountryCode' + firstName: + maxLength: 256 + description: The first name. + example: Max + type: string + fullName: + maxLength: 256 + description: The full name. + example: Max Mustermann + type: string + jobTitle: + maxLength: 256 + description: The job title. + example: Software Engineer + type: string + lastName: + maxLength: 256 + description: The last name. + example: Mustermann + type: string + phone: + maxLength: 256 + description: The phone number. + example: '6175555555' + type: string + postBox: + maxLength: 256 + description: The post office box. + example: PO BOX 109 + type: string + postalCode: + maxLength: 256 + description: The postal code. + example: '05408' + type: string + salutation: + maxLength: 256 + description: The salutation. + example: Mr + type: string + secondName: + maxLength: 256 + description: The second name. + type: string + stateCode: + maxLength: 256 + description: The state code. + example: MA + type: string + suffix: + maxLength: 256 + description: The suffix. + example: Sr + type: string + suite: + maxLength: 256 + description: The suite. + type: string + title: + maxLength: 256 + description: The title. + example: Dr + type: string + type: object + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + ProductReference: + description: Document representing a product. + additionalProperties: false + properties: + productId: + $ref: '#/components/schemas/ProductId' + productName: + maxLength: 4000 + description: The name of the product. + example: Nintendo DS Game Console + type: string + type: object + BonusDiscountLineItem: + description: Document representing a bonus discount line item. + properties: + bonusProducts: + description: The bonus products from which the customer can choose. + type: array + items: + $ref: '#/components/schemas/ProductReference' + couponCode: + maxLength: 256 + description: The coupon code that triggered the promotion, if applicable. + example: 5ties + type: string + id: + minLength: 1 + maxLength: 256 + description: The ID of the line item. + example: 91f4dd8bfa0653d58b7783b04f + type: string + maxBonusItems: + format: int32 + description: The maximum number of bonus items the user can select for this promotion. + type: integer + promotionId: + maxLength: 256 + description: The ID of the promotion that triggered the creation of the line item. + example: Buy1Get2 + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + OrderConfirmationStatus: + description: The order confirmation status. + example: confirmed + enum: + - confirmed + - not_confirmed + type: string + CouponItem: + description: Document representing a coupon item. + additionalProperties: false + properties: + code: + maxLength: 256 + description: The coupon code. + example: 5ties + type: string + couponItemId: + minLength: 1 + maxLength: 256 + description: The coupon item ID. + example: d4c9c0141e9c74c150225580f3 + type: string + statusCode: + description: The status of the coupon item. + example: no_applicable_promotion + enum: + - coupon_code_already_in_basket + - coupon_code_already_redeemed + - coupon_code_unknown + - coupon_disabled + - redemption_limit_exceeded + - customer_redemption_limit_exceeded + - timeframe_redemption_limit_exceeded + - no_active_promotion + - coupon_already_in_basket + - no_applicable_promotion + - applied + - adhoc + type: string + valid: + description: A flag indicating whether the coupon item is valid. A coupon line item is valid if the status code is "applied" or "no_applicable_promotion". + example: true + type: boolean + type: object + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + CustomerInfo: + description: Document representing a guest or logged-in customer. + additionalProperties: false + properties: + customerId: + maxLength: 100 + description: The customer ID. + example: abMKqMaNYOBMnNdDNzyC5oNTi5 + type: string + customerName: + maxLength: 256 + description: The customer name. + example: Max Mustermann + type: string + customerNo: + maxLength: 100 + description: The customer number. + example: '0002352' + type: string + email: + maxLength: 256 + description: The customer email address. + example: no-reply@salesforce.com + type: string + guest: + description: A flag indicating if the order was placed by a guest. + example: false + type: boolean + type: object + GiftCertificateItem: + description: A gift certificate item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + basePrice: + format: double + description: The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 50 + type: number + grossPrice: + format: double + description: The gross price of the line item before applying any adjustments. + example: 50 + type: number + itemText: + maxLength: 256 + description: The text describing the item. + example: Nintendo eShop gift card. + type: string + netPrice: + format: double + description: The net price of the line item before applying any adjustments. + example: 50 + type: number + tax: + format: double + description: The tax on the line item before applying any adjustments. + example: 0 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. + example: 50 + type: number + giftCertificateMerchantId: + minLength: 1 + maxLength: 256 + description: The ID used to identify the certificate merchant. + example: Nintendo + type: string + giftCertificateItemId: + minLength: 1 + maxLength: 256 + description: The item ID. + example: 629dea6e7b61e58da629b57b21 + type: string + message: + maxLength: 4000 + description: The gift certificate message. + example: Birthday present. + type: string + recipientEmail: + maxLength: 256 + description: The recipient email. + example: no-reply@salesforce.com + type: string + recipientName: + maxLength: 256 + description: The recipient name. + example: Daniel Mustermann + type: string + senderName: + maxLength: 256 + description: The sender name. + example: Max Mustermann + type: string + shipmentId: + minLength: 1 + maxLength: 256 + description: The ID of the shipment to which this item belongs. + example: me + type: string + type: object + OrderNo: + description: The order number + minLength: 1 + maxLength: 50 + type: string + example: '00000410' + ABTestSegment: + description: Document representing an AB test segment. In an AB test that compares different customer experiences, a segment defines the customers who receive a particular experience. + additionalProperties: false + properties: + testId: + minLength: 1 + maxLength: 40 + description: The ID of the associated AB test. + type: string + segmentId: + minLength: 1 + maxLength: 40 + description: The ID of the segment. + type: string + type: object + required: + - testId + - segmentId + Discount: + description: Document representing a discount. + additionalProperties: false + required: + - type + properties: + amount: + format: double + description: The discount amount for discount types that define specific discount amounts. + example: 5 + type: number + percentage: + format: double + description: The discount percent for discount types that define percentage discounts. + example: 0.19 + type: number + priceBookId: + maxLength: 256 + description: The ID of the price book for discount types that use a price book. + example: usd-sale-prices + type: string + type: + description: The type of discount. + example: fixed_price + enum: + - percentage + - fixed_price + - amount + - free + - price_book_price + - bonus + - total_fixed_price + - bonus_choice + - percentage_off_options + type: string + type: object + PriceAdjustment: + description: Document representing a price adjustment within a basket or order. Price adjustments can be assigned at the order, product, or shipping level. + required: + - promotionId + properties: + basePrice: + format: double + description: The adjustment amount. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 12 + type: number + grossPrice: + format: double + description: The adjustment amount, including tax. + example: 50 + type: number + itemText: + maxLength: 256 + description: The text describing the adjustment. + example: Employee discount applied. + type: string + netPrice: + format: double + description: The adjustment amount, not including tax. + example: 38 + type: number + tax: + format: double + description: The tax on the adjustment amount. + example: 0.19 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this adjustment. + example: 50 + type: number + abTestSegment: + description: The AB testing segment, if enabled for the site and applicable to this price adjustment. + allOf: + - $ref: '#/components/schemas/ABTestSegment' + appliedDiscount: + description: Details describing the discount on which this price adjustment is based. For adjustments not based on a discount, this value is null. + allOf: + - $ref: '#/components/schemas/Discount' + campaignId: + minLength: 1 + maxLength: 256 + description: The campaign ID of the promotion on which this price adjustment is based. For adjustments not based on a promotion, this value is null. For adjustments based on an AB test promotion, this value is not null, but isn't meaningful. + example: FreeShipping24 + type: string + couponCode: + minLength: 1 + maxLength: 256 + description: The coupon code of the coupon on which this price adjustment is based. For adjustments not based on a coupon, this value is null. + example: 5ties + type: string + createdBy: + maxLength: 256 + description: The user who created the price adjustment. + example: Customer + type: string + creationDate: + description: The timestamp when the price adjustment was created. + example: '2021-02-25T09:58:04.691Z' + type: string + format: date-time + custom: + description: A flag indicating whether this price adjustment was created by custom logic. This flag is set to true unless the price adjustment was created by the promotion engine. + example: false + type: boolean + lastModified: + description: The timestamp when the price adjustment was last modified. + example: '2021-02-25T09:58:08.715Z' + type: string + format: date-time + manual: + description: A flag indicating whether this price adjustment was created by a manual process. If the price adjustment was created by the promotion engine, this value is always false. + example: false + type: boolean + priceAdjustmentId: + minLength: 1 + maxLength: 256 + description: The price adjustment ID. + example: ba248424e3eee797f062161f8b + type: string + promotionId: + minLength: 1 + maxLength: 256 + description: The promotion ID of the promotion on which this price adjustment is based. Custom price adjustment can assign an arbitrary promotion ID, but it must not be used by the promotion engine. If no promotion ID is specified, then the system assigns a generated ID. + example: FreeShipping24 + type: string + reasonCode: + minLength: 1 + maxLength: 256 + description: The reason code why this price adjustment was made. + example: Employee discount was applied. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + PaymentCard: + description: Document representing a payment card. + additionalProperties: false + properties: + cardType: + maxLength: 256 + description: 'The payment card type (for example: Visa).' + example: Visa + type: string + creditCardExpired: + description: A flag indicating if the credit card is expired. + example: false + type: boolean + creditCardToken: + maxLength: 256 + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data at the + token store. + example: E67TY8GQ27X + type: string + expirationMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + maxLength: 256 + description: The masked payment card number. + example: '*********4422' + type: string + numberLastDigits: + maxLength: 4 + description: The last digits of payment card number. + example: '4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month from which the payment card is valid. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year from which the payment card is valid. + example: 2019 + type: integer + type: object + Status: + description: Document representing a status of an object. + additionalProperties: false + properties: + code: + maxLength: 256 + description: The status code. + example: OK + type: string + message: + maxLength: 256 + description: The message corresponding to the status. + example: Credit Card successfully authorized. + type: string + status: + minimum: 0 + maximum: 2 + format: int32 + description: A constant corresponding to the status code. The value is 0 for OK, 1 for ERROR, and 2 for WARN. + example: 0 + type: integer + type: object + PaymentTransaction: + description: Document representing an order payment transaction. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + authorizationStatus: + description: The authorization status of the payment transaction. + allOf: + - $ref: '#/components/schemas/Status' + transactionId: + maxLength: 256 + description: The payment service specific transaction ID. + example: 3226f0a3bc4b4f244d70dd1c2b + type: string + type: object + PaymentInstrument: + description: Document representing an order payment instrument. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '6784532' + type: string + maskedGiftCertificateCode: + maxLength: 256 + description: The gift certificate code with the last 4 characters not masked. + example: '******Gzzy' + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/PaymentCard' + paymentInstrumentId: + minLength: 1 + maxLength: 256 + description: The payment instrument ID. + example: ba248424e3eee797f062162f8b + type: string + paymentMethodId: + maxLength: 256 + description: The payment method ID. + example: CREDIT_CARD + type: string + paymentTransaction: + description: The payment transaction. + allOf: + - $ref: '#/components/schemas/PaymentTransaction' + type: object + ProductItem: + description: Document representing a product item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - productId + - shipmentId + - taxRate + properties: + basePrice: + format: double + description: The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 99.99 + type: number + grossPrice: + format: double + description: The gross price of the line item before applying any adjustments. + example: 99.99 + type: number + itemText: + maxLength: 256 + description: The text describing the item. + example: Nintendo DS Game Console + type: string + netPrice: + format: double + description: The net price of the line item before applying any adjustments. + example: 80.99 + type: number + tax: + format: double + description: The tax on the line item before applying any adjustments. + example: 19 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. + example: 99.99 + type: number + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. + example: 19 + type: number + bonusDiscountLineItemId: + minLength: 1 + maxLength: 256 + description: The ID of the bonus discount line item to which this bonus product relates. + example: ba248414e3eee797f062162f8b + type: string + bonusProductLineItem: + description: A flag indicating whether this item is a bonus product. + example: false + type: boolean + brand: + maxLength: 256 + example: Nintendo + type: string + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + externalLineItemStatus: + maxLength: 256 + description: The external line item status. + example: Available + type: string + externalLineItemText: + description: The external line item text. + example: The item is available + type: string + gift: + description: Returns true if the item is a gift. + example: false + type: boolean + giftMessage: + maxLength: 4000 + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. + example: inventory + type: string + itemId: + minLength: 1 + maxLength: 256 + description: The product item ID. Use this to identify this item when updating its quantity or creating a custom price adjustment for it. + example: 430ef5aad3a24de59378458434 + type: string + minOrderQuantity: + format: double + description: The minimum order quantity for this product. + example: 1 + type: number + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + position: + format: double + description: The position of the product line item. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: The price of the product line item including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + type: number + priceAfterOrderDiscount: + format: double + description: The price of the product line item including item-level adjustments and prorated order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + type: number + productId: + $ref: '#/components/schemas/ProductId' + productListItem: + description: If this product line item was added from a product list, this value is a reference to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + maxLength: 4000 + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The ordered quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + minLength: 1 + maxLength: 256 + description: The ID of the shipment to which this item belongs. + example: me + type: string + shippingItemId: + minLength: 1 + maxLength: 256 + description: If the product line item has a related shipping item, this value is the shipping item ID. A related shipping item represents a surcharge applied to individual products using a particular shipping method. + example: 006490dcc338feeafc71c964bf + type: string + stepQuantity: + format: double + example: 1 + type: number + taxRate: + format: double + description: The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. + example: 0.19 + type: number + type: object + OptionItem: + description: An option item represents an optional purchase related to a product item, and is always associated with the parent product item. For example, a refrigerator item can have a set of option items representing different warranties on the refrigerator. A shopper can only purchase one of the warranty option items together with the parent refrigerator item. + properties: + basePrice: + format: double + description: The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 49.99 + type: number + grossPrice: + format: double + description: The gross price of the line item before applying any adjustments. + example: 99.99 + type: number + gift: + description: Returns true if the item is a gift. + example: false + type: boolean + itemText: + maxLength: 256 + description: The text describing the item. + example: Extended Warranty - None + type: string + netPrice: + format: double + description: The net price of the line item before applying any adjustments. + example: 49.99 + type: number + tax: + format: double + description: The tax on the line item before applying any adjustments. + example: 0.19 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. + example: 50 + type: number + optionId: + minLength: 1 + maxLength: 256 + description: The ID of the option. + example: consoleWarranty + type: string + optionValueId: + minLength: 1 + maxLength: 256 + description: The ID of the option value. + example: '000' + type: string + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + productId: + $ref: '#/components/schemas/ProductId' + type: object + required: + - productId + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ProductListReference: + description: Document representing a product list. + additionalProperties: false + properties: + description: + maxLength: 256 + description: The description of this product list. + type: string + name: + maxLength: 256 + description: The name of this product list. + type: string + public: + description: A flag indicating whether the owner made this product list available for access by other customers. + example: false + type: boolean + type: + description: The type of the product list. + example: wish_list + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + type: string + type: object + ProductListItemReference: + description: Document representing product list item details. + additionalProperties: false + required: + - purchasedQuantity + properties: + id: + minLength: 1 + maxLength: 256 + description: The ID of the product list item. + example: ba248424e3fee797f062162f8b + type: string + priority: + format: int32 + description: The priority of the product list item. + type: integer + product: + description: A reference to the associated product. + allOf: + - $ref: '#/components/schemas/ProductReference' + productList: + description: A reference to the associated product list. + allOf: + - $ref: '#/components/schemas/ProductListReference' + public: + example: false + type: boolean + purchasedQuantity: + format: double + description: The total quantity of this item purchased from the product list. + example: 0 + type: number + quantity: + minimum: 0 + format: double + description: The number of products or gift certificates that get shipped when purchasing this product list item. + example: 1 + type: number + type: + description: Specifies whether the item is a product or a gift certificate. + example: product + enum: + - product + - gift_certificate + type: string + type: object + ShippingMethodReference: + description: Document representing a reference to a shipping method. + additionalProperties: false + properties: + id: + maxLength: 256 + description: The shipping method ID. + example: '0000457' + type: string + type: object + Shipment: + description: Document representing a shipment. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - shipmentId + - shipmentNo + properties: + adjustedMerchandizeTotalTax: + format: double + description: The total tax on products in the shipment, including item-level price adjustments but not including service charges such as shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. + example: 1.5 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. + example: 0.3 + type: number + gift: + description: A flag indicating whether the shipment is a gift. + example: true + type: boolean + giftMessage: + maxLength: 4000 + description: The gift message. + example: Happy Birthday + type: string + merchandizeTotalTax: + format: double + description: The total tax on products in the shipment, not including price adjustments or service charges such as shipping. + example: 1.5 + type: number + productSubTotal: + format: double + description: The total price of all products in the shipment, including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 29.99 + type: number + productTotal: + format: double + description: The total price of all products in the shipment including item-level adjustments and prorated order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 29.99 + type: number + shipmentId: + minLength: 1 + maxLength: 256 + description: The order-specific ID of the shipment. The default value is 'me'. + type: string + shipmentNo: + maxLength: 256 + description: The shipment number of this shipment. This number is automatically generated. + type: string + shipmentTotal: + format: double + description: The total price of all products in the shipment including item-level adjustments, shipping charges, and tax. + example: 39.99 + type: number + shippingAddress: + description: The shipping address. + allOf: + - $ref: '#/components/schemas/Address' + shippingMethod: + description: The shipping method. + allOf: + - $ref: '#/components/schemas/ShippingMethodReference' + shippingStatus: + description: The shipping status of the shipment. + example: shipped + enum: + - not_shipped + - shipped + type: string + shippingTotal: + format: double + description: The total price of all shipping charges in the shipment, including shipping adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, not including shipping price adjustments. + example: 0.3 + type: number + taxTotal: + format: double + description: The total tax on the shipment, including item-level price adjustments and service charges such as shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. This field value must match the summed up taxTotal, and an InvalidTaxTotalException is thrown if the values do not match. + example: 1.8 + type: number + trackingNumber: + maxLength: 256 + description: The tracking number of the shipment. + example: 1Z204E380338943508 + type: string + type: object + ShippingItem: + description: Document representing a shipping item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - taxRate + properties: + basePrice: + format: double + description: The base price of the shipping item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 5.99 + type: number + grossPrice: + format: double + description: The gross price of the shipping item before applying any adjustments. + example: 5.99 + type: number + itemText: + maxLength: 256 + description: The text describing the shipping item. + example: Shipping + type: string + netPrice: + format: double + description: The net price of the shipping item before applying any adjustments. + example: 5.99 + type: number + tax: + format: double + description: The tax for the shipping item, not including price adjustments. + example: 0.3 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this shipping item. + example: 5.99 + type: number + adjustedTax: + format: double + description: The tax for the shipping item, including price adjustments. + example: 0 + type: number + itemId: + minLength: 1 + maxLength: 256 + description: The shipping item ID. Use this value to identify this shipping item when updating its quantity or creating a custom price adjustment for it. + example: ba248424e3eee798f062162f8b + type: string + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: The price of the shipping item including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 4.99 + type: number + shipmentId: + minLength: 1 + maxLength: 256 + description: The ID of the shipment to which this item belongs. + example: me + type: string + taxRate: + format: double + description: The tax rate applicable to this shipping line item. For a 10% tax rate, the value is 0.1. + example: 0.19 + type: number + type: + default: fixed_price + description: The type of shipping charge applicable to this shipping item. + example: fixed_price + enum: + - fixed_price + - surcharge + type: string + type: object + OrderStatus: + description: The order status. + example: completed + enum: + - created + - new + - completed + - cancelled + - failed + type: string + Order: + description: Document representing an order. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - orderNo + properties: + adjustedMerchandizeTotalTax: + format: double + description: The total tax on products in the order, including price adjustments, but not including service charges such as shipping. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the order, including shipping price adjustments. + example: 0.3 + type: number + affiliatePartnerId: + maxLength: 256 + description: The affiliate partner ID. + example: PARTNER_US_001 + type: string + affiliatePartnerName: + maxLength: 256 + description: The affiliate partner name. + example: PARTNER_US_001 + type: string + billingAddress: + description: The billing address. + allOf: + - $ref: '#/components/schemas/Address' + bonusDiscountLineItems: + description: The bonus discount line items. + type: array + items: + $ref: '#/components/schemas/BonusDiscountLineItem' + businessType: + description: The business type. + example: b2c + enum: + - b2c + - b2b + type: string + cancelCode: + maxLength: 256 + description: The cancellation code. + example: canceled + type: string + cancelDescription: + maxLength: 4000 + description: The cancellation description. + example: Ordered by mistake. + type: string + channelType: + description: The sales channel. + example: storefront + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + confirmationStatus: + $ref: '#/components/schemas/OrderConfirmationStatus' + couponItems: + description: The coupon items. + type: array + items: + $ref: '#/components/schemas/CouponItem' + createdBy: + maxLength: 256 + description: This value depends on how the order was created. If a shopper created the order, this value is Customer. If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. + example: Customer + type: string + creationDate: + description: The timestamp when the order was created. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + customerLocale: + maxLength: 256 + description: The locale of the customer who created the order. + example: en_US + type: string + currency: + $ref: '#/components/schemas/CurrencyCode' + customerInfo: + $ref: '#/components/schemas/CustomerInfo' + customerOrderReference: + maxLength: 256 + description: The customer-specific reference information. + example: REF_US_143 + type: string + exportStatus: + $ref: '#/components/schemas/OrderExportStatus' + externalOrderNo: + maxLength: 256 + description: The external order number associated with the order. + example: '00000410' + type: string + externalOrderStatus: + maxLength: 256 + description: The status from an external order associated with this order. + example: Submitted + type: string + externalOrderText: + maxLength: 4000 + description: The text from an external order associated with this order. + example: Order is being prepared + type: string + giftCertificateItems: + description: The gift certificate line items. + type: array + items: + $ref: '#/components/schemas/GiftCertificateItem' + globalPartyId: + maxLength: 256 + description: The Customer 360 Global Party ID associated with the shopper. + type: string + invoiceNo: + maxLength: 256 + description: The invoice number. + example: '00000410' + type: string + lastModified: + description: The timestamp when the order was last modified. + example: '2020-11-04T14:13:31.061Z' + type: string + format: date-time + merchandizeTotalTax: + format: double + description: The total tax on products in the order, not including price adjustments or service charges such as shipping. + example: 4.95 + type: number + orderNo: + $ref: '#/components/schemas/OrderNo' + orderPriceAdjustments: + description: The order-level price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + orderTotal: + format: double + description: The total price, including products, shipping and, tax. + example: 110.24 + type: number + paymentInstruments: + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/PaymentInstrument' + paymentStatus: + $ref: '#/components/schemas/OrderPaymentStatus' + placeDate: + description: The timestamp when the order was placed. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + productItems: + description: The product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + productSubTotal: + format: double + description: The total price of all products including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 99 + type: number + productTotal: + format: double + description: The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 99 + type: number + remoteHost: + maxLength: 40 + description: The IP of the host that placed this order. You can turn IP logging on or off for your site. + example: 127.0.0.1 + type: string + shipments: + description: The shipments. + type: array + items: + $ref: '#/components/schemas/Shipment' + shippingItems: + description: The shipping items. + type: array + items: + $ref: '#/components/schemas/ShippingItem' + shippingStatus: + $ref: '#/components/schemas/OrderShippingStatus' + shippingTotal: + format: double + description: The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on all shipping charges, not including shipping adjustments. + example: 0.3 + type: number + siteId: + $ref: '#/components/schemas/SiteId' + sourceCode: + maxLength: 256 + description: The source code assigned to the basket from which this order was created. + type: string + sourceCodeGroupId: + minLength: 1 + maxLength: 256 + description: The group ID of the source code assigned to the basket from which this order was created. + type: string + status: + $ref: '#/components/schemas/OrderStatus' + taxTotal: + format: double + description: The total tax amount. + example: 5.25 + type: number + taxation: + description: The taxation policy (gross or net). + example: net + enum: + - gross + - net + type: string + type: object + OrdersResponse: + description: Document representing an orders result. + additionalProperties: false + properties: + data: + description: The orders data. + type: array + items: + $ref: '#/components/schemas/Order' + type: object + required: + - data + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + CreateOrderPriceAdjustment: + description: "The Price Adjustment without Promotion and Coupon references - handled as `AdHocPriceAdjustments` internally. \n\nThe following fields are set:\n- manual = true\n- custom = true\n- promotionId = AD_HOC_PRICE_ADJUSTMENT" + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - grossPrice + - netPrice + - tax + properties: + amount: + format: double + description: Amount to deduct from the applied line item's price. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 6 + type: number + basePrice: + format: double + description: "The adjustment amount. If the taxation policy is net, it doesn't include tax. \nIf the taxation policy is gross, it includes tax." + example: -6 + type: number + grossPrice: + format: double + description: The adjustment amount, including tax. + example: -6 + type: number + itemText: + description: The text describing the price adjustment. + example: 6 Dollar off. + type: string + netPrice: + format: double + description: The adjustment amount, not including tax. + example: -5 + type: number + reasonCode: + description: The reason code why this price adjustment was made. + example: Special Offer. + type: string + tax: + format: double + description: The tax on the adjustment amount. + example: 1 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this adjustment. + example: -5 + type: number + type: object + CreateOrderPaymentTransaction: + description: Document representing an order payment transaction. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - amount + - transactionId + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + authorizationStatus: + description: The authorization status of the payment transaction. + allOf: + - $ref: '#/components/schemas/Status' + transactionId: + maxLength: 256 + description: The payment service specific transaction ID. + example: 3226f0a3bc4b4f244d70dd1c2b + type: string + type: object + CreateOrderPaymentInstrument: + description: Document representing a payment instrument. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - paymentMethodId + properties: + paymentMethodId: + maxLength: 256 + description: The payment method ID. + example: PAYPAL + type: string + paymentTransaction: + description: The payment transaction. + allOf: + - $ref: '#/components/schemas/CreateOrderPaymentTransaction' + type: object + CreateOrderOptionItem: + description: An option item represents an optional purchase related to a product item, and is always associated with that parent product item. For example, a refrigerator item can have a set of option items representing different warranties on the refrigerator. A shopper can only purchase one of the warranty option items together with the parent refrigerator item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - basePrice + - grossPrice + - netPrice + - tax + - optionId + - optionValueId + - productId + properties: + basePrice: + format: double + description: The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. + example: 49.99 + type: number + grossPrice: + format: double + description: The gross price of the line item before applying any adjustments. + example: 99.99 + type: number + itemText: + maxLength: 256 + description: The text describing the item. + example: Extended Warranty - None + type: string + netPrice: + format: double + description: The net price of the line item before applying any adjustments. + example: 49.99 + type: number + tax: + format: double + description: The tax on the line item before applying any adjustments. + example: 0.19 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. + example: 50 + type: number + optionId: + minLength: 1 + maxLength: 256 + description: The ID of the option. + example: consoleWarranty + type: string + optionValueId: + minLength: 1 + maxLength: 256 + description: The ID of the option value. + example: '000' + type: string + priceAdjustments: + maxItems: 20 + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/CreateOrderPriceAdjustment' + productId: + $ref: '#/components/schemas/ProductId' + type: object + CreateOrderProductItems: + description: Document representing a product item for an order. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - basePrice + - grossPrice + - netPrice + - productId + - quantity + - shipmentId + - tax + properties: + basePrice: + format: double + description: "The base price of the line item, which is the unit price not including adjustments. \nIf the taxation policy is net, it doesn't include tax. \nIf the taxation policy is gross, it includes tax." + example: 34.32 + type: number + brand: + maxLength: 256 + description: The brand of the line item. + example: brand0001 + type: string + grossPrice: + format: double + description: The gross price of the line item before applying any adjustments. + example: 34.32 + type: number + itemText: + description: The text describing the item. + example: Green Umbrella + type: string + netPrice: + format: double + description: The net price of the line item before applying any adjustments. + example: 30.32 + type: number + optionItems: + maxItems: 10 + description: The array of option items. This array can be empty. + type: array + items: + $ref: '#/components/schemas/CreateOrderOptionItem' + priceAdjustments: + maxItems: 20 + description: The price adjustments on product line item. + type: array + items: + $ref: '#/components/schemas/CreateOrderPriceAdjustment' + productId: + $ref: '#/components/schemas/ProductId' + productName: + maxLength: 256 + description: The name of the product. + example: green umbrella + type: string + quantity: + minimum: 0 + format: double + description: The ordered quantity of the products represented by this item. + example: 3 + type: number + shipmentId: + minLength: 1 + maxLength: 256 + description: The ID of the shipment to which this item belongs. Shipment 'me' is reserved for the system and is not valid to pass. + example: shipment00001 + type: string + tax: + format: double + description: The tax on the line item before applying any adjustments. + example: 4 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. + example: 30.32 + type: number + taxRate: + format: double + description: |- + The tax rate applicable to this product line item. + For a 10% tax rate, the value is 0.1. + Just for display. No calculation or sanity checks are applied. + type: number + type: object + CreateOrderShipment: + description: Document representing a shipment for an order. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - shipmentId + - shippingMethod + - shippingAddress + - shippingTotal + - taxTotal + properties: + shipmentId: + minLength: 1 + maxLength: 256 + description: |- + The order-specific ID of the shipment. The field shipmentId from line items refers to this value. + The first shipment always become the standard shipment and is named 'me'. The ID 'me' is reserved for the standard shipment and it is not allowed to be used by the API caller. + example: shipment00001 + type: string + shippingMethod: + description: The shipping method. This has no reference to any shipments configured in the platform. + example: EXPRESS + type: string + shippingAddress: + description: The shipping address. + allOf: + - $ref: '#/components/schemas/Address' + shippingTotal: + format: double + description: |- + The total price of all shipping charges in the shipment. + If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. + example: 4.95 + type: number + taxTotal: + format: double + description: The total tax on the shipment. + example: 0.75 + type: number + type: object + CreateOrderRequest: + description: Document representing the order create request. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + required: + - billingAddress + - currency + - orderTotal + - paymentInstruments + - productItems + - shipments + - taxTotal + properties: + billingAddress: + description: The billing address. The name from the billing address is required and is used as the customer's name (for guest customer). + allOf: + - $ref: '#/components/schemas/Address' + businessType: + description: The business type. + example: b2c + enum: + - b2c + - b2b + type: string + channelType: + description: The sales channel. + example: instagramcommerce + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + currency: + $ref: '#/components/schemas/CurrencyCode' + customerLocale: + maxLength: 256 + description: The locale of the customer who created the order. + example: en_US + type: string + orderNo: + description: The order number. This must be unique in the site and is generated if no orderNo is passed in payload. + example: ORDER_000000001 + allOf: + - $ref: '#/components/schemas/OrderNo' + orderPriceAdjustments: + maxItems: 20 + description: The order-level price adjustments. + type: array + items: + $ref: '#/components/schemas/CreateOrderPriceAdjustment' + orderTotal: + format: double + description: The total price, including products, shipping, and tax. If this value does not match the calculated value (sum of all grossPrices minus PriceAdjustments), an InvalidOrderTotalException is thrown. + example: 39.27 + type: number + paymentInstruments: + maxItems: 20 + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/CreateOrderPaymentInstrument' + paymentStatus: + description: The payment status from the order. + example: paid + enum: + - paid + - not_paid + type: string + productItems: + minItems: 1 + maxItems: 200 + description: The product items. + type: array + items: + $ref: '#/components/schemas/CreateOrderProductItems' + shipments: + minItems: 1 + maxItems: 10 + description: The shipments. + type: array + items: + $ref: '#/components/schemas/CreateOrderShipment' + taxTotal: + format: double + description: The total tax amount. + type: number + type: object + OrderUpdateRequest: + description: "Request body to create an order and set custom attributes on the order. \nPlease note that the custom attribute definition have to be configured both on the Basket and Order object in the platform." + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + OrderConfirmationStatusUpdateRequest: + description: Request body to update the order confirmation status. + additionalProperties: false + properties: + status: + $ref: '#/components/schemas/OrderConfirmationStatus' + type: object + required: + - status + OrderExportStatusUpdateRequest: + description: Request body to update the order export status. + additionalProperties: false + properties: + status: + $ref: '#/components/schemas/OrderExportStatus' + type: object + required: + - status + OrderExternalStatusUpdateRequest: + description: Request body to update the order external status. + additionalProperties: false + properties: + status: + minLength: 1 + maxLength: 256 + description: The new external status. + example: in_delivery + type: string + type: object + required: + - status + OrderPaymentStatusUpdateRequest: + description: Request body to update the order payment status. + additionalProperties: false + properties: + status: + $ref: '#/components/schemas/OrderPaymentStatus' + type: object + required: + - status + OrderShippingStatusUpdateRequest: + description: Request body to update the order shipping status. + additionalProperties: false + properties: + status: + $ref: '#/components/schemas/OrderShippingStatus' + type: object + required: + - status + OrderStatusUpdateRequest: + description: Request body to update the order status. + additionalProperties: false + properties: + status: + description: The new status. + example: new + enum: + - created + - new + - completed + - cancelled + - failed + - failed_with_reopen + type: string + type: object + required: + - status + PaymentInstrumentUpdateRequest: + description: Request body to update custom properties. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + PaymentTransactionUpdateRequest: + description: Request body to update custom properties. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ShippingAddressUpdateRequest: + description: Request body to update the shipping address. + allOf: + - $ref: '#/components/schemas/Address' + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + sortBy: + name: sortBy + in: query + description: Sort results by creation date or last modified date. The default is creation date. + required: false + schema: + type: string + default: creation_date + enum: + - creation_date + - last_modified_date + sortOrder: + name: sortOrder + in: query + description: Sort results in ascending or descending order. The default is descending. + required: false + schema: + type: string + default: desc + enum: + - asc + - desc + status: + name: status + in: query + description: Filter results by status. Valid statuses are 'new', 'completed', and 'cancelled'. You can include up to two statuses as a comma-separated string. + required: false + schema: + type: string + exportStatus: + name: exportStatus + in: query + description: Filter results by export status. Valid export statuses are 'not_exported', 'exported', 'ready', and 'failed'. You can include up to three export statuses as a comma-separated string. + required: false + schema: + type: array + items: + allOf: + - $ref: '#/components/schemas/OrderExportStatus' + maxItems: 3 + example: not_exported,ready,failed + externalStatus: + name: externalStatus + in: query + description: Filter results by external status. + required: false + schema: + type: string + confirmationStatus: + name: confirmationStatus + in: query + description: Filter results by confirmation status. Valid confirmation statuses are 'confirmed' and 'not_confirmed'. + required: false + schema: + type: string + description: The order confirmation status. + example: confirmed + enum: + - confirmed + - not_confirmed + paymentStatus: + name: paymentStatus + in: query + description: Filter results by payment status. Valid payment statuses are 'not_paid', 'part_paid', and 'paid'. You can include up to two payment statuses as a comma-separated string. + required: false + schema: + type: array + items: + allOf: + - $ref: '#/components/schemas/OrderPaymentStatus' + maxItems: 3 + example: not_paid,part_paid + shippingStatus: + name: shippingStatus + in: query + description: Filter results by shipping status. Valid shipping statuses are 'not_shipped', 'part_shipped', and 'shipped'. You can include up to two shipping statuses as a comma-separated string. + required: false + schema: + type: array + items: + allOf: + - $ref: '#/components/schemas/OrderShippingStatus' + maxItems: 3 + example: not_shipped,part_shipped + creationDateFrom: + description: If passed, will return records where the `creationDate` is equal to or greater than the passed `date-only`. + schema: + type: string + format: date-time + example: '2015-05-19T15:30:18.000Z' + name: creationDateFrom + in: query + creationDateTo: + description: If passed, will return records where the `creationDate` is less than the passed `date-only`. + schema: + type: string + format: date-time + example: '2015-05-19T15:30:18.000Z' + name: creationDateTo + in: query + lastModifiedDateFrom: + description: If passed, will return records where the `lastModifiedDate` is equal to or greater than the passed `date-only`. + schema: + type: string + format: date-time + example: '2015-05-19T15:30:18.000Z' + name: lastModifiedDateFrom + in: query + lastModifiedDateTo: + description: If passed, will return records where the `lastModifiedDate` is less than the passed `date-only`. + schema: + type: string + format: date-time + example: '2015-05-19T15:30:18.000Z' + name: lastModifiedDateTo + in: query + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + orderNo: + name: orderNo + in: path + description: The order number. + required: true + schema: + $ref: '#/components/schemas/OrderNo' + paymentInstrumentId: + name: paymentInstrumentId + in: path + description: ID of the payment instrument. + required: true + schema: + minLength: 1 + type: string + shipmentId: + name: shipmentId + in: path + description: ID of the shipment. + required: true + schema: + minLength: 1 + type: string + examples: + OrdersGet: + value: + data: + - adjustedMerchandizeTotalTax: 4.95 + adjustedShippingTotalTax: 0.3 + billingAddress: + address1: 45 Main Rd. + city: Burlington + countryCode: US + firstName: Max + fullName: Max Mustermann + lastName: Mustermann + phone: '6175555555' + postalCode: '05408' + stateCode: MA + confirmationStatus: confirmed + createdBy: storefront + creationDate: '2015-05-19T15:23:18.000Z' + currency: USD + customerInfo: + customerId: abMKqMaNYOBMnNdDNzyC5oNTi5 + customerName: Max Mustermann + customerNo: '0002352' + email: no-reply@salesforce.com + guest: true + customerLocale: en_US + exportStatus: not_exported + invoiceNo: '00000001' + lastModified: '2020-11-04T14:13:31.061Z' + merchandizeTotalTax: 4.95 + orderNo: '00000410' + orderTotal: 110.24 + paymentInstruments: + - paymentCard: + cardType: Visa + creditCardExpired: true + expirationMonth: 1 + expirationYear: 2020 + holder: Max Mustermann + maskedNumber: '***************1111' + numberLastDigits: '1111' + validFromMonth: 1 + validFromYear: 2018 + paymentInstrumentId: 21052ad719a076cdc83637851e + paymentMethodId: CREDIT_CARD + paymentTransaction: + amount: 110.24 + transactionId: 40f07907428e23c4bbc6fb0446 + c_authResult: AUTHORIZED + c_issuerBank: JPMORGAN CHASE BANK, N.A. + paymentStatus: not_paid + placeDate: '2015-05-19T15:23:18.000Z' + productItems: + - adjustedTax: 4.95 + basePrice: 99 + bonusProductLineItem: false + gift: false + grossPrice: 103.95 + itemId: 99e96c7f8b46b98de2bae5d778 + itemText: Flat Front Pant + netPrice: 99 + position: 1 + priceAfterItemDiscount: 99 + priceAfterOrderDiscount: 99 + productId: '701643632930' + productName: Flat Front Pant + quantity: 1 + shipmentId: me + tax: 4.95 + taxBasis: 99 + taxRate: 0.05 + productSubTotal: 99 + productTotal: 99 + remoteHost: 127.0.0.1 + shipments: + - adjustedMerchandizeTotalTax: 4.95 + adjustedShippingTotalTax: 0.3 + gift: false + merchandizeTotalTax: 99 + productSubTotal: 99 + productTotal: 99 + shipmentId: me + shipmentNo: '00000001' + shipmentTotal: 110.24 + shippingAddress: + address1: 45 Main Rd. + city: Burlington + countryCode: US + firstName: Max + fullName: Max Mustermann + lastName: Mustermann + phone: '6175555555' + postalCode: '05408' + stateCode: MA + shippingMethod: + id: DefaultShippingMethod + shippingStatus: not_shipped + shippingTotal: 5.99 + shippingTotalTax: 0.3 + taxTotal: 5.25 + shippingItems: + - adjustedTax: 0.3 + basePrice: 5.99 + grossPrice: 6.29 + itemId: 23ace383d9355c881f1c00417a + itemText: Shipping + netPrice: 5.99 + priceAfterItemDiscount: 5.99 + shipmentId: me + tax: 0.3 + taxBasis: 5.99 + taxRate: 0.05 + type: fixed_price + shippingStatus: not_shipped + shippingTotal: 5.99 + shippingTotalTax: 0.3 + siteId: ShoppingSite + status: new + taxation: net + taxTotal: 5.25 + OrderNotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found + title: Order Not Found + detail: No order with number '123' was found. + CreateSimpleOrder: + value: + billingAddress: + address1: 43 Main Rd. + city: Burlington + firstName: Jane + lastName: Doe + channelType: instagramcommerce + currency: USD + orderNo: '0000019373' + orderTotal: 66.91 + paymentInstruments: + - paymentMethodId: PAYPAL + paymentTransaction: + amount: 66.91 + transactionId: abc13384ajsgdk1 + productItems: + - basePrice: 30.98 + grossPrice: 61.96 + netPrice: 49.57 + productId: black-shoe_29347-38 + productName: special edition shoe women 38 + quantity: 2 + shipmentId: shipment1 + tax: 12.39 + shipments: + - shipmentId: shipment1 + shippingAddress: + address1: 43 Main Rd. + city: Burlington + firstName: Jane + lastName: Doe + shippingMethod: EXPRESS + shippingTotal: 4.95 + taxTotal: 0 + taxTotal: 12.39 + CreateFullOrder: + value: + billingAddress: + address1: 45 Main Rd. + city: Burlington + countryCode: US + firstName: John + fullName: John Doe + jobTitle: Product Manager + lastName: Doe + phone: '6175555555' + postalCode: 01803-2336 + secondName: Jr. + stateCode: MA + suffix: Jr. + suite: suite + title: M.Sc. + businessType: b2c + channelType: instagramcommerce + currency: USD + customerLocale: en_US + orderNo: '00000041' + orderPriceAdjustments: + - amount: 5 + basePrice: -6 + grossPrice: -6 + itemText: 5 off + netPrice: -5 + reasonCode: registered + tax: -1 + taxBasis: 6 + orderTotal: 113.24 + paymentInstruments: + - paymentMethodId: CREDITCARD + paymentTransaction: + amount: 113.24 + transactionId: abc13384ajsgdk1 + paymentStatus: paid + productItems: + - basePrice: 99 + brand: brand + grossPrice: 103.95 + itemText: Flat Front Pant + netPrice: 99 + priceAdjustments: + - amount: 5 + grossPrice: -6 + itemText: 5 off + netPrice: -5 + reasonCode: registered + tax: -1 + productId: '701643632930' + productName: Flat Front Pant + quantity: 1 + shipmentId: '00000001' + tax: 4.95 + taxBasis: 99 + taxRate: 0.05 + shipments: + - shipmentId: '00000001' + shippingAddress: + address1: 45 Main Rd. + address2: road 2 + city: Burlington + companyName: Salesforce + countryCode: US + firstName: John + fullName: John Doe + jobTitle: Product Manager + lastName: Doe + phone: '6175555555' + postBox: none + postalCode: 01803-2336 + salutation: Mr. + stateCode: MA + suffix: Jr. + suite: suite + title: M.Sc. + shippingMethod: EXPRESS + shippingTotal: 21.29 + taxTotal: 4.95 + taxTotal: 7.9 + CreateOrderMultiShipment: + value: + billingAddress: + address1: 43 Main Rd. + city: Burlington + firstName: Jane + lastName: Doe + channelType: instagramcommerce + currency: USD + orderNo: '000028376' + orderTotal: 75.86 + paymentInstruments: + - paymentMethodId: PAYPAL + paymentTransaction: + amount: 75.86 + transactionId: abc13384ajsgdk1 + productItems: + - basePrice: 30.98 + grossPrice: 30.98 + netPrice: 24.79 + productId: black-shoe_081273-38 + productName: special edition shoe women 38 + quantity: 1 + shipmentId: shipment1 + tax: 6.19 + - basePrice: 30.98 + grossPrice: 30.98 + netPrice: 24.79 + productId: red-shirt_2937298-xl + productName: t shirt XL + quantity: 1 + shipmentId: shipment2 + tax: 6.19 + shipments: + - shipmentId: shipment1 + shippingAddress: + address1: 43 Main Rd. + city: Burlington + firstName: Jane + lastName: Doe + shippingMethod: GROUND + shippingTotal: 4.95 + taxTotal: 0 + - shipmentId: shipment2 + shippingAddress: + address1: 45 Main Rd. + city: Burlington + firstName: John + lastName: Doe + shippingMethod: EXPRESS + shippingTotal: 8.95 + taxTotal: 0 + taxTotal: 12.38 + CreateFullPaymentInstrument: + value: + billingAddress: + address1: 45 Main Rd. + city: Burlington + firstName: John + lastName: Doe + channelType: instagramcommerce + currency: USD + orderNo: '0000091837' + orderTotal: 66.91 + paymentInstruments: + - paymentMethodId: CREDITCARD + paymentTransaction: + amount: 30 + authorizationStatus: + code: '0' + message: credit card successfully authorized + status: 0 + transactionId: abc13384ajsgdk1 + - paymentMethodId: PAYPAL + paymentTransaction: + amount: 36.91 + authorizationStatus: + code: '0' + message: paypal authorized + status: 0 + transactionId: abceou98463 + paymentStatus: paid + productItems: + - basePrice: 30.98 + grossPrice: 61.96 + netPrice: 49.57 + productId: black-shoe_97253-38 + productName: special edition shoe women 38 + quantity: 2 + shipmentId: shipment1 + tax: 12.39 + shipments: + - shipmentId: shipment1 + shippingAddress: + address1: 45 Main Rd. + city: Burlington + firstName: John + lastName: Doe + shippingMethod: GROUND + shippingTotal: 4.95 + taxTotal: 0 + taxTotal: 12.39 + InvalidOrderTotal: + value: + title: Invalid Order Total + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-order-total + detail: The passed order total '72.96' does not match the calculated order total '74.96'. + InvalidTaxTotal: + value: + title: Invalid Tax Total + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-total + detail: The passed tax total '2.95' does not match the calculated tax total '5.56'. + BadRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + title: Bad Request + detail: Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'. + ShipmentNotFound: + value: + title: Shipment Not Found, + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found, + detail: No shipment with ID 'express_shipment' could be found. + OrderGet: + value: + adjustedMerchandizeTotalTax: 4.95 + adjustedShippingTotalTax: 1.3 + billingAddress: + address1: 45 Main Rd. + city: Burlington + countryCode: US + firstName: Max + fullName: Max Mustermann + lastName: Mustermann + phone: '6175555555' + postalCode: '05408' + stateCode: MA + confirmationStatus: confirmed + createdBy: storefront + creationDate: '2015-05-19T15:23:18.000Z' + currency: USD + customerInfo: + customerId: cdrjZ5iQeOQjpqKldaSzbvg2E8 + customerName: Max Mustermann + customerNo: '0002352' + email: no-reply@salesforce.com + guest: true + customerLocale: en_US + exportStatus: not_exported + invoiceNo: '00000001' + lastModified: '2020-11-05T13:08:05.588Z' + merchandizeTotalTax: 4.95 + orderNo: '00000410' + orderTotal: 110.24 + paymentInstruments: + - paymentCard: + cardType: Visa + creditCardExpired: true + expirationMonth: 1 + expirationYear: 2020 + holder: Max Mustermann + maskedNumber: '***************1111' + numberLastDigits: '1111' + validFromMonth: 1 + validFromYear: 2018 + paymentInstrumentId: 2c36f04e453a2512fba74ae1ea + paymentMethodId: CREDIT_CARD + paymentTransaction: + amount: 110.24 + transactionId: 40f07907428e23c4bbc6fb0446 + c_authResult: AUTHORIZED + c_issuerBank: JPMORGAN CHASE BANK, N.A. + paymentStatus: not_paid + placeDate: '2015-05-19T15:23:18.000Z' + productItems: + - adjustedTax: 4.95 + basePrice: 99 + bonusProductLineItem: false + gift: false + grossPrice: 103.95 + itemId: 3390171e44271bad9c36592049 + itemText: Flat Front Pant + netPrice: 99 + position: 1 + priceAfterItemDiscount: 99 + priceAfterOrderDiscount: 99 + productId: '701643632930' + productName: Flat Front Pant + quantity: 1 + shipmentId: me + shippingItemId: a46294cffd6945a511cb6fce05 + tax: 4.95 + taxBasis: 99 + taxRate: 0.05 + productSubTotal: 99 + productTotal: 99 + remoteHost: 127.0.0.1 + shipments: + - adjustedMerchandizeTotalTax: 4.95 + adjustedShippingTotalTax: 1.3 + gift: false + merchandizeTotalTax: 99 + productSubTotal: 99 + productTotal: 99 + shipmentId: me + shipmentNo: '00000001' + shipmentTotal: 110.24 + shippingAddress: + address1: 45 Main Rd. + city: Burlington + countryCode: US + firstName: Max + fullName: Max Mustermann + lastName: Mustermann + phone: '6175555555' + postalCode: '05408' + stateCode: MA + shippingMethod: + id: DefaultShippingMethod + shippingStatus: not_shipped + shippingTotal: 25.99 + shippingTotalTax: 1.3 + taxTotal: 5.25 + shippingItems: + - adjustedTax: 0.3 + basePrice: 5.99 + grossPrice: 6.29 + itemId: 4c3d46056d49226904ee61946c + itemText: Shipping + netPrice: 5.99 + priceAfterItemDiscount: 5.99 + shipmentId: me + tax: 0.3 + taxBasis: 5.99 + taxRate: 0.05 + type: fixed_price + - adjustedTax: 1 + basePrice: 10 + grossPrice: 21 + itemId: a46294cffd6945a511cb6fce05 + itemText: Item Shipping Cost (Surcharge) + netPrice: 20 + priceAfterItemDiscount: 20 + shipmentId: me + tax: 1 + taxBasis: 20 + taxRate: 0.05 + type: surcharge + shippingStatus: not_shipped + shippingTotal: 25.99 + shippingTotalTax: 1.3 + siteId: ShoppingSite + status: new + taxation: net + taxTotal: 5.25 + Order: + value: + c_carrierCode: DHL + c_weight: 2.4 + c_review: null + OrderConfirmationStatus: + value: + status: confirmed + OrderExportStatus: + value: + status: exported + OrderExternalStatus: + value: + status: external status + OrderPaymentStatus: + value: + status: paid + OrderShippingStatus: + value: + status: shipped + OrderStatus: + value: + status: new + UndoFailOrder: + value: + title: Undo Fail Order + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/undo-fail-order + detail: The failed order with number '00020029’ cannot be reopened. + OrderPaymentInstrument: + value: + c_giftCardNumber: 12kH5DSkfsaErrRjKheWqqZ + OrderPaymentTransaction: + value: + c_externalReferenceCode: dfg73DsFgH93Lkj2SaArePos + c_processedDate: '2019-10-07' + c_additionalInformation: Brunch enim ligula congue eu tempus craft beer tellus amet non urna sapien you probably haven’t heard of them eros ornare massa massa. Duis craft beer mattis pellentesque nulla risus arcu San Francisco adipiscing proin lorem sapien integer wire-rimmed glasses auctor ipsum cursus eget nam. Toms bibendum donec vivamus molestie vulputate fixie cursus amet eget nibh integer craft beer pellentesque odio mauris porttitor sodales. + OrderShippingAddress: + value: + address1: 100 Presidential Way + address2: 100 Presidential Way 2 + city: Woburn + lastName: Smith + title: Prof. Dr. + countryCode: US + phone: +1 123 456789 + companyName: DWRE + secondName: Daniel + salutation: Mr. + stateCode: MA + postalCode: '01801' + firstName: John + jobTitle: Director + c_district: South End + c_floor: 2 + c_note: Engineering diff --git a/apis/orders-oas/shopper-orders-oas-1.4.12/.metadata.json b/apis/orders-oas/shopper-orders-oas-1.4.12/.metadata.json new file mode 100644 index 00000000..89645d40 --- /dev/null +++ b/apis/orders-oas/shopper-orders-oas-1.4.12/.metadata.json @@ -0,0 +1,17 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-orders-oas/1.4.12", + "name": "Shopper Orders OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-orders-oas", + "version": "1.4.12", + "categories": { + "SDK Type": [ + "Isomorphic", + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/orders-oas/shopper-orders-oas-1.4.12/exchange.json b/apis/orders-oas/shopper-orders-oas-1.4.12/exchange.json new file mode 100644 index 00000000..2e4e8e61 --- /dev/null +++ b/apis/orders-oas/shopper-orders-oas-1.4.12/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-orders-oas-v1-public.yaml", + "name": "Shopper Orders OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-orders-oas", + "version": "1.4.12", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/orders-oas/shopper-orders-oas-1.4.12/shopper-orders-oas-v1-internal.yaml b/apis/orders-oas/shopper-orders-oas-1.4.12/shopper-orders-oas-v1-internal.yaml new file mode 100644 index 00000000..9bdb1b30 --- /dev/null +++ b/apis/orders-oas/shopper-orders-oas-1.4.12/shopper-orders-oas-v1-internal.yaml @@ -0,0 +1,3229 @@ +openapi: 3.0.3 +info: + title: Shopper Orders + version: v1 + description: |- + # API Overview + + The Shopper Orders API enables you to: + + - Create orders based on baskets prepared using the Shopper Baskets API. + - Add a customer's payment instrument to an order. + + You can choose to supply the full payment information or supply only a customer payment instrument ID and amount. If the customer payment instrument ID is set, all the other properties (except amount) are ignored and the payment data is resolved from the stored customer payment information. + + **Note:** The API doesn’t allow the storage of credit card numbers. The endpoint provides the storage of masked credit card numbers only. + + To update the payment status, use the Orders API. + + Caching is provided for the Shopper Products API. For details, see [Server-Side Web-Tier Caching](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html). + + For additional guidance when working with baskets, see [Build Baskets and Place Orders](https://developer.salesforce.com/docs/commerce/commerce-api/guide/work-with-baskets-orders.html). + + ## Authentication & Authorization + + The client requesting the product information must have access to the Products resource. The Shopper Products API requires a shopper access token from the Shopper Login and API Access Service (SLAS). + + For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + ### Use Hooks + + For details on working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-orders/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/orders: + post: + description: Submits an order based on a prepared basket. The only considered value from the request body is basketId. + operationId: createOrder + summary: Submits an order for a basket. + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + examples: + OrderPost: + $ref: '#/components/examples/OrderPost' + schema: + $ref: '#/components/schemas/Basket' + responses: + '200': + description: Success, the response body contains the submitted order. + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + examples: + Order: + $ref: '#/components/examples/examples-OrderPost' + '400': + description: |- + Possible reasons: + - a failure during the creation of a gift certificate + for a gift certificate item. + - the basket ID in the request body is null or + empty. + - an invalid product item. + - an option with the specified option ID is + unknown. + - an option with the specified option value ID + is unknown. + - a product item is not available. + - the customer assigned to the basket does not + match the verified customer represented by the JWT token. + - the basket contains flashes. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + /organizations/{organizationId}/orders/{orderNo}: + get: + description: Gets information for an order. + operationId: getOrder + summary: Retrieve order information. + parameters: + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the order. + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + examples: + Order: + $ref: '#/components/examples/OrderGet' + '404': + description: The order with the given order number is unknown. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + /organizations/{organizationId}/orders/{orderNo}/lookup: + post: + description: |+ + Use this endpoint to lookup a guest order. + + **Important**: This endpoint uses the [ShopperTokenTsob](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=security%3AShopperTokenTsob) security scheme. Always check the Security section of the endpoint documentation, which is hidden by default. + + The API uses the `orderViewCode` generated during the order creation and the `email` of the order customer to lookup a guest order. If email is not provided on the order, the field can be left blank in the lookup request. + **Note**: In the no email on order scenario, the custom implementation must include an additional verification of an order attribute. For example, a postal code or mobile number. + + This API can also be used for looking up an order for a registered customer. In addition to the verification steps used for guest order lookup, the API also verifies that the customer ID of the order matches with the customer ID supplied in the `ShopperTokenTsob`. + + operationId: guestOrderLookup + summary: Retrieve order information for a specific guest order. + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + examples: + OrderLookUp: + $ref: '#/components/examples/OrderLookup' + schema: + $ref: '#/components/schemas/OrderLookupRequest' + responses: + '200': + description: Success, the response body contains the order found with the order view code. + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + examples: + Order: + $ref: '#/components/examples/examples-OrderPost' + '400': + description: |- + Possible reasons: + - order view code or email is missing. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Order was not found. Possible reasons: + - the order with the given order no is unknown. + - the given order view code does not match the one in the order. + - the given email does not match the one in the order. + - the authorized customer of a registered customer order lookup does not match the customer in the order. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - ShopperTokenTsob: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + /organizations/{organizationId}/orders/{orderNo}/payment-instruments: + post: + description: |- + Adds a payment instrument to an order. + + Details: + + The payment instrument is added with the provided details. The payment method must be applicable for the order see GET + /baskets/{basketId}/payment-methods, if the payment method is 'CREDIT_CARD' a paymentCard must be specified in the request. + operationId: createPaymentInstrumentForOrder + summary: Add a payment instrument to an order. + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + examples: + PaymentInstrumentPost: + $ref: '#/components/examples/PaymentInstrumentPost' + schema: + $ref: '#/components/schemas/OrderPaymentInstrumentRequest' + responses: + '200': + description: Success, the response body contains the order with the added payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + examples: + Order: + $ref: '#/components/examples/examples-PaymentInstrumentPost' + '400': + description: |- + Possible reasons: + - the given order number is invalid. + - the provided payment method is invalid or not applicable. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The order with the given order number is unknown. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + /organizations/{organizationId}/orders/{orderNo}/payment-instruments/{paymentInstrumentId}: + delete: + description: Removes a payment instrument of an order. + operationId: removePaymentInstrumentFromOrder + summary: Remove a payment instrument from an order. + parameters: + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the order without the deleted payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + '404': + description: |- + Possible reasons: + - The order with the given order number is unknown. + - The payment instrument with the given order payment + instrument ID is unknown. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + patch: + description: |- + Updates a payment instrument of an order. + + Details: + + The payment instrument is updated with the provided details. The payment method must be applicable for the + order see GET /baskets/{basketId}/payment-methods, if the payment method is 'CREDIT_CARD' a + paymentCard must be specified in the request. + operationId: updatePaymentInstrumentForOrder + summary: Update payment instrument details for an order. + parameters: + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + examples: + PaymentInstrumentPatch: + $ref: '#/components/examples/PaymentInstrumentPatch' + schema: + $ref: '#/components/schemas/OrderPaymentInstrumentRequest' + responses: + '200': + description: Success, the response body contains the order with the updated payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + examples: + Order: + $ref: '#/components/examples/examples-PaymentInstrumentPatch' + '400': + description: |- + Possible reasons: + - the basket payment instrument with the given + ID already is permanently masked. + - the provided payment method is invalid or not applicable. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - The order with the given order number is unknown. + - The payment instrument with the given payment + instrument ID is unknown. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + /organizations/{organizationId}/orders/{orderNo}/payment-methods: + get: + description: Gets the applicable payment methods for an existing order considering the open payment amount only. + operationId: getPaymentMethodsForOrder + summary: Retrieve payment instrument details for an order. + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the applicable payment methods for the order. + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentMethodResult' + examples: + PaymentMethodResult: + $ref: '#/components/examples/PaymentMethodsGet' + '400': + description: |- + The customer assigned to the order does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The order with the given order number is unknown. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + /organizations/{organizationId}/orders/{orderNo}/taxes: + get: + description: |- + This method gives you the external taxation data of the order transferred from the basket during + order creation. This endpoint can be called only if external taxation was used. See POST /baskets + for more information. + operationId: getTaxesFromOrder + summary: Retrieve external taxation data for an order. + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: |- + Success, the response body contains the external taxation from all items from the referenced + order. + content: + application/json: + schema: + $ref: '#/components/schemas/Taxes' + examples: + Taxes: + $ref: '#/components/examples/OrderTaxGet' + '404': + description: The order with the given order number is unknown. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + '409': + description: "Possible Reasons: \n - The tax mode of the referenced basket is not set to EXTERNAL." + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidTaxMode: + $ref: '#/components/examples/InvalidTaxMode' + UnsupportedRequest: + $ref: '#/components/examples/UnsupportedRequest' + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + ShopperTokenTsob: + type: oauth2 + description: "`ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. \nA token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. \nBesides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`.\nTo learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken).\n" + flows: + clientCredentials: + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + CountryCode: + pattern: ^[A-Z][A-Z]$ + description: A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. + example: US + type: string + OrderAddress: + description: Document representing an order address. + properties: + address1: + description: The first address line. + example: 45 Main Rd. + type: string + address2: + description: The second address line. + example: Apartment 204 + type: string + city: + description: The city. + example: Boston + type: string + companyName: + description: The company name. + example: Salesforce + type: string + countryCode: + $ref: '#/components/schemas/CountryCode' + firstName: + description: The first name. + example: Max + type: string + fullName: + description: The full name. + example: Max Mustermann + type: string + id: + description: The ID of the address. + example: me + type: string + jobTitle: + description: The job title. + example: Software Engineer + type: string + lastName: + description: The last name. + example: Mustermann + type: string + phone: + description: The phone number. + example: '6175555555' + type: string + postBox: + description: The post office box. + example: PO BOX 109 + type: string + postalCode: + description: The postal code. + example: '05408' + type: string + salutation: + description: The salutation. + example: Mr + type: string + secondName: + description: The second name. + type: string + stateCode: + description: The state code. + example: MA + type: string + suffix: + description: The suffix. + example: Sr + type: string + suite: + description: The suite. + example: 24A + type: string + title: + description: The title. + example: Dr. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + ProductDetailsLink: + description: Document representing a link to the resource for product details. + properties: + productDescription: + description: The description of the product. + example: Nintendo DS revolutionizes handheld gameplay. + type: string + productId: + $ref: '#/components/schemas/ProductId' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + title: + description: The link title. + example: Nintendo DS Game Console + type: string + type: object + required: + - productId + additionalProperties: false + BonusDiscountLineItem: + description: Document representing a bonus discount line item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + bonusProducts: + description: The bonus products the customer can choose from. + type: array + items: + $ref: '#/components/schemas/ProductDetailsLink' + couponCode: + description: The coupon code that triggered the promotion, if applicable. + example: 5ties + type: string + id: + description: The ID of the line item. It is read only. + example: 91f4dd8bfa0653d58b7783b04f + type: string + maxBonusItems: + format: int32 + description: The maximum number of bonus items the user can select for this promotion. + type: integer + promotionId: + description: The ID of the promotion that triggered the creation of the line item. + example: Buy1Get2 + type: string + CouponItemId: + minLength: 1 + type: string + description: The coupon item ID + example: d4c9c0141e9c74c150225580f3 + CouponItem: + description: Document representing a coupon item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + code: + maxLength: 256 + description: The coupon code. + example: 5ties + type: string + couponItemId: + description: The coupon item ID. It is read only. + allOf: + - $ref: '#/components/schemas/CouponItemId' + statusCode: + description: The status of the coupon item. It is read only. + example: no_applicable_promotion + enum: + - coupon_code_already_in_basket + - coupon_code_already_redeemed + - coupon_code_unknown + - coupon_disabled + - redemption_limit_exceeded + - customer_redemption_limit_exceeded + - timeframe_redemption_limit_exceeded + - no_active_promotion + - coupon_already_in_basket + - no_applicable_promotion + - applied + - adhoc + type: string + valid: + description: |- + A flag indicating whether the coupon item is valid. A coupon line item is valid if + the status code is "applied" or "no_applicable_promotion". It is read only. + example: true + type: boolean + required: + - code + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + CustomerInfo: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: The customer information for guest or logged-in customers. + type: object + properties: + customerId: + maxLength: 100 + description: The customer ID. It is read only. + example: abMKqMaNYOBMnNdDNzyC5oNTi5 + type: string + customerName: + description: The customer name. + example: Max Mustermann + type: string + customerNo: + maxLength: 100 + description: The customer number. + example: '0002352' + type: string + email: + description: The customer's email address. + example: no-reply@salesforce.com + type: string + required: + - email + GiftCertificateItemId: + example: 629dea6e7b61e58da629b57b21 + type: string + minLength: 1 + GiftCertificateItem: + description: A gift certificate item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The gift certificate item amount. + example: 20 + type: number + giftCertificateItemId: + description: The item ID. It is read only. + allOf: + - $ref: '#/components/schemas/GiftCertificateItemId' + message: + maxLength: 4000 + description: The gift certificate message. + example: Birthday present. + type: string + recipientEmail: + minLength: 1 + description: The recipient email. + example: no-reply@salesforce.com + type: string + recipientName: + description: The recipient's name. + example: Daniel Mustermann + type: string + senderName: + description: The sender's name. + example: Max Mustermann + type: string + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + required: + - amount + - recipientEmail + GroupedTaxItem: + description: Document representing the grouped tax item. + type: object + properties: + taxRate: + description: The tax rate. It is read only. + type: number + format: double + example: 0.1 + taxValue: + description: The summed up tax total for the tax rate. It is read only. + type: number + format: double + example: 10.03 + additionalProperties: false + Discount: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: Document representing a discount. + type: object + properties: + amount: + format: double + description: The discount amount for discount types that define specific discount amounts. It is read only. + example: 130.88 + type: number + percentage: + format: double + description: The discount percent for discount types that define percentage discounts. It is read only. + example: 0.19 + type: number + priceBookId: + description: The price book ID that is used with some types. It is read only. + example: usd-sale-prices + type: string + type: + description: The type of discount. It is read only. + example: fixed_price + enum: + - percentage + - fixed_price + - amount + - free + - price_book_price + - bonus + - total_fixed_price + - bonus_choice + - percentage_off_options + type: string + required: + - type + PriceAdjustmentId: + example: ba248424e3eee797f062161f8b + type: string + PriceAdjustment: + description: |- + Document representing a price adjustment within a basket or order. Price adjustments + can be assigned at the order, product, or shipping level. + properties: + appliedDiscount: + description: |- + Details describing the discount this price adjustment is based on. For adjustments + not based on a discount, this value is null. + allOf: + - $ref: '#/components/schemas/Discount' + couponCode: + description: |- + The coupon code of the coupon this price adjustment is based on. For adjustments + not based on a coupon, this value is null. It is read only. + example: 5ties + type: string + createdBy: + description: The user who created the price adjustment. It is read only. + example: Support + type: string + creationDate: + description: The timestamp when the price adjustment was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + custom: + description: |- + A flag indicating whether this price adjustment was created by custom logic. This + flag is set to true unless the price adjustment was created by the promotion + engine. + example: true + type: boolean + itemText: + description: The text describing the item. + type: string + lastModified: + description: The timestamp when the price adjustment was last modified. It is read only. + example: '2021-02-25T09:58:08.715Z' + type: string + format: date-time + manual: + description: |- + A flag indicating whether this price adjustment was created by a manual process. + If the price adjustment was created by the promotion engine, this value is always + false. + example: true + type: boolean + price: + format: double + description: The adjustment price. It is read only. + example: 120.88 + type: number + priceAdjustmentId: + description: The price adjustment ID. It is read only. + allOf: + - $ref: '#/components/schemas/PriceAdjustmentId' + promotionId: + description: |- + The ID of the related promotion. Custom price adjustments + can be assigned any promotion ID so long it is not + used by a price adjustment belonging to the same item, + and is not used by a promotion defined in the promotion engine. + If not specified, a promotion ID is generated. + type: string + reasonCode: + description: The reason for the price adjustment. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + Status: + description: Document representing an object status. + properties: + code: + description: The status code. + type: string + message: + description: The status message. + type: string + status: + format: int32 + description: |- + The status. + For more information on the status values see Status.OK and Status.ERROR. + type: integer + type: object + additionalProperties: false + PaymentCard: + additionalProperties: false + description: Document representing a payment card. + type: object + properties: + cardType: + maxLength: 256 + description: The payment card type. + example: Visa + type: string + creditCardExpired: + description: A flag indicating if the credit card is expired. It is read only. + example: true + type: boolean + creditCardToken: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + example: E67TY8GQ27X + type: string + expirationMonth: + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + maxLength: 4000 + description: The masked payment card number. + example: '*********4422' + type: string + numberLastDigits: + maxLength: 4000 + description: The last digits of the payment card number. It is read only. + example: '4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month the payment card is valid from. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year the payment card is valid from. + example: 2015 + type: integer + PaymentInstrumentId: + description: The payment instrument ID + example: ba248424e3eee797f062162f8b + type: string + OrderPaymentInstrument: + description: Document representing an order payment instrument. + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + authorizationStatus: + description: The authorization status of the payment transaction. It is read only. + allOf: + - $ref: '#/components/schemas/Status' + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '12030000' + type: string + maskedGiftCertificateCode: + description: The gift certificate code with the last 4 characters not masked. + example: '******Gzzy' + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/PaymentCard' + paymentInstrumentId: + description: The payment instrument ID. It is read only. + allOf: + - $ref: '#/components/schemas/PaymentInstrumentId' + paymentMethodId: + maxLength: 256 + description: The payment method ID. It is read only. + example: CREDIT_CARD + type: string + type: object + ProductItem: + description: Document representing a product item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including + adjustments. If the taxation policy is net, it doesn't include tax. If the + taxation policy is gross, it includes tax. It is read only. + example: 130 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. + example: true + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. + example: inventory + type: string + itemId: + description: |- + The product item ID. Use it to identify this item when updating its quantity or + creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not + including order-level adjustments or shipping charges. If the taxation policy is + net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 20.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation + policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 15.5 + type: number + productId: + maxLength: 100 + description: The ID of the product. + example: nintendo-ds-console + type: string + productListItem: + description: |- + If this product line item was added from a product list, this value is a reference + to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A + related shipping item represents a surcharge applied to individual products using + a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax for the product item, not including price adjustments. It is read only. + example: 0.3 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this product item. It is read only. + example: 30 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.9 + type: number + ItemId: + description: The item id. + example: 430ef5aad3a24de59378458434 + type: string + OptionItem: + description: |- + An option item represents an optional purchase related to a product item, and is always associated with that parent product + item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + example: ba248414e3eee797f062162f8b + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. It is read only. + example: false + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: false + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. It is read only. + example: inventory + type: string + itemId: + description: The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + example: The item text. + type: string + optionId: + maxLength: 256 + description: The ID of the option. It is read only. + example: consoleWarranty + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + optionValueId: + maxLength: 256 + description: The ID of the option value. It is read only. + example: '000' + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + example: 150.99 + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not including order-level adjustments or + shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated order-level adjustments, but not + including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 40.5 + type: number + productId: + $ref: '#/components/schemas/ProductId' + productListItem: + description: If this product line item was added from a product list, this value is a reference to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The ordered quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A related shipping item represents a + surcharge applied to individual products using a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax on the line item before applying any adjustments. It is read only. + example: 0 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. It is read only. + example: 50 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.19 + type: number + required: + - optionId + - optionValueId + ProductListLink: + description: Document representing a link to a product list. + properties: + description: + description: The description of this product list. + type: string + name: + description: The name of this product list. + type: string + public: + description: |- + A flag indicating whether the owner made this product list available for access + by other customers. It is read only. + example: true + type: boolean + title: + description: The link title. + type: string + type: + description: The type of the product list. + example: shopping_list + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + type: string + type: object + additionalProperties: false + ProductListItemReference: + description: Document representing product list item details. + type: object + additionalProperties: false + properties: + id: + description: The ID of the product list item. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + priority: + format: int32 + description: The priority of the product list item. + example: 1 + type: integer + productDetailsLink: + $ref: '#/components/schemas/ProductDetailsLink' + productList: + description: A reference to the associated product list. It is read only. + allOf: + - $ref: '#/components/schemas/ProductListLink' + public: + example: false + type: boolean + purchasedQuantity: + format: double + description: The total quantity of this item purchased from the product list. + example: 0 + type: number + quantity: + minimum: 0 + format: double + description: The number of products or gift certificates that get shipped when purchasing this product list item. + example: 1 + type: number + type: + description: Specifies whether the item is a product or a gift certificate. + example: product + enum: + - product + - gift_certificate + type: string + required: + - id + ShipmentId: + minLength: 1 + type: string + example: me + description: The identifier of the shipment + ShippingPromotion: + description: Document representing a shipping promotion. + properties: + calloutMsg: + description: The localized callout message of the promotion. + example: $30 Fixed Shipping Amount Above 150 + type: string + promotionId: + description: The unique ID of the promotion. + example: $30FixedShippingAmountAbove150 + type: string + promotionName: + description: The localized promotion name. + example: $30 Fixed Shipping Amount Above 150 + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ShippingMethod: + description: Document representing a shipping method. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + description: + description: The localized description of the shipping method. + example: Order received within 7-10 business days + type: string + externalShippingMethod: + description: The external shipping method. + type: string + id: + maxLength: 256 + description: The shipping method ID. + example: '001' + type: string + name: + description: The localized name of the shipping method. + example: Ground + type: string + price: + format: double + description: |- + The shipping cost total, including shipment level costs, + product level fix, and surcharge costs. It is read only. + example: 15 + type: number + shippingPromotions: + description: |- + The array of active customer shipping promotions for this shipping + method. This array can be empty. + type: array + items: + $ref: '#/components/schemas/ShippingPromotion' + type: object + required: + - id + Shipment: + description: Document representing a shipment. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not including + service charges such as shipping. If the Discount Taxation preference is set to Tax Products and + Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + gift: + description: A flag indicating whether the shipment is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + merchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, not including price adjustments or service charges such as + shipping. It is read only. + example: 4.95 + type: number + productSubTotal: + format: double + description: |- + The total price of all products in the shipment, including item-level adjustments, but not including + order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If + the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + shipmentId: + description: The order-specific ID of the shipment. The default value is 'me'. + default: me + allOf: + - $ref: '#/components/schemas/ShipmentId' + shipmentNo: + description: The shipment number of this shipment. This number is automatically generated. It is read only. + type: string + shipmentTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments, shipping charges, + and tax. It is read only. + example: 39.99 + type: number + shippingAddress: + description: The shipping address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + shippingMethod: + $ref: '#/components/schemas/ShippingMethod' + shippingStatus: + description: The shipping status of the shipment. + example: shipped + enum: + - not_shipped + - shipped + type: string + shippingTotal: + format: double + description: |- + The total price of all shipping charges in the shipment, including shipping adjustments. If the + taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. + example: 0.3 + type: number + taxTotal: + format: double + description: |- + The total tax on the shipment, including item-level price adjustments and service charges such as + shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on + Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 1.8 + type: number + trackingNumber: + description: The tracking number of the shipment. + example: 1Z204E380338943508 + type: string + type: object + ShippingItem: + description: Document representing a shipping item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax for the shipping item, including price adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the shipping item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + itemId: + description: |- + The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a + custom price adjustment for it. It is read only. + example: 430ef5aad3a24de59378458434 + type: string + itemText: + description: The text describing the shipping item. + example: Shipping + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the shipping item including item-level adjustments, but not including order-level + adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + type: number + shipmentId: + description: The identifier of the shipment to which this item belongs. + allOf: + - $ref: '#/components/schemas/ShipmentId' + tax: + format: double + description: The tax on the product item, not including adjustments. It is read only. + example: 0.19 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this shipping item. It is read only. + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. + type: number + type: object + Basket: + description: Document representing a basket. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not + including service charges such as shipping. If the Discount Taxation preference is set to Tax + Products and Shipping Only Based on Adjusted Price, this amount also includes prorated + order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + agentBasket: + description: Is the basket created by an agent? It is read only. + example: true + type: boolean + basketId: + description: The unique identifier for the basket. It is read only. + example: e78aa5646a8efebdd9cdd38be7 + type: string + billingAddress: + description: The billing address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + bonusDiscountLineItems: + description: The bonus discount line items. + type: array + items: + $ref: '#/components/schemas/BonusDiscountLineItem' + channelType: + description: The sales channel. It is read only. + example: storefront + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + couponItems: + description: The coupon items. + type: array + items: + $ref: '#/components/schemas/CouponItem' + creationDate: + description: The timestamp when the basket was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + currency: + $ref: '#/components/schemas/CurrencyCode' + customerInfo: + description: The customer information, if the customer is logged in. + allOf: + - $ref: '#/components/schemas/CustomerInfo' + giftCertificateItems: + description: The gift certificate line items. + type: array + items: + $ref: '#/components/schemas/GiftCertificateItem' + groupedTaxItems: + description: |- + Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same + tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. + type: array + items: + $ref: '#/components/schemas/GroupedTaxItem' + inventoryReservationExpiry: + description: The expiration datetime of the inventory reservation. It is read only. + example: '2015-05-19T15:30:18.000Z' + type: string + format: date-time + lastModified: + description: The timestamp when the basket was last modified. It is read only. + example: '2015-05-19T15:25:18.000Z' + type: string + format: date-time + merchandizeTotalTax: + format: double + description: |- + The total products tax in the purchase currency. + Merchandise total price represents the sum of the product prices before + services (such as shipping) or adjustments from promotions have + been added. It is read only. + example: 4.95 + type: number + orderPriceAdjustments: + description: The order-level price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + orderTotal: + format: double + description: The total price, including products, shipping and tax. It is read only. + example: 110.24 + type: number + paymentInstruments: + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/OrderPaymentInstrument' + productItems: + description: The product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + productSubTotal: + format: double + description: |- + The total price of all products including item-level adjustments, but not including order-level adjustments or shipping + charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 88 + type: number + shipments: + description: The shipments. + type: array + items: + $ref: '#/components/schemas/Shipment' + shippingItems: + description: The shipping items. + type: array + items: + $ref: '#/components/schemas/ShippingItem' + shippingTotal: + format: double + description: |- + The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on all shipping charges, not including shipping adjustments. It is read only. + example: 0.3 + type: number + sourceCode: + description: The source code assigned to the basket. It is read only. + example: OUTDOOR1 + type: string + taxTotal: + format: double + description: The total tax amount. It is read only. + example: 5.25 + type: number + taxation: + description: The taxation policy (gross or net). It is read only. + example: net + enum: + - gross + - net + type: string + taxRoundedAtGroup: + description: If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. + example: true + type: boolean + temporaryBasket: + description: If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. + example: true + type: boolean + type: object + OrderNo: + description: The order number + minLength: 1 + maxLength: 50 + type: string + example: '00000410' + Order: + description: Document representing an order. + type: object + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the order, including price adjustments, but not including service charges such as + shipping. It is read only. + example: 1.5 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the order, including shipping price adjustments. It is read only. + example: 0.3 + type: number + billingAddress: + description: The billing address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + bonusDiscountLineItems: + description: The bonus discount line items. + type: array + items: + $ref: '#/components/schemas/BonusDiscountLineItem' + channelType: + description: The sales channel. It is read only. + example: storefront + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + confirmationStatus: + description: The confirmation status. + example: confirmed + enum: + - not_confirmed + - confirmed + type: string + couponItems: + description: The coupon items. It is read only. + type: array + items: + $ref: '#/components/schemas/CouponItem' + createdBy: + description: |- + This value depends on how the order was created. If a shopper created the order, this value is Customer. + If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. It is read only. + example: Customer + type: string + creationDate: + description: The timestamp when the order was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + currency: + description: The ISO 4217 mnemonic code of the currency. It is read only. + allOf: + - $ref: '#/components/schemas/CurrencyCode' + customerInfo: + description: The customer information for guest or logged-in customers. It is read only. + allOf: + - $ref: '#/components/schemas/CustomerInfo' + customerName: + description: The customer name. It is read only. + example: Max Mustermann + type: string + exportStatus: + description: The export status of the order. + example: exported + enum: + - not_exported + - exported + - ready + - failed + type: string + externalOrderStatus: + description: The external status of the order. + example: Submitted + type: string + giftCertificateItems: + description: The gift certificate line items. It is read only. + type: array + items: + $ref: '#/components/schemas/GiftCertificateItem' + globalPartyId: + description: The Customer 360 Global Party ID associated with the shopper. It is read only. + example: GP_1234 + type: string + lastModified: + description: The timestamp when the order was last modified. It is read only. + example: '2021-02-25T09:58:08.715Z' + type: string + format: date-time + merchandizeTotalTax: + format: double + description: |- + The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices + not including shipping or adjustments. It is read only. + example: 1.5 + type: number + orderNo: + description: The order number. + example: '00000410' + allOf: + - $ref: '#/components/schemas/OrderNo' + orderPriceAdjustments: + description: The order-level price adjustments. It is read only. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + orderToken: + description: |- + The order token used to secure the lookup of an order on base of the + plain order number. The order token contains only URL safe characters. It is read only. + type: string + orderTotal: + format: double + description: The total price, including products, shipping, and tax. It is read only. + example: 110.24 + type: number + orderViewCode: + description: |- + The order view code used to secure the order lookup of an order using Order Lookup API. + The order view code contains only URL safe characters. + Warning : Order view code must not be exposed in the URL and must only be displayed to the shopper or sent as an email. + Order view code must not be logged in the code. It is read only. + type: string + paymentInstruments: + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/OrderPaymentInstrument' + paymentStatus: + description: The payment status. + example: paid + enum: + - not_paid + - part_paid + - paid + type: string + productItems: + description: The product items. It is read only. + type: array + items: + $ref: '#/components/schemas/ProductItem' + productSubTotal: + format: double + description: |- + The total price of all products including item-level adjustments, but not including + order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + taxRoundedAtGroup: + description: If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. + type: boolean + example: true + shipments: + description: The shipments. It is read only. + type: array + items: + $ref: '#/components/schemas/Shipment' + shippingItems: + description: The shipping items. It is read only. + type: array + items: + $ref: '#/components/schemas/ShippingItem' + shippingStatus: + description: The shipping status. + example: shipped + enum: + - not_shipped + - part_shipped + - shipped + type: string + shippingTotal: + format: double + description: |- + The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on all shipping charges, not including shipping adjustments. It is read only. + example: 0.3 + type: number + siteId: + description: The order's site. It is read only. + example: ShoppingSite + allOf: + - $ref: '#/components/schemas/SiteId' + sourceCode: + description: The source code assigned to the basket from which this order was created. It is read only. + example: OUTDOOR1 + type: string + status: + description: The status. + example: created + enum: + - created + - new + - completed + - cancelled + - replaced + - failed + type: string + taxTotal: + format: double + description: The total tax amount. It is read only. + example: 5.25 + type: number + taxation: + description: The taxation policy (gross or net). It is read only. + example: net + enum: + - gross + - net + type: string + groupedTaxItems: + description: |- + Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same + tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. + type: array + items: + $ref: '#/components/schemas/GroupedTaxItem' + guest: + description: The registration status of the customer. It is read only. + type: boolean + example: true + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + OrderLookupRequest: + description: Document representing an order lookup request. + type: object + required: + - email + - orderViewCode + additionalProperties: false + properties: + email: + description: The customer's email address associated with order to be looked up. + type: string + example: no-reply@salesforce.com + orderViewCode: + description: The order view code associated with the order to be looked up. + type: string + OrderPaymentCardRequest: + description: Document representing an order payment card request. + type: object + properties: + cardType: + maxLength: 256 + description: 'The payment card type (for example: Visa).' + example: Visa + type: string + creditCardToken: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + example: E67TY8GQ27X + type: string + expirationMonth: + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + pattern: ^[0-9 -]{0,7}\D{6,15}\d{0,4}$ + maxLength: 25 + description: The masked payment card number. + example: '*********4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month the payment card is valid from. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year the payment card is valid from. + example: 2019 + type: integer + OrderPaymentInstrumentRequest: + description: Document representing an order payment instrument request. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '12030000' + type: string + giftCertificateCode: + maxLength: 256 + description: The gift certificate code. + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/OrderPaymentCardRequest' + paymentMethodId: + maxLength: 256 + description: The payment method ID. + example: CREDIT_CARD + type: string + PaymentCardSpec: + description: Document representing the specification for a payment card. + type: object + properties: + cardType: + description: The payment card type. It is read only. + example: Visa + type: string + checksumVerificationEnabled: + description: A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. + example: true + type: boolean + description: + description: The localized description of the payment card. It is read only. + type: string + image: + description: The URL to the image that represents the payment card. It is read only. + type: string + name: + description: The localized name of the payment card. It is read only. + type: string + numberLengths: + description: |- + The sorted list of number lengths (individual lengths as well as + length ranges). It is read only. + type: array + items: + type: string + numberPrefixes: + description: |- + The sorted list of number prefixes (individual prefixes as well + as prefix ranges). It is read only. + type: array + items: + type: string + securityCodeLength: + format: int32 + description: The length of the security code for this card. It is read only. + type: integer + PaymentMethod: + description: Document representing a payment method. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + cards: + description: The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. + type: array + items: + $ref: '#/components/schemas/PaymentCardSpec' + description: + description: The localized description of the payment method or card. It is read only. + type: string + id: + maxLength: 256 + description: The ID of the payment method or card. It is read only. + type: string + image: + description: The URL to the image that represents the payment method or card. It is read only. + type: string + name: + description: The localized name of the payment method or card. It is read only. + type: string + paymentProcessorId: + description: The payment processor ID. It is read only. It is read only. + type: string + required: + - id + PaymentMethodResult: + description: Result document of payment methods applicable for a basket. + properties: + applicablePaymentMethods: + description: The applicable payment methods. It is read only. + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + type: object + TaxItem: + description: Object representing the taxation. + properties: + id: + description: The taxation identifier. + type: string + rate: + format: double + description: The taxation rate. + example: 0.13 + type: number + value: + format: double + description: The tax amount. Will be computed if not set. + type: number + type: object + additionalProperties: false + required: + - id + - rate + TaxItems: + description: Taxation for a line item. + type: object + properties: + taxItems: + description: The list of tax items. It is read only. + type: array + items: + $ref: '#/components/schemas/TaxItem' + Taxes: + description: Document representing the tax rates and (optionally) amounts for all items in a basket. + properties: + taxes: + description: 'Map containing the TaxItems for the line item ids: Map' + type: object + additionalProperties: + $ref: '#/components/schemas/TaxItems' + type: object + required: + - taxes + additionalProperties: false + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + orderNo: + name: orderNo + in: path + description: The order number of the order to be modified. + required: true + schema: + $ref: '#/components/schemas/OrderNo' + paymentInstrumentId: + name: paymentInstrumentId + in: path + required: true + schema: + $ref: '#/components/schemas/PaymentInstrumentId' + examples: + OrderPost: + value: + basketId: a10ff320829cb0eef93ca5310a + examples-OrderPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + confirmationStatus: not_confirmed + couponItems: + - code: 5ties + couponItemId: d3f7ae47e5897a6b5d2fd541f0 + statusCode: applied + valid: true + createdBy: Customer + creationDate: '2019-10-22T12:17:28.341Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + customerName: Stephanie Miller + email: shopper@salesforce-test.com + customerName: Stephanie Miller + exportStatus: not_exported + groupedTaxItems: + - taxRate: 0.05 + taxValue: 30.8 + guest: true + giftCertificateItems: + - amount: 1 + giftCertificateItemId: 540db3ffe58bfb04ab673757d7 + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-22T12:17:28.376Z' + merchandizeTotalTax: 30 + orderNo: '00000410' + orderPriceAdjustments: + - appliedDiscount: + amount: 10 + type: amount + reasonCode: customer service + createdBy: support + creationDate: '2019-10-22T12:17:28.347Z' + custom: true + lastModified: '2019-10-22T12:17:28.349Z' + manual: true + price: -10 + priceAdjustmentId: 63b9eb9b4a92bd3e5c6ee804c2 + promotionId: 5ties + orderToken: 7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I + orderTotal: 586.76 + orderViewCode: YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc + paymentInstruments: + - amount: 20 + paymentInstrumentId: ca47e0da3d49b067b630db624a + paymentMethodId: BML + - amount: 566.76 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 6b970a04ca8a468a64b9936764 + paymentMethodId: CREDIT_CARD + paymentStatus: not_paid + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: d9516eecc64bd90b0022714d26 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: 8991e8d7adf0f46ffbc584e175 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.99 + priceAfterItemDiscount: 599.99 + priceAfterOrderDiscount: 589.99 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 37 + adjustedShippingTotalTax: 0.5 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: d5d95acf5381dc6e273b4336a7 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: 768abee75aa8015239a9696c7e + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + status: created + taxation: net + taxTotal: 30.8 + BadRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + title: Bad Request + detail: Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'. + BasketNotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found + title: Basket Not Found + detail: No basket with ID '123' could be found. + OrderGet: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + confirmationStatus: not_confirmed + couponItems: + - code: 5ties + couponItemId: d3f7ae47e5897a6b5d2fd541f0 + statusCode: applied + valid: true + createdBy: Customer + creationDate: '2019-10-22T12:17:28.341Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + customerName: Stephanie Miller + email: shopper@salesforce-test.com + customerName: Stephanie Miller + exportStatus: not_exported + groupedTaxItems: + - taxRate: 0.05 + taxValue: 30.8 + guest: true + giftCertificateItems: + - amount: 1 + giftCertificateItemId: 540db3ffe58bfb04ab673757d7 + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-22T12:17:28.376Z' + merchandizeTotalTax: 30 + orderNo: '00000410' + orderPriceAdjustments: + - appliedDiscount: + amount: 10 + type: amount + reasonCode: customer service + createdBy: support + creationDate: '2019-10-22T12:17:28.347Z' + custom: true + lastModified: '2019-10-22T12:17:28.349Z' + manual: true + price: -10 + priceAdjustmentId: 63b9eb9b4a92bd3e5c6ee804c2 + promotionId: 5ties + orderToken: 7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I + orderTotal: 586.76 + orderViewCode: YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc + paymentInstruments: + - amount: 20 + paymentInstrumentId: ca47e0da3d49b067b630db624a + paymentMethodId: BML + - amount: 566.76 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 6b970a04ca8a468a64b9936764 + paymentMethodId: CREDIT_CARD + paymentStatus: not_paid + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: d9516eecc64bd90b0022714d26 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: 8991e8d7adf0f46ffbc584e175 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.99 + priceAfterItemDiscount: 599.99 + priceAfterOrderDiscount: 589.99 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 37 + adjustedShippingTotalTax: 0.5 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: d5d95acf5381dc6e273b4336a7 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: 768abee75aa8015239a9696c7e + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + status: created + taxation: net + taxTotal: 30.8 + OrderLookup: + value: + email: no-reply@salesforce.com + orderViewCode: YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc + OrderNotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found + title: Order Not Found + detail: No order with number '123' was found. + PaymentInstrumentPost: + value: + amount: 700 + paymentCard: + expirationYear: 1990 + expirationMonth: 7 + validFromMonth: 8 + validFromYear: 2007 + issueNumber: i117 + maskedNumber: '************4567' + holder: Miller + cardType: Visa + paymentMethodId: CREDIT_CARD + examples-PaymentInstrumentPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + confirmationStatus: not_confirmed + couponItems: + - code: 5ties + couponItemId: d3f7ae47e5897a6b5d2fd541f0 + statusCode: applied + valid: true + createdBy: Customer + creationDate: '2019-10-22T12:17:28.341Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + customerName: Stephanie Miller + email: shopper@salesforce-test.com + customerName: Stephanie Miller + exportStatus: not_exported + groupedTaxItems: + - taxRate: 0.05 + taxValue: 30.8 + guest: true + giftCertificateItems: + - amount: 1 + giftCertificateItemId: 540db3ffe58bfb04ab673757d7 + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-22T12:17:28.376Z' + merchandizeTotalTax: 30 + orderNo: '00000410' + orderPriceAdjustments: + - appliedDiscount: + amount: 10 + type: amount + reasonCode: customer service + createdBy: support + creationDate: '2019-10-22T12:17:28.347Z' + custom: true + lastModified: '2019-10-22T12:17:28.349Z' + manual: true + price: -10 + priceAdjustmentId: 63b9eb9b4a92bd3e5c6ee804c2 + promotionId: 5ties + orderToken: 7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I + orderTotal: 586.76 + orderViewCode: YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc + paymentInstruments: + - amount: 20 + paymentInstrumentId: ca47e0da3d49b067b630db624a + paymentMethodId: BML + - amount: 566.76 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 6b970a04ca8a468a64b9936764 + paymentMethodId: CREDIT_CARD + - amount: 700 + paymentCard: + expirationYear: 1990 + expirationMonth: 7 + validFromMonth: 8 + validFromYear: 2007 + issueNumber: i117 + maskedNumber: '************4567' + holder: Miller + cardType: Visa + paymentInstrumentId: 9f21f0b51f206fbde2ff5789e5 + paymentMethodId: CREDIT_CARD + paymentStatus: not_paid + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: d9516eecc64bd90b0022714d26 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: 8991e8d7adf0f46ffbc584e175 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.99 + priceAfterItemDiscount: 599.99 + priceAfterOrderDiscount: 589.99 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 37 + adjustedShippingTotalTax: 0.5 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: d5d95acf5381dc6e273b4336a7 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: 768abee75aa8015239a9696c7e + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + status: new + taxation: net + taxTotal: 30.8 + PaymentInstrumentPatch: + value: + amount: 2 + paymentMethodId: CREDIT_CARD + paymentCard: + cardType: Visa + maskedNumber: '****-****-****-4567' + examples-PaymentInstrumentPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + confirmationStatus: not_confirmed + couponItems: + - code: 5ties + couponItemId: d3f7ae47e5897a6b5d2fd541f0 + statusCode: applied + valid: true + createdBy: Customer + creationDate: '2019-10-22T12:17:28.341Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + customerName: Stephanie Miller + email: shopper@salesforce-test.com + customerName: Stephanie Miller + exportStatus: not_exported + groupedTaxItems: + - taxRate: 0.05 + taxValue: 30.8 + guest: true + giftCertificateItems: + - amount: 1 + giftCertificateItemId: 540db3ffe58bfb04ab673757d7 + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-22T12:17:28.376Z' + merchandizeTotalTax: 30 + orderNo: '00000410' + orderPriceAdjustments: + - appliedDiscount: + amount: 10 + type: amount + reasonCode: customer service + createdBy: support + creationDate: '2019-10-22T12:17:28.347Z' + custom: true + lastModified: '2019-10-22T12:17:28.349Z' + manual: true + price: -10 + priceAdjustmentId: 63b9eb9b4a92bd3e5c6ee804c2 + promotionId: 5ties + orderToken: 7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I + orderTotal: 586.76 + orderViewCode: YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc + paymentInstruments: + - amount: 20 + paymentInstrumentId: ca47e0da3d49b067b630db624a + paymentMethodId: BML + - amount: 566.76 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 6b970a04ca8a468a64b9936764 + paymentMethodId: CREDIT_CARD + - amount: 2 + paymentCard: + expirationYear: 1990 + expirationMonth: 7 + validFromMonth: 8 + validFromYear: 2007 + issueNumber: i117 + maskedNumber: '******4567' + holder: Miller + cardType: Visa + paymentInstrumentId: 9f21f0b51f206fbde2ff5789e5 + paymentMethodId: CREDIT_CARD + paymentStatus: not_paid + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: d9516eecc64bd90b0022714d26 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: 8991e8d7adf0f46ffbc584e175 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.99 + priceAfterItemDiscount: 599.99 + priceAfterOrderDiscount: 589.99 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 37 + adjustedShippingTotalTax: 0.5 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: d5d95acf5381dc6e273b4336a7 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: 768abee75aa8015239a9696c7e + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + status: new + taxation: net + taxTotal: 30.8 + PaymentMethodsGet: + value: + applicablePaymentMethods: + - id: GIFT_CERTIFICATE + name: Gift Certificate + paymentProcessorId: BASIC_GIFT_CERTIFICATE + - cards: + - cardType: Visa + checksumVerificationEnabled: true + name: Visa + numberLengths: + - '13' + - '16' + numberPrefixes: + - '4' + securityCodeLength: 3 + - cardType: Amex + checksumVerificationEnabled: true + name: American Express + numberLengths: + - '15' + numberPrefixes: + - '34' + - '37' + securityCodeLength: 4 + - cardType: Master Card + checksumVerificationEnabled: true + name: MasterCard + numberLengths: + - '16' + numberPrefixes: + - 51-55 + securityCodeLength: 3 + - cardType: Discover + checksumVerificationEnabled: true + name: Discover + numberLengths: + - '16' + numberPrefixes: + - '6011' + - 622126-622925 + - 644-649 + - '65' + securityCodeLength: 3 + id: CREDIT_CARD + name: Credit Card + paymentProcessorId: BASIC_CREDIT + - id: PayPal + name: Pay Pal + paymentProcessorId: PAYPAL_EXPRESS + - id: BML + name: Bill Me Later + paymentProcessorId: CYBERSOURCE_BML + OrderTaxGet: + value: + taxes: + 3d4e28425ce0b3a65b0ac4e163: + taxItems: + - id: DE_7 + rate: 0.07 + value: 13.99 + - id: DE_19 + rate: 0.19 + ff9452ed11fcf5c80f9143a8f1: + taxItems: + - id: US_1 + rate: 0.01 + - id: US_5 + rate: 0.05 + InvalidTaxMode: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode + title: Invalid Tax Mode + detail: Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode. + UnsupportedRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled + title: Unsupported Request If SCAPI Hooks Enabled + detail: You can't call this endpoint because Salesforce Commerce API hook execution is enabled. diff --git a/apis/orders-oas/shopper-orders-oas-1.4.12/shopper-orders-oas-v1-public.yaml b/apis/orders-oas/shopper-orders-oas-1.4.12/shopper-orders-oas-v1-public.yaml new file mode 100644 index 00000000..9bdb1b30 --- /dev/null +++ b/apis/orders-oas/shopper-orders-oas-1.4.12/shopper-orders-oas-v1-public.yaml @@ -0,0 +1,3229 @@ +openapi: 3.0.3 +info: + title: Shopper Orders + version: v1 + description: |- + # API Overview + + The Shopper Orders API enables you to: + + - Create orders based on baskets prepared using the Shopper Baskets API. + - Add a customer's payment instrument to an order. + + You can choose to supply the full payment information or supply only a customer payment instrument ID and amount. If the customer payment instrument ID is set, all the other properties (except amount) are ignored and the payment data is resolved from the stored customer payment information. + + **Note:** The API doesn’t allow the storage of credit card numbers. The endpoint provides the storage of masked credit card numbers only. + + To update the payment status, use the Orders API. + + Caching is provided for the Shopper Products API. For details, see [Server-Side Web-Tier Caching](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html). + + For additional guidance when working with baskets, see [Build Baskets and Place Orders](https://developer.salesforce.com/docs/commerce/commerce-api/guide/work-with-baskets-orders.html). + + ## Authentication & Authorization + + The client requesting the product information must have access to the Products resource. The Shopper Products API requires a shopper access token from the Shopper Login and API Access Service (SLAS). + + For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + ### Use Hooks + + For details on working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-orders/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/orders: + post: + description: Submits an order based on a prepared basket. The only considered value from the request body is basketId. + operationId: createOrder + summary: Submits an order for a basket. + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + examples: + OrderPost: + $ref: '#/components/examples/OrderPost' + schema: + $ref: '#/components/schemas/Basket' + responses: + '200': + description: Success, the response body contains the submitted order. + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + examples: + Order: + $ref: '#/components/examples/examples-OrderPost' + '400': + description: |- + Possible reasons: + - a failure during the creation of a gift certificate + for a gift certificate item. + - the basket ID in the request body is null or + empty. + - an invalid product item. + - an option with the specified option ID is + unknown. + - an option with the specified option value ID + is unknown. + - a product item is not available. + - the customer assigned to the basket does not + match the verified customer represented by the JWT token. + - the basket contains flashes. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + /organizations/{organizationId}/orders/{orderNo}: + get: + description: Gets information for an order. + operationId: getOrder + summary: Retrieve order information. + parameters: + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the order. + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + examples: + Order: + $ref: '#/components/examples/OrderGet' + '404': + description: The order with the given order number is unknown. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + /organizations/{organizationId}/orders/{orderNo}/lookup: + post: + description: |+ + Use this endpoint to lookup a guest order. + + **Important**: This endpoint uses the [ShopperTokenTsob](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=security%3AShopperTokenTsob) security scheme. Always check the Security section of the endpoint documentation, which is hidden by default. + + The API uses the `orderViewCode` generated during the order creation and the `email` of the order customer to lookup a guest order. If email is not provided on the order, the field can be left blank in the lookup request. + **Note**: In the no email on order scenario, the custom implementation must include an additional verification of an order attribute. For example, a postal code or mobile number. + + This API can also be used for looking up an order for a registered customer. In addition to the verification steps used for guest order lookup, the API also verifies that the customer ID of the order matches with the customer ID supplied in the `ShopperTokenTsob`. + + operationId: guestOrderLookup + summary: Retrieve order information for a specific guest order. + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + examples: + OrderLookUp: + $ref: '#/components/examples/OrderLookup' + schema: + $ref: '#/components/schemas/OrderLookupRequest' + responses: + '200': + description: Success, the response body contains the order found with the order view code. + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + examples: + Order: + $ref: '#/components/examples/examples-OrderPost' + '400': + description: |- + Possible reasons: + - order view code or email is missing. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Order was not found. Possible reasons: + - the order with the given order no is unknown. + - the given order view code does not match the one in the order. + - the given email does not match the one in the order. + - the authorized customer of a registered customer order lookup does not match the customer in the order. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - ShopperTokenTsob: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + /organizations/{organizationId}/orders/{orderNo}/payment-instruments: + post: + description: |- + Adds a payment instrument to an order. + + Details: + + The payment instrument is added with the provided details. The payment method must be applicable for the order see GET + /baskets/{basketId}/payment-methods, if the payment method is 'CREDIT_CARD' a paymentCard must be specified in the request. + operationId: createPaymentInstrumentForOrder + summary: Add a payment instrument to an order. + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + examples: + PaymentInstrumentPost: + $ref: '#/components/examples/PaymentInstrumentPost' + schema: + $ref: '#/components/schemas/OrderPaymentInstrumentRequest' + responses: + '200': + description: Success, the response body contains the order with the added payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + examples: + Order: + $ref: '#/components/examples/examples-PaymentInstrumentPost' + '400': + description: |- + Possible reasons: + - the given order number is invalid. + - the provided payment method is invalid or not applicable. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The order with the given order number is unknown. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + /organizations/{organizationId}/orders/{orderNo}/payment-instruments/{paymentInstrumentId}: + delete: + description: Removes a payment instrument of an order. + operationId: removePaymentInstrumentFromOrder + summary: Remove a payment instrument from an order. + parameters: + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the order without the deleted payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + '404': + description: |- + Possible reasons: + - The order with the given order number is unknown. + - The payment instrument with the given order payment + instrument ID is unknown. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + patch: + description: |- + Updates a payment instrument of an order. + + Details: + + The payment instrument is updated with the provided details. The payment method must be applicable for the + order see GET /baskets/{basketId}/payment-methods, if the payment method is 'CREDIT_CARD' a + paymentCard must be specified in the request. + operationId: updatePaymentInstrumentForOrder + summary: Update payment instrument details for an order. + parameters: + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + examples: + PaymentInstrumentPatch: + $ref: '#/components/examples/PaymentInstrumentPatch' + schema: + $ref: '#/components/schemas/OrderPaymentInstrumentRequest' + responses: + '200': + description: Success, the response body contains the order with the updated payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + examples: + Order: + $ref: '#/components/examples/examples-PaymentInstrumentPatch' + '400': + description: |- + Possible reasons: + - the basket payment instrument with the given + ID already is permanently masked. + - the provided payment method is invalid or not applicable. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - The order with the given order number is unknown. + - The payment instrument with the given payment + instrument ID is unknown. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + /organizations/{organizationId}/orders/{orderNo}/payment-methods: + get: + description: Gets the applicable payment methods for an existing order considering the open payment amount only. + operationId: getPaymentMethodsForOrder + summary: Retrieve payment instrument details for an order. + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the applicable payment methods for the order. + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentMethodResult' + examples: + PaymentMethodResult: + $ref: '#/components/examples/PaymentMethodsGet' + '400': + description: |- + The customer assigned to the order does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The order with the given order number is unknown. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + /organizations/{organizationId}/orders/{orderNo}/taxes: + get: + description: |- + This method gives you the external taxation data of the order transferred from the basket during + order creation. This endpoint can be called only if external taxation was used. See POST /baskets + for more information. + operationId: getTaxesFromOrder + summary: Retrieve external taxation data for an order. + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/orderNo' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: |- + Success, the response body contains the external taxation from all items from the referenced + order. + content: + application/json: + schema: + $ref: '#/components/schemas/Taxes' + examples: + Taxes: + $ref: '#/components/examples/OrderTaxGet' + '404': + description: The order with the given order number is unknown. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OrderNotFound: + $ref: '#/components/examples/OrderNotFound' + '409': + description: "Possible Reasons: \n - The tax mode of the referenced basket is not set to EXTERNAL." + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidTaxMode: + $ref: '#/components/examples/InvalidTaxMode' + UnsupportedRequest: + $ref: '#/components/examples/UnsupportedRequest' + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + ShopperTokenTsob: + type: oauth2 + description: "`ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. \nA token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. \nBesides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`.\nTo learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken).\n" + flows: + clientCredentials: + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + CountryCode: + pattern: ^[A-Z][A-Z]$ + description: A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. + example: US + type: string + OrderAddress: + description: Document representing an order address. + properties: + address1: + description: The first address line. + example: 45 Main Rd. + type: string + address2: + description: The second address line. + example: Apartment 204 + type: string + city: + description: The city. + example: Boston + type: string + companyName: + description: The company name. + example: Salesforce + type: string + countryCode: + $ref: '#/components/schemas/CountryCode' + firstName: + description: The first name. + example: Max + type: string + fullName: + description: The full name. + example: Max Mustermann + type: string + id: + description: The ID of the address. + example: me + type: string + jobTitle: + description: The job title. + example: Software Engineer + type: string + lastName: + description: The last name. + example: Mustermann + type: string + phone: + description: The phone number. + example: '6175555555' + type: string + postBox: + description: The post office box. + example: PO BOX 109 + type: string + postalCode: + description: The postal code. + example: '05408' + type: string + salutation: + description: The salutation. + example: Mr + type: string + secondName: + description: The second name. + type: string + stateCode: + description: The state code. + example: MA + type: string + suffix: + description: The suffix. + example: Sr + type: string + suite: + description: The suite. + example: 24A + type: string + title: + description: The title. + example: Dr. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + ProductDetailsLink: + description: Document representing a link to the resource for product details. + properties: + productDescription: + description: The description of the product. + example: Nintendo DS revolutionizes handheld gameplay. + type: string + productId: + $ref: '#/components/schemas/ProductId' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + title: + description: The link title. + example: Nintendo DS Game Console + type: string + type: object + required: + - productId + additionalProperties: false + BonusDiscountLineItem: + description: Document representing a bonus discount line item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + bonusProducts: + description: The bonus products the customer can choose from. + type: array + items: + $ref: '#/components/schemas/ProductDetailsLink' + couponCode: + description: The coupon code that triggered the promotion, if applicable. + example: 5ties + type: string + id: + description: The ID of the line item. It is read only. + example: 91f4dd8bfa0653d58b7783b04f + type: string + maxBonusItems: + format: int32 + description: The maximum number of bonus items the user can select for this promotion. + type: integer + promotionId: + description: The ID of the promotion that triggered the creation of the line item. + example: Buy1Get2 + type: string + CouponItemId: + minLength: 1 + type: string + description: The coupon item ID + example: d4c9c0141e9c74c150225580f3 + CouponItem: + description: Document representing a coupon item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + code: + maxLength: 256 + description: The coupon code. + example: 5ties + type: string + couponItemId: + description: The coupon item ID. It is read only. + allOf: + - $ref: '#/components/schemas/CouponItemId' + statusCode: + description: The status of the coupon item. It is read only. + example: no_applicable_promotion + enum: + - coupon_code_already_in_basket + - coupon_code_already_redeemed + - coupon_code_unknown + - coupon_disabled + - redemption_limit_exceeded + - customer_redemption_limit_exceeded + - timeframe_redemption_limit_exceeded + - no_active_promotion + - coupon_already_in_basket + - no_applicable_promotion + - applied + - adhoc + type: string + valid: + description: |- + A flag indicating whether the coupon item is valid. A coupon line item is valid if + the status code is "applied" or "no_applicable_promotion". It is read only. + example: true + type: boolean + required: + - code + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + CustomerInfo: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: The customer information for guest or logged-in customers. + type: object + properties: + customerId: + maxLength: 100 + description: The customer ID. It is read only. + example: abMKqMaNYOBMnNdDNzyC5oNTi5 + type: string + customerName: + description: The customer name. + example: Max Mustermann + type: string + customerNo: + maxLength: 100 + description: The customer number. + example: '0002352' + type: string + email: + description: The customer's email address. + example: no-reply@salesforce.com + type: string + required: + - email + GiftCertificateItemId: + example: 629dea6e7b61e58da629b57b21 + type: string + minLength: 1 + GiftCertificateItem: + description: A gift certificate item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The gift certificate item amount. + example: 20 + type: number + giftCertificateItemId: + description: The item ID. It is read only. + allOf: + - $ref: '#/components/schemas/GiftCertificateItemId' + message: + maxLength: 4000 + description: The gift certificate message. + example: Birthday present. + type: string + recipientEmail: + minLength: 1 + description: The recipient email. + example: no-reply@salesforce.com + type: string + recipientName: + description: The recipient's name. + example: Daniel Mustermann + type: string + senderName: + description: The sender's name. + example: Max Mustermann + type: string + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + required: + - amount + - recipientEmail + GroupedTaxItem: + description: Document representing the grouped tax item. + type: object + properties: + taxRate: + description: The tax rate. It is read only. + type: number + format: double + example: 0.1 + taxValue: + description: The summed up tax total for the tax rate. It is read only. + type: number + format: double + example: 10.03 + additionalProperties: false + Discount: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: Document representing a discount. + type: object + properties: + amount: + format: double + description: The discount amount for discount types that define specific discount amounts. It is read only. + example: 130.88 + type: number + percentage: + format: double + description: The discount percent for discount types that define percentage discounts. It is read only. + example: 0.19 + type: number + priceBookId: + description: The price book ID that is used with some types. It is read only. + example: usd-sale-prices + type: string + type: + description: The type of discount. It is read only. + example: fixed_price + enum: + - percentage + - fixed_price + - amount + - free + - price_book_price + - bonus + - total_fixed_price + - bonus_choice + - percentage_off_options + type: string + required: + - type + PriceAdjustmentId: + example: ba248424e3eee797f062161f8b + type: string + PriceAdjustment: + description: |- + Document representing a price adjustment within a basket or order. Price adjustments + can be assigned at the order, product, or shipping level. + properties: + appliedDiscount: + description: |- + Details describing the discount this price adjustment is based on. For adjustments + not based on a discount, this value is null. + allOf: + - $ref: '#/components/schemas/Discount' + couponCode: + description: |- + The coupon code of the coupon this price adjustment is based on. For adjustments + not based on a coupon, this value is null. It is read only. + example: 5ties + type: string + createdBy: + description: The user who created the price adjustment. It is read only. + example: Support + type: string + creationDate: + description: The timestamp when the price adjustment was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + custom: + description: |- + A flag indicating whether this price adjustment was created by custom logic. This + flag is set to true unless the price adjustment was created by the promotion + engine. + example: true + type: boolean + itemText: + description: The text describing the item. + type: string + lastModified: + description: The timestamp when the price adjustment was last modified. It is read only. + example: '2021-02-25T09:58:08.715Z' + type: string + format: date-time + manual: + description: |- + A flag indicating whether this price adjustment was created by a manual process. + If the price adjustment was created by the promotion engine, this value is always + false. + example: true + type: boolean + price: + format: double + description: The adjustment price. It is read only. + example: 120.88 + type: number + priceAdjustmentId: + description: The price adjustment ID. It is read only. + allOf: + - $ref: '#/components/schemas/PriceAdjustmentId' + promotionId: + description: |- + The ID of the related promotion. Custom price adjustments + can be assigned any promotion ID so long it is not + used by a price adjustment belonging to the same item, + and is not used by a promotion defined in the promotion engine. + If not specified, a promotion ID is generated. + type: string + reasonCode: + description: The reason for the price adjustment. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + Status: + description: Document representing an object status. + properties: + code: + description: The status code. + type: string + message: + description: The status message. + type: string + status: + format: int32 + description: |- + The status. + For more information on the status values see Status.OK and Status.ERROR. + type: integer + type: object + additionalProperties: false + PaymentCard: + additionalProperties: false + description: Document representing a payment card. + type: object + properties: + cardType: + maxLength: 256 + description: The payment card type. + example: Visa + type: string + creditCardExpired: + description: A flag indicating if the credit card is expired. It is read only. + example: true + type: boolean + creditCardToken: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + example: E67TY8GQ27X + type: string + expirationMonth: + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + maxLength: 4000 + description: The masked payment card number. + example: '*********4422' + type: string + numberLastDigits: + maxLength: 4000 + description: The last digits of the payment card number. It is read only. + example: '4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month the payment card is valid from. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year the payment card is valid from. + example: 2015 + type: integer + PaymentInstrumentId: + description: The payment instrument ID + example: ba248424e3eee797f062162f8b + type: string + OrderPaymentInstrument: + description: Document representing an order payment instrument. + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + authorizationStatus: + description: The authorization status of the payment transaction. It is read only. + allOf: + - $ref: '#/components/schemas/Status' + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '12030000' + type: string + maskedGiftCertificateCode: + description: The gift certificate code with the last 4 characters not masked. + example: '******Gzzy' + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/PaymentCard' + paymentInstrumentId: + description: The payment instrument ID. It is read only. + allOf: + - $ref: '#/components/schemas/PaymentInstrumentId' + paymentMethodId: + maxLength: 256 + description: The payment method ID. It is read only. + example: CREDIT_CARD + type: string + type: object + ProductItem: + description: Document representing a product item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including + adjustments. If the taxation policy is net, it doesn't include tax. If the + taxation policy is gross, it includes tax. It is read only. + example: 130 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. + example: true + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. + example: inventory + type: string + itemId: + description: |- + The product item ID. Use it to identify this item when updating its quantity or + creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not + including order-level adjustments or shipping charges. If the taxation policy is + net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 20.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation + policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 15.5 + type: number + productId: + maxLength: 100 + description: The ID of the product. + example: nintendo-ds-console + type: string + productListItem: + description: |- + If this product line item was added from a product list, this value is a reference + to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A + related shipping item represents a surcharge applied to individual products using + a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax for the product item, not including price adjustments. It is read only. + example: 0.3 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this product item. It is read only. + example: 30 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.9 + type: number + ItemId: + description: The item id. + example: 430ef5aad3a24de59378458434 + type: string + OptionItem: + description: |- + An option item represents an optional purchase related to a product item, and is always associated with that parent product + item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + example: ba248414e3eee797f062162f8b + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. It is read only. + example: false + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: false + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. It is read only. + example: inventory + type: string + itemId: + description: The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + example: The item text. + type: string + optionId: + maxLength: 256 + description: The ID of the option. It is read only. + example: consoleWarranty + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + optionValueId: + maxLength: 256 + description: The ID of the option value. It is read only. + example: '000' + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + example: 150.99 + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not including order-level adjustments or + shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated order-level adjustments, but not + including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 40.5 + type: number + productId: + $ref: '#/components/schemas/ProductId' + productListItem: + description: If this product line item was added from a product list, this value is a reference to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The ordered quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A related shipping item represents a + surcharge applied to individual products using a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax on the line item before applying any adjustments. It is read only. + example: 0 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. It is read only. + example: 50 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.19 + type: number + required: + - optionId + - optionValueId + ProductListLink: + description: Document representing a link to a product list. + properties: + description: + description: The description of this product list. + type: string + name: + description: The name of this product list. + type: string + public: + description: |- + A flag indicating whether the owner made this product list available for access + by other customers. It is read only. + example: true + type: boolean + title: + description: The link title. + type: string + type: + description: The type of the product list. + example: shopping_list + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + type: string + type: object + additionalProperties: false + ProductListItemReference: + description: Document representing product list item details. + type: object + additionalProperties: false + properties: + id: + description: The ID of the product list item. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + priority: + format: int32 + description: The priority of the product list item. + example: 1 + type: integer + productDetailsLink: + $ref: '#/components/schemas/ProductDetailsLink' + productList: + description: A reference to the associated product list. It is read only. + allOf: + - $ref: '#/components/schemas/ProductListLink' + public: + example: false + type: boolean + purchasedQuantity: + format: double + description: The total quantity of this item purchased from the product list. + example: 0 + type: number + quantity: + minimum: 0 + format: double + description: The number of products or gift certificates that get shipped when purchasing this product list item. + example: 1 + type: number + type: + description: Specifies whether the item is a product or a gift certificate. + example: product + enum: + - product + - gift_certificate + type: string + required: + - id + ShipmentId: + minLength: 1 + type: string + example: me + description: The identifier of the shipment + ShippingPromotion: + description: Document representing a shipping promotion. + properties: + calloutMsg: + description: The localized callout message of the promotion. + example: $30 Fixed Shipping Amount Above 150 + type: string + promotionId: + description: The unique ID of the promotion. + example: $30FixedShippingAmountAbove150 + type: string + promotionName: + description: The localized promotion name. + example: $30 Fixed Shipping Amount Above 150 + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ShippingMethod: + description: Document representing a shipping method. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + description: + description: The localized description of the shipping method. + example: Order received within 7-10 business days + type: string + externalShippingMethod: + description: The external shipping method. + type: string + id: + maxLength: 256 + description: The shipping method ID. + example: '001' + type: string + name: + description: The localized name of the shipping method. + example: Ground + type: string + price: + format: double + description: |- + The shipping cost total, including shipment level costs, + product level fix, and surcharge costs. It is read only. + example: 15 + type: number + shippingPromotions: + description: |- + The array of active customer shipping promotions for this shipping + method. This array can be empty. + type: array + items: + $ref: '#/components/schemas/ShippingPromotion' + type: object + required: + - id + Shipment: + description: Document representing a shipment. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not including + service charges such as shipping. If the Discount Taxation preference is set to Tax Products and + Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + gift: + description: A flag indicating whether the shipment is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + merchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, not including price adjustments or service charges such as + shipping. It is read only. + example: 4.95 + type: number + productSubTotal: + format: double + description: |- + The total price of all products in the shipment, including item-level adjustments, but not including + order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If + the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + shipmentId: + description: The order-specific ID of the shipment. The default value is 'me'. + default: me + allOf: + - $ref: '#/components/schemas/ShipmentId' + shipmentNo: + description: The shipment number of this shipment. This number is automatically generated. It is read only. + type: string + shipmentTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments, shipping charges, + and tax. It is read only. + example: 39.99 + type: number + shippingAddress: + description: The shipping address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + shippingMethod: + $ref: '#/components/schemas/ShippingMethod' + shippingStatus: + description: The shipping status of the shipment. + example: shipped + enum: + - not_shipped + - shipped + type: string + shippingTotal: + format: double + description: |- + The total price of all shipping charges in the shipment, including shipping adjustments. If the + taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. + example: 0.3 + type: number + taxTotal: + format: double + description: |- + The total tax on the shipment, including item-level price adjustments and service charges such as + shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on + Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 1.8 + type: number + trackingNumber: + description: The tracking number of the shipment. + example: 1Z204E380338943508 + type: string + type: object + ShippingItem: + description: Document representing a shipping item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax for the shipping item, including price adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the shipping item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + itemId: + description: |- + The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a + custom price adjustment for it. It is read only. + example: 430ef5aad3a24de59378458434 + type: string + itemText: + description: The text describing the shipping item. + example: Shipping + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the shipping item including item-level adjustments, but not including order-level + adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + type: number + shipmentId: + description: The identifier of the shipment to which this item belongs. + allOf: + - $ref: '#/components/schemas/ShipmentId' + tax: + format: double + description: The tax on the product item, not including adjustments. It is read only. + example: 0.19 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this shipping item. It is read only. + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. + type: number + type: object + Basket: + description: Document representing a basket. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not + including service charges such as shipping. If the Discount Taxation preference is set to Tax + Products and Shipping Only Based on Adjusted Price, this amount also includes prorated + order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + agentBasket: + description: Is the basket created by an agent? It is read only. + example: true + type: boolean + basketId: + description: The unique identifier for the basket. It is read only. + example: e78aa5646a8efebdd9cdd38be7 + type: string + billingAddress: + description: The billing address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + bonusDiscountLineItems: + description: The bonus discount line items. + type: array + items: + $ref: '#/components/schemas/BonusDiscountLineItem' + channelType: + description: The sales channel. It is read only. + example: storefront + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + couponItems: + description: The coupon items. + type: array + items: + $ref: '#/components/schemas/CouponItem' + creationDate: + description: The timestamp when the basket was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + currency: + $ref: '#/components/schemas/CurrencyCode' + customerInfo: + description: The customer information, if the customer is logged in. + allOf: + - $ref: '#/components/schemas/CustomerInfo' + giftCertificateItems: + description: The gift certificate line items. + type: array + items: + $ref: '#/components/schemas/GiftCertificateItem' + groupedTaxItems: + description: |- + Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same + tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. + type: array + items: + $ref: '#/components/schemas/GroupedTaxItem' + inventoryReservationExpiry: + description: The expiration datetime of the inventory reservation. It is read only. + example: '2015-05-19T15:30:18.000Z' + type: string + format: date-time + lastModified: + description: The timestamp when the basket was last modified. It is read only. + example: '2015-05-19T15:25:18.000Z' + type: string + format: date-time + merchandizeTotalTax: + format: double + description: |- + The total products tax in the purchase currency. + Merchandise total price represents the sum of the product prices before + services (such as shipping) or adjustments from promotions have + been added. It is read only. + example: 4.95 + type: number + orderPriceAdjustments: + description: The order-level price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + orderTotal: + format: double + description: The total price, including products, shipping and tax. It is read only. + example: 110.24 + type: number + paymentInstruments: + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/OrderPaymentInstrument' + productItems: + description: The product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + productSubTotal: + format: double + description: |- + The total price of all products including item-level adjustments, but not including order-level adjustments or shipping + charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 88 + type: number + shipments: + description: The shipments. + type: array + items: + $ref: '#/components/schemas/Shipment' + shippingItems: + description: The shipping items. + type: array + items: + $ref: '#/components/schemas/ShippingItem' + shippingTotal: + format: double + description: |- + The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on all shipping charges, not including shipping adjustments. It is read only. + example: 0.3 + type: number + sourceCode: + description: The source code assigned to the basket. It is read only. + example: OUTDOOR1 + type: string + taxTotal: + format: double + description: The total tax amount. It is read only. + example: 5.25 + type: number + taxation: + description: The taxation policy (gross or net). It is read only. + example: net + enum: + - gross + - net + type: string + taxRoundedAtGroup: + description: If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. + example: true + type: boolean + temporaryBasket: + description: If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. + example: true + type: boolean + type: object + OrderNo: + description: The order number + minLength: 1 + maxLength: 50 + type: string + example: '00000410' + Order: + description: Document representing an order. + type: object + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the order, including price adjustments, but not including service charges such as + shipping. It is read only. + example: 1.5 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the order, including shipping price adjustments. It is read only. + example: 0.3 + type: number + billingAddress: + description: The billing address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + bonusDiscountLineItems: + description: The bonus discount line items. + type: array + items: + $ref: '#/components/schemas/BonusDiscountLineItem' + channelType: + description: The sales channel. It is read only. + example: storefront + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + confirmationStatus: + description: The confirmation status. + example: confirmed + enum: + - not_confirmed + - confirmed + type: string + couponItems: + description: The coupon items. It is read only. + type: array + items: + $ref: '#/components/schemas/CouponItem' + createdBy: + description: |- + This value depends on how the order was created. If a shopper created the order, this value is Customer. + If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. It is read only. + example: Customer + type: string + creationDate: + description: The timestamp when the order was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + currency: + description: The ISO 4217 mnemonic code of the currency. It is read only. + allOf: + - $ref: '#/components/schemas/CurrencyCode' + customerInfo: + description: The customer information for guest or logged-in customers. It is read only. + allOf: + - $ref: '#/components/schemas/CustomerInfo' + customerName: + description: The customer name. It is read only. + example: Max Mustermann + type: string + exportStatus: + description: The export status of the order. + example: exported + enum: + - not_exported + - exported + - ready + - failed + type: string + externalOrderStatus: + description: The external status of the order. + example: Submitted + type: string + giftCertificateItems: + description: The gift certificate line items. It is read only. + type: array + items: + $ref: '#/components/schemas/GiftCertificateItem' + globalPartyId: + description: The Customer 360 Global Party ID associated with the shopper. It is read only. + example: GP_1234 + type: string + lastModified: + description: The timestamp when the order was last modified. It is read only. + example: '2021-02-25T09:58:08.715Z' + type: string + format: date-time + merchandizeTotalTax: + format: double + description: |- + The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices + not including shipping or adjustments. It is read only. + example: 1.5 + type: number + orderNo: + description: The order number. + example: '00000410' + allOf: + - $ref: '#/components/schemas/OrderNo' + orderPriceAdjustments: + description: The order-level price adjustments. It is read only. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + orderToken: + description: |- + The order token used to secure the lookup of an order on base of the + plain order number. The order token contains only URL safe characters. It is read only. + type: string + orderTotal: + format: double + description: The total price, including products, shipping, and tax. It is read only. + example: 110.24 + type: number + orderViewCode: + description: |- + The order view code used to secure the order lookup of an order using Order Lookup API. + The order view code contains only URL safe characters. + Warning : Order view code must not be exposed in the URL and must only be displayed to the shopper or sent as an email. + Order view code must not be logged in the code. It is read only. + type: string + paymentInstruments: + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/OrderPaymentInstrument' + paymentStatus: + description: The payment status. + example: paid + enum: + - not_paid + - part_paid + - paid + type: string + productItems: + description: The product items. It is read only. + type: array + items: + $ref: '#/components/schemas/ProductItem' + productSubTotal: + format: double + description: |- + The total price of all products including item-level adjustments, but not including + order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + taxRoundedAtGroup: + description: If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. + type: boolean + example: true + shipments: + description: The shipments. It is read only. + type: array + items: + $ref: '#/components/schemas/Shipment' + shippingItems: + description: The shipping items. It is read only. + type: array + items: + $ref: '#/components/schemas/ShippingItem' + shippingStatus: + description: The shipping status. + example: shipped + enum: + - not_shipped + - part_shipped + - shipped + type: string + shippingTotal: + format: double + description: |- + The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on all shipping charges, not including shipping adjustments. It is read only. + example: 0.3 + type: number + siteId: + description: The order's site. It is read only. + example: ShoppingSite + allOf: + - $ref: '#/components/schemas/SiteId' + sourceCode: + description: The source code assigned to the basket from which this order was created. It is read only. + example: OUTDOOR1 + type: string + status: + description: The status. + example: created + enum: + - created + - new + - completed + - cancelled + - replaced + - failed + type: string + taxTotal: + format: double + description: The total tax amount. It is read only. + example: 5.25 + type: number + taxation: + description: The taxation policy (gross or net). It is read only. + example: net + enum: + - gross + - net + type: string + groupedTaxItems: + description: |- + Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same + tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. + type: array + items: + $ref: '#/components/schemas/GroupedTaxItem' + guest: + description: The registration status of the customer. It is read only. + type: boolean + example: true + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + OrderLookupRequest: + description: Document representing an order lookup request. + type: object + required: + - email + - orderViewCode + additionalProperties: false + properties: + email: + description: The customer's email address associated with order to be looked up. + type: string + example: no-reply@salesforce.com + orderViewCode: + description: The order view code associated with the order to be looked up. + type: string + OrderPaymentCardRequest: + description: Document representing an order payment card request. + type: object + properties: + cardType: + maxLength: 256 + description: 'The payment card type (for example: Visa).' + example: Visa + type: string + creditCardToken: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + example: E67TY8GQ27X + type: string + expirationMonth: + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + pattern: ^[0-9 -]{0,7}\D{6,15}\d{0,4}$ + maxLength: 25 + description: The masked payment card number. + example: '*********4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month the payment card is valid from. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year the payment card is valid from. + example: 2019 + type: integer + OrderPaymentInstrumentRequest: + description: Document representing an order payment instrument request. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '12030000' + type: string + giftCertificateCode: + maxLength: 256 + description: The gift certificate code. + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/OrderPaymentCardRequest' + paymentMethodId: + maxLength: 256 + description: The payment method ID. + example: CREDIT_CARD + type: string + PaymentCardSpec: + description: Document representing the specification for a payment card. + type: object + properties: + cardType: + description: The payment card type. It is read only. + example: Visa + type: string + checksumVerificationEnabled: + description: A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. + example: true + type: boolean + description: + description: The localized description of the payment card. It is read only. + type: string + image: + description: The URL to the image that represents the payment card. It is read only. + type: string + name: + description: The localized name of the payment card. It is read only. + type: string + numberLengths: + description: |- + The sorted list of number lengths (individual lengths as well as + length ranges). It is read only. + type: array + items: + type: string + numberPrefixes: + description: |- + The sorted list of number prefixes (individual prefixes as well + as prefix ranges). It is read only. + type: array + items: + type: string + securityCodeLength: + format: int32 + description: The length of the security code for this card. It is read only. + type: integer + PaymentMethod: + description: Document representing a payment method. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + cards: + description: The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. + type: array + items: + $ref: '#/components/schemas/PaymentCardSpec' + description: + description: The localized description of the payment method or card. It is read only. + type: string + id: + maxLength: 256 + description: The ID of the payment method or card. It is read only. + type: string + image: + description: The URL to the image that represents the payment method or card. It is read only. + type: string + name: + description: The localized name of the payment method or card. It is read only. + type: string + paymentProcessorId: + description: The payment processor ID. It is read only. It is read only. + type: string + required: + - id + PaymentMethodResult: + description: Result document of payment methods applicable for a basket. + properties: + applicablePaymentMethods: + description: The applicable payment methods. It is read only. + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + type: object + TaxItem: + description: Object representing the taxation. + properties: + id: + description: The taxation identifier. + type: string + rate: + format: double + description: The taxation rate. + example: 0.13 + type: number + value: + format: double + description: The tax amount. Will be computed if not set. + type: number + type: object + additionalProperties: false + required: + - id + - rate + TaxItems: + description: Taxation for a line item. + type: object + properties: + taxItems: + description: The list of tax items. It is read only. + type: array + items: + $ref: '#/components/schemas/TaxItem' + Taxes: + description: Document representing the tax rates and (optionally) amounts for all items in a basket. + properties: + taxes: + description: 'Map containing the TaxItems for the line item ids: Map' + type: object + additionalProperties: + $ref: '#/components/schemas/TaxItems' + type: object + required: + - taxes + additionalProperties: false + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + orderNo: + name: orderNo + in: path + description: The order number of the order to be modified. + required: true + schema: + $ref: '#/components/schemas/OrderNo' + paymentInstrumentId: + name: paymentInstrumentId + in: path + required: true + schema: + $ref: '#/components/schemas/PaymentInstrumentId' + examples: + OrderPost: + value: + basketId: a10ff320829cb0eef93ca5310a + examples-OrderPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + confirmationStatus: not_confirmed + couponItems: + - code: 5ties + couponItemId: d3f7ae47e5897a6b5d2fd541f0 + statusCode: applied + valid: true + createdBy: Customer + creationDate: '2019-10-22T12:17:28.341Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + customerName: Stephanie Miller + email: shopper@salesforce-test.com + customerName: Stephanie Miller + exportStatus: not_exported + groupedTaxItems: + - taxRate: 0.05 + taxValue: 30.8 + guest: true + giftCertificateItems: + - amount: 1 + giftCertificateItemId: 540db3ffe58bfb04ab673757d7 + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-22T12:17:28.376Z' + merchandizeTotalTax: 30 + orderNo: '00000410' + orderPriceAdjustments: + - appliedDiscount: + amount: 10 + type: amount + reasonCode: customer service + createdBy: support + creationDate: '2019-10-22T12:17:28.347Z' + custom: true + lastModified: '2019-10-22T12:17:28.349Z' + manual: true + price: -10 + priceAdjustmentId: 63b9eb9b4a92bd3e5c6ee804c2 + promotionId: 5ties + orderToken: 7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I + orderTotal: 586.76 + orderViewCode: YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc + paymentInstruments: + - amount: 20 + paymentInstrumentId: ca47e0da3d49b067b630db624a + paymentMethodId: BML + - amount: 566.76 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 6b970a04ca8a468a64b9936764 + paymentMethodId: CREDIT_CARD + paymentStatus: not_paid + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: d9516eecc64bd90b0022714d26 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: 8991e8d7adf0f46ffbc584e175 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.99 + priceAfterItemDiscount: 599.99 + priceAfterOrderDiscount: 589.99 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 37 + adjustedShippingTotalTax: 0.5 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: d5d95acf5381dc6e273b4336a7 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: 768abee75aa8015239a9696c7e + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + status: created + taxation: net + taxTotal: 30.8 + BadRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + title: Bad Request + detail: Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'. + BasketNotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found + title: Basket Not Found + detail: No basket with ID '123' could be found. + OrderGet: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + confirmationStatus: not_confirmed + couponItems: + - code: 5ties + couponItemId: d3f7ae47e5897a6b5d2fd541f0 + statusCode: applied + valid: true + createdBy: Customer + creationDate: '2019-10-22T12:17:28.341Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + customerName: Stephanie Miller + email: shopper@salesforce-test.com + customerName: Stephanie Miller + exportStatus: not_exported + groupedTaxItems: + - taxRate: 0.05 + taxValue: 30.8 + guest: true + giftCertificateItems: + - amount: 1 + giftCertificateItemId: 540db3ffe58bfb04ab673757d7 + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-22T12:17:28.376Z' + merchandizeTotalTax: 30 + orderNo: '00000410' + orderPriceAdjustments: + - appliedDiscount: + amount: 10 + type: amount + reasonCode: customer service + createdBy: support + creationDate: '2019-10-22T12:17:28.347Z' + custom: true + lastModified: '2019-10-22T12:17:28.349Z' + manual: true + price: -10 + priceAdjustmentId: 63b9eb9b4a92bd3e5c6ee804c2 + promotionId: 5ties + orderToken: 7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I + orderTotal: 586.76 + orderViewCode: YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc + paymentInstruments: + - amount: 20 + paymentInstrumentId: ca47e0da3d49b067b630db624a + paymentMethodId: BML + - amount: 566.76 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 6b970a04ca8a468a64b9936764 + paymentMethodId: CREDIT_CARD + paymentStatus: not_paid + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: d9516eecc64bd90b0022714d26 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: 8991e8d7adf0f46ffbc584e175 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.99 + priceAfterItemDiscount: 599.99 + priceAfterOrderDiscount: 589.99 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 37 + adjustedShippingTotalTax: 0.5 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: d5d95acf5381dc6e273b4336a7 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: 768abee75aa8015239a9696c7e + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + status: created + taxation: net + taxTotal: 30.8 + OrderLookup: + value: + email: no-reply@salesforce.com + orderViewCode: YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc + OrderNotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found + title: Order Not Found + detail: No order with number '123' was found. + PaymentInstrumentPost: + value: + amount: 700 + paymentCard: + expirationYear: 1990 + expirationMonth: 7 + validFromMonth: 8 + validFromYear: 2007 + issueNumber: i117 + maskedNumber: '************4567' + holder: Miller + cardType: Visa + paymentMethodId: CREDIT_CARD + examples-PaymentInstrumentPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + confirmationStatus: not_confirmed + couponItems: + - code: 5ties + couponItemId: d3f7ae47e5897a6b5d2fd541f0 + statusCode: applied + valid: true + createdBy: Customer + creationDate: '2019-10-22T12:17:28.341Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + customerName: Stephanie Miller + email: shopper@salesforce-test.com + customerName: Stephanie Miller + exportStatus: not_exported + groupedTaxItems: + - taxRate: 0.05 + taxValue: 30.8 + guest: true + giftCertificateItems: + - amount: 1 + giftCertificateItemId: 540db3ffe58bfb04ab673757d7 + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-22T12:17:28.376Z' + merchandizeTotalTax: 30 + orderNo: '00000410' + orderPriceAdjustments: + - appliedDiscount: + amount: 10 + type: amount + reasonCode: customer service + createdBy: support + creationDate: '2019-10-22T12:17:28.347Z' + custom: true + lastModified: '2019-10-22T12:17:28.349Z' + manual: true + price: -10 + priceAdjustmentId: 63b9eb9b4a92bd3e5c6ee804c2 + promotionId: 5ties + orderToken: 7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I + orderTotal: 586.76 + orderViewCode: YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc + paymentInstruments: + - amount: 20 + paymentInstrumentId: ca47e0da3d49b067b630db624a + paymentMethodId: BML + - amount: 566.76 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 6b970a04ca8a468a64b9936764 + paymentMethodId: CREDIT_CARD + - amount: 700 + paymentCard: + expirationYear: 1990 + expirationMonth: 7 + validFromMonth: 8 + validFromYear: 2007 + issueNumber: i117 + maskedNumber: '************4567' + holder: Miller + cardType: Visa + paymentInstrumentId: 9f21f0b51f206fbde2ff5789e5 + paymentMethodId: CREDIT_CARD + paymentStatus: not_paid + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: d9516eecc64bd90b0022714d26 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: 8991e8d7adf0f46ffbc584e175 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.99 + priceAfterItemDiscount: 599.99 + priceAfterOrderDiscount: 589.99 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 37 + adjustedShippingTotalTax: 0.5 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: d5d95acf5381dc6e273b4336a7 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: 768abee75aa8015239a9696c7e + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + status: new + taxation: net + taxTotal: 30.8 + PaymentInstrumentPatch: + value: + amount: 2 + paymentMethodId: CREDIT_CARD + paymentCard: + cardType: Visa + maskedNumber: '****-****-****-4567' + examples-PaymentInstrumentPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + confirmationStatus: not_confirmed + couponItems: + - code: 5ties + couponItemId: d3f7ae47e5897a6b5d2fd541f0 + statusCode: applied + valid: true + createdBy: Customer + creationDate: '2019-10-22T12:17:28.341Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + customerName: Stephanie Miller + email: shopper@salesforce-test.com + customerName: Stephanie Miller + exportStatus: not_exported + groupedTaxItems: + - taxRate: 0.05 + taxValue: 30.8 + guest: true + giftCertificateItems: + - amount: 1 + giftCertificateItemId: 540db3ffe58bfb04ab673757d7 + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-22T12:17:28.376Z' + merchandizeTotalTax: 30 + orderNo: '00000410' + orderPriceAdjustments: + - appliedDiscount: + amount: 10 + type: amount + reasonCode: customer service + createdBy: support + creationDate: '2019-10-22T12:17:28.347Z' + custom: true + lastModified: '2019-10-22T12:17:28.349Z' + manual: true + price: -10 + priceAdjustmentId: 63b9eb9b4a92bd3e5c6ee804c2 + promotionId: 5ties + orderToken: 7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I + orderTotal: 586.76 + orderViewCode: YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc + paymentInstruments: + - amount: 20 + paymentInstrumentId: ca47e0da3d49b067b630db624a + paymentMethodId: BML + - amount: 566.76 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 6b970a04ca8a468a64b9936764 + paymentMethodId: CREDIT_CARD + - amount: 2 + paymentCard: + expirationYear: 1990 + expirationMonth: 7 + validFromMonth: 8 + validFromYear: 2007 + issueNumber: i117 + maskedNumber: '******4567' + holder: Miller + cardType: Visa + paymentInstrumentId: 9f21f0b51f206fbde2ff5789e5 + paymentMethodId: CREDIT_CARD + paymentStatus: not_paid + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: d9516eecc64bd90b0022714d26 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: 8991e8d7adf0f46ffbc584e175 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.99 + priceAfterItemDiscount: 599.99 + priceAfterOrderDiscount: 589.99 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 37 + adjustedShippingTotalTax: 0.5 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: d5d95acf5381dc6e273b4336a7 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: 768abee75aa8015239a9696c7e + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + status: new + taxation: net + taxTotal: 30.8 + PaymentMethodsGet: + value: + applicablePaymentMethods: + - id: GIFT_CERTIFICATE + name: Gift Certificate + paymentProcessorId: BASIC_GIFT_CERTIFICATE + - cards: + - cardType: Visa + checksumVerificationEnabled: true + name: Visa + numberLengths: + - '13' + - '16' + numberPrefixes: + - '4' + securityCodeLength: 3 + - cardType: Amex + checksumVerificationEnabled: true + name: American Express + numberLengths: + - '15' + numberPrefixes: + - '34' + - '37' + securityCodeLength: 4 + - cardType: Master Card + checksumVerificationEnabled: true + name: MasterCard + numberLengths: + - '16' + numberPrefixes: + - 51-55 + securityCodeLength: 3 + - cardType: Discover + checksumVerificationEnabled: true + name: Discover + numberLengths: + - '16' + numberPrefixes: + - '6011' + - 622126-622925 + - 644-649 + - '65' + securityCodeLength: 3 + id: CREDIT_CARD + name: Credit Card + paymentProcessorId: BASIC_CREDIT + - id: PayPal + name: Pay Pal + paymentProcessorId: PAYPAL_EXPRESS + - id: BML + name: Bill Me Later + paymentProcessorId: CYBERSOURCE_BML + OrderTaxGet: + value: + taxes: + 3d4e28425ce0b3a65b0ac4e163: + taxItems: + - id: DE_7 + rate: 0.07 + value: 13.99 + - id: DE_19 + rate: 0.19 + ff9452ed11fcf5c80f9143a8f1: + taxItems: + - id: US_1 + rate: 0.01 + - id: US_5 + rate: 0.05 + InvalidTaxMode: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode + title: Invalid Tax Mode + detail: Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode. + UnsupportedRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled + title: Unsupported Request If SCAPI Hooks Enabled + detail: You can't call this endpoint because Salesforce Commerce API hook execution is enabled. diff --git a/apis/preferences-oas/cors-preferences-oas-1.0.3/.metadata.json b/apis/preferences-oas/cors-preferences-oas-1.0.3/.metadata.json new file mode 100644 index 00000000..5694e458 --- /dev/null +++ b/apis/preferences-oas/cors-preferences-oas-1.0.3/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/cors-preferences-oas/1.0.3", + "name": "Cors Preferences OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "cors-preferences-oas", + "version": "1.0.3", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/preferences-oas/cors-preferences-oas-1.0.3/cors-preferences-oas-v1-internal.yaml b/apis/preferences-oas/cors-preferences-oas-1.0.3/cors-preferences-oas-v1-internal.yaml new file mode 100644 index 00000000..ec6292c4 --- /dev/null +++ b/apis/preferences-oas/cors-preferences-oas-1.0.3/cors-preferences-oas-v1-internal.yaml @@ -0,0 +1,265 @@ +openapi: 3.0.3 +info: + title: Cors Preferences + version: v1 + description: |- + # API Overview + + The CORS Preferences API allows you to manage your Cross-Origin Resource Sharing (CORS) preferences. + + By specifying which domains are permitted to access a site, you can define exceptions to the same-site policy that browsers would otherwise enforce. + + ## Authentication & Authorization + + The CORS Preferences API requires an Account Manager token from the [Admin APIs.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html) + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + ### Manage CORS configuration + + You can use the preferences/cors endpoint to retrieve, set, or delete your configuration for CORS origins. + + ## Usage Notes + + 1. This configuration is made per client ID and site. + 2. All known domain names and aliases are added to the list automatically and do not need to be configured for CORS explicitly. + 3. If a configuration is absent, CORS will not be active. To enable cors for a client without specifying custom origins, configure the client and site with an empty origin list. The known domain names and aliases will still apply. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/configuration/cors/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/cors: + get: + summary: Return all CORS preferences for the given site. + operationId: getCorsPreferences + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: CORS preferences for the given site returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CorsPreferences' + examples: + getCorsResultWithMappingsExample: + $ref: '#/components/examples/getCorsResultWithMappingsExample' + getCorsResultWithoutMappingsExample: + $ref: '#/components/examples/getCorsResultWithoutMappingsExample' + security: + - AmOAuth2: + - sfcc.cors-preferences + - sfcc.cors-preferences.rw + put: + summary: Create or replace all CORS preferences for the given site. + operationId: updateCorsPreferences + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CorsPreferences' + examples: + CorsPutBodyExample: + $ref: '#/components/examples/CorsPutBodyExample' + required: true + responses: + '200': + description: CORS preferences for the given site created or replaced successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CorsPreferences' + examples: + updateCorsResultWithMappingsExample: + $ref: '#/components/examples/updateCorsResultWithMappingsExample' + updateCorsResultWithoutMappingsExample: + $ref: '#/components/examples/updateCorsResultWithoutMappingsExample' + '400': + description: |- + Possible reasons: + - The clientId is missing. + - The domain names in the origins list are invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CorsBadRequestMissingClientIdExample: + $ref: '#/components/examples/CorsBadRequestMissingClientIdExample' + CorsBadRequestInvalidDomainNamesExample: + $ref: '#/components/examples/CorsBadRequestInvalidDomainNamesExample' + security: + - AmOAuth2: + - sfcc.cors-preferences.rw + delete: + summary: Delete all CORS preferences for the given site. + operationId: deleteCorsPreferences + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: CORS preferences for the given site deleted successfully. + security: + - AmOAuth2: + - sfcc.cors-preferences.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.cors-preferences: CORS preferences READONLY scope + sfcc.cors-preferences.rw: CORS preferences scope + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.cors-preferences: CORS preferences READONLY scope + sfcc.cors-preferences.rw: CORS preferences scope + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + CorsClientPreferences: + description: Document representing all CORS preferences of a specific client + properties: + clientId: + description: Client ID + type: string + origins: + description: List containing domain names + type: array + items: + type: string + required: + - clientId + - origins + type: object + CorsPreferences: + description: Document representing all CORS preferences for a given site + properties: + corsClientPreferences: + description: List of client-specific CORS preferences + type: array + items: + $ref: '#/components/schemas/CorsClientPreferences' + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + examples: + getCorsResultWithMappingsExample: + value: + corsClientPreferences: + - clientId: 12345678-90ab-cdef-fedc-ba0987654321 + origins: + - http://foo.com + - https://foo.bar.com + getCorsResultWithoutMappingsExample: + value: {} + CorsPutBodyExample: + value: + corsClientPreferences: + - clientId: 12345678-90ab-cdef-fedc-ba0987654321 + origins: + - http://foo.com + - https://foo.bar.com + updateCorsResultWithMappingsExample: + value: + corsClientPreferences: + - clientId: 12345678-90ab-cdef-fedc-ba0987654321 + origins: + - http://foo.com + - https://foo.bar.com + updateCorsResultWithoutMappingsExample: + value: {} + CorsBadRequestMissingClientIdExample: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + detail: 'Submitted content was invalid: Client ID must not be null or empty' + parameter: 'Submitted content was invalid: Client ID must not be null or empty' + CorsBadRequestInvalidDomainNamesExample: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + detail: 'Submitted content was invalid: Origins must contain valid domain names, prefixed with http:// or https://' + parameter: 'Submitted content was invalid: Origins must contain valid domain names, prefixed with http:// or https://' +x-sdk-classname: CORSPreferences diff --git a/apis/preferences-oas/cors-preferences-oas-1.0.3/cors-preferences-oas-v1-public.yaml b/apis/preferences-oas/cors-preferences-oas-1.0.3/cors-preferences-oas-v1-public.yaml new file mode 100644 index 00000000..7764e831 --- /dev/null +++ b/apis/preferences-oas/cors-preferences-oas-1.0.3/cors-preferences-oas-v1-public.yaml @@ -0,0 +1,264 @@ +openapi: 3.0.3 +info: + title: Cors Preferences + version: v1 + description: |- + # API Overview + + The CORS Preferences API allows you to manage your Cross-Origin Resource Sharing (CORS) preferences. + + By specifying which domains are permitted to access a site, you can define exceptions to the same-site policy that browsers would otherwise enforce. + + ## Authentication & Authorization + + The CORS Preferences API requires an Account Manager token from the [Admin APIs.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html) + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + ### Manage CORS configuration + + You can use the preferences/cors endpoint to retrieve, set, or delete your configuration for CORS origins. + + ## Usage Notes + + 1. This configuration is made per client ID and site. + 2. All known domain names and aliases are added to the list automatically and do not need to be configured for CORS explicitly. + 3. If a configuration is absent, CORS will not be active. To enable cors for a client without specifying custom origins, configure the client and site with an empty origin list. The known domain names and aliases will still apply. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/configuration/cors/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/cors: + get: + summary: Return all CORS preferences for the given site. + operationId: getCorsPreferences + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: CORS preferences for the given site returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CorsPreferences' + examples: + getCorsResultWithMappingsExample: + $ref: '#/components/examples/getCorsResultWithMappingsExample' + getCorsResultWithoutMappingsExample: + $ref: '#/components/examples/getCorsResultWithoutMappingsExample' + security: + - AmOAuth2: + - sfcc.cors-preferences + - sfcc.cors-preferences.rw + put: + summary: Create or replace all CORS preferences for the given site. + operationId: updateCorsPreferences + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CorsPreferences' + examples: + CorsPutBodyExample: + $ref: '#/components/examples/CorsPutBodyExample' + required: true + responses: + '200': + description: CORS preferences for the given site created or replaced successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CorsPreferences' + examples: + updateCorsResultWithMappingsExample: + $ref: '#/components/examples/updateCorsResultWithMappingsExample' + updateCorsResultWithoutMappingsExample: + $ref: '#/components/examples/updateCorsResultWithoutMappingsExample' + '400': + description: |- + Possible reasons: + - The clientId is missing. + - The domain names in the origins list are invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CorsBadRequestMissingClientIdExample: + $ref: '#/components/examples/CorsBadRequestMissingClientIdExample' + CorsBadRequestInvalidDomainNamesExample: + $ref: '#/components/examples/CorsBadRequestInvalidDomainNamesExample' + security: + - AmOAuth2: + - sfcc.cors-preferences.rw + delete: + summary: Delete all CORS preferences for the given site. + operationId: deleteCorsPreferences + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: CORS preferences for the given site deleted successfully. + security: + - AmOAuth2: + - sfcc.cors-preferences.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.cors-preferences: CORS preferences READONLY scope + sfcc.cors-preferences.rw: CORS preferences scope + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.cors-preferences: CORS preferences READONLY scope + sfcc.cors-preferences.rw: CORS preferences scope + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + CorsClientPreferences: + description: Document representing all CORS preferences of a specific client + properties: + clientId: + description: Client ID + type: string + origins: + description: List containing domain names + type: array + items: + type: string + required: + - clientId + - origins + type: object + CorsPreferences: + description: Document representing all CORS preferences for a given site + properties: + corsClientPreferences: + description: List of client-specific CORS preferences + type: array + items: + $ref: '#/components/schemas/CorsClientPreferences' + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + examples: + getCorsResultWithMappingsExample: + value: + corsClientPreferences: + - clientId: 12345678-90ab-cdef-fedc-ba0987654321 + origins: + - http://foo.com + - https://foo.bar.com + getCorsResultWithoutMappingsExample: + value: {} + CorsPutBodyExample: + value: + corsClientPreferences: + - clientId: 12345678-90ab-cdef-fedc-ba0987654321 + origins: + - http://foo.com + - https://foo.bar.com + updateCorsResultWithMappingsExample: + value: + corsClientPreferences: + - clientId: 12345678-90ab-cdef-fedc-ba0987654321 + origins: + - http://foo.com + - https://foo.bar.com + updateCorsResultWithoutMappingsExample: + value: {} + CorsBadRequestMissingClientIdExample: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + detail: 'Submitted content was invalid: Client ID must not be null or empty' + parameter: 'Submitted content was invalid: Client ID must not be null or empty' + CorsBadRequestInvalidDomainNamesExample: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + detail: 'Submitted content was invalid: Origins must contain valid domain names, prefixed with http:// or https://' + parameter: 'Submitted content was invalid: Origins must contain valid domain names, prefixed with http:// or https://' diff --git a/apis/preferences-oas/cors-preferences-oas-1.0.3/exchange.json b/apis/preferences-oas/cors-preferences-oas-1.0.3/exchange.json new file mode 100644 index 00000000..ed572642 --- /dev/null +++ b/apis/preferences-oas/cors-preferences-oas-1.0.3/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "cors-preferences-oas-v1-public.yaml", + "name": "Cors Preferences OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "cors-preferences-oas", + "version": "1.0.3", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/preferences-oas/preferences-oas-1.1.2/.metadata.json b/apis/preferences-oas/preferences-oas-1.1.2/.metadata.json new file mode 100644 index 00000000..8dd90559 --- /dev/null +++ b/apis/preferences-oas/preferences-oas-1.1.2/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/preferences-oas/1.1.2", + "name": "Preferences OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "preferences-oas", + "version": "1.1.2", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/preferences-oas/preferences-oas-1.1.2/exchange.json b/apis/preferences-oas/preferences-oas-1.1.2/exchange.json new file mode 100644 index 00000000..fc9e9699 --- /dev/null +++ b/apis/preferences-oas/preferences-oas-1.1.2/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "preferences-oas-v1-public.yaml", + "name": "Preferences OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "preferences-oas", + "version": "1.1.2", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/preferences-oas/preferences-oas-1.1.2/preferences-oas-v1-internal.yaml b/apis/preferences-oas/preferences-oas-1.1.2/preferences-oas-v1-internal.yaml new file mode 100644 index 00000000..ee020f70 --- /dev/null +++ b/apis/preferences-oas/preferences-oas-1.1.2/preferences-oas-v1-internal.yaml @@ -0,0 +1,346 @@ +openapi: 3.0.3 +info: + title: Preferences + version: v1 + description: "# API Overview\nAvailable with B2C Commerce version 24.7.2, B2C Commerce teams must regularly configure site and environment-specific settings to support changing business needs and technical integrations. In many instances, Storefront Reference Architecture (SFRA)/SiteGenesis implementations rely on declarative Custom Site Preferences to alter these settings without the need for deployment or significant engineering support. Site preferences allow teams to adapt their sites with minimal effort.\n\nThe following Preferences API endpoints retrieve preference-related information:\n\n- Global custom preferences: \nRetrieves all custom preferences at the organization level. \n\n- Site custom prefererences: \nRetrieves all custom preferences at the site level.\n\nThe Preferences API first checks to see if custom values have been set, and if so, returns the custom settings. Otherwise, the Preferences API returns the default values provided in Business Manager.\n\nNote: The Preferences API sets custom preferences. For details on working with non-custom preferences, see [Global Preferences for B2C Commerce](https://help.salesforce.com/s/articleView?id=cc.b2c_global_preferences.htm&type=5) and [Site Preferences in B2C Commerce](https://help.salesforce.com/s/articleView?id=cc.b2c_site_preferences.htm&type=5).\n\n## Authentication & Authorization\nThe custom preference API requires a Account Manager token from the [Admin APIs.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html)\n\nYou must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html)\n\n## Use Cases\n### Global Custom Preference:\nA prominent private equity firm manages a diverse portfolio of brands, each operating its own site. Despite the individuality of these brands, they leverage shared third-party integrations for critical functionalities, such as payments and content management. Through a centralized approach, the firm establishes specifications for key components like the payments portal, ensuring consistency and efficiency across all sites. These specifications are meticulously crafted and undergo infrequent modifications to accommodate evolving needs while maintaining operational stability.\n\n### Site Custom Preference: \nSite operators might have numerous tests or features tailored to their specific site. To facilitate streamlined control over these functionalities, they need a user-friendly mechanism for their merchant team to effortlessly toggle them on or off as needed. The site Preference API provides this mechanism.\n\n### Caching\nCaching capabilities are available for the Preferences APIs. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html)\n\n## Preferences\n[Global preferences](https://help.salesforce.com/s/articleView?id=cc.b2c_global_preferences.htm&type=5)\n\n[Site preferences](https://help.salesforce.com/s/articleView?id=cc.b2c_site_preferences.htm&type=5)" +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/configuration/preferences/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/global-custom-preferences: + get: + summary: Retrieves the Global Custom Preferences. + operationId: getGlobalCustomPreferenceList + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/maskPassword' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 200 + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. Defaults to 200. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Retrieved Global Custom Preferences successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomPreferenceList' + examples: + GlobalCustomPreferenceExample: + $ref: '#/components/examples/GlobalCustomPreferenceExample' + '400': + description: Thrown if the query is ill-formed. + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidAccessToken: + $ref: '#/components/examples/InvalidAccessToken' + security: + - AmOAuth2: + - sfcc.preferences + /organizations/{organizationId}/site-custom-preferences: + get: + summary: Retrieves the Custom Preferences for a specified siteId. + operationId: getSiteCustomPreferenceList + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/maskPassword' + - $ref: '#/components/parameters/siteId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 200 + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. Defaults to 200. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Retrieved Site Custom Preferences successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomPreferenceList' + examples: + SiteCustomPreferenceExample: + $ref: '#/components/examples/SiteCustomPreferenceExample' + '400': + description: Thrown if the query is ill-formed. + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidAccessToken: + $ref: '#/components/examples/InvalidAccessToken' + security: + - AmOAuth2: + - sfcc.preferences +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.preferences: Preferences scope + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.preferences: Preferences scope + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + CustomPreference: + description: Preference object + properties: + groupId: + description: The ID of the preference group. + type: string + id: + description: The Preference Id. + type: string + value: + description: The value for the Preference Id. + required: + - groupId + - id + - value + type: object + CustomPreferenceList: + description: Document representing a Custom Preference result. + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + description: The list of custom preferences in the search result. + type: array + items: + $ref: '#/components/schemas/CustomPreference' + required: + - limit + - data + - offset + - total + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + maskPassword: + name: maskPassword + in: query + description: Whether to mask password or not. + required: false + schema: + type: boolean + default: false + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + examples: + GlobalCustomPreferenceExample: + value: + limit: 10 + data: + - groupId: PreferenceGroup1 + id: booleanValue + value: true + - groupId: PreferenceGroup1 + id: htmlValue + value: + markup:

HTML Value

+ source:

HTML Value

+ - groupId: PreferenceGroup1 + id: dateValue + value: '2007-06-20T00:00:00.000Z' + - groupId: PreferenceGroup2 + id: integerValueValue + value: 12345 + - groupId: PreferenceGroup2 + id: stringValueList + value: s1 + - groupId: PreferenceGroup2 + id: imageValue + value: + abs_url: https://localhost/on/demandware.static/-/Sites/default/v2d48bd5c705782218c66e02f6776751b2e227ac5/img/value.jpg + dis_base_url: https://image.demandware.com/dw/image/v2/zzzz_s02/on/demandware.static/-/Sites/default/v2d48bd5c705782218c66e02f6776751b2e227ac5/img/value.jpg + path: /img/value.jpg + offset: 0 + total: 100 + InvalidAccessToken: + value: + title: Invalid Access Token + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token + detail: The request is unauthorized, the access token is invalid. + accessToken: hbGciOiJIUzI1NiIsInR5cCI6Ikp + SiteCustomPreferenceExample: + value: + limit: 10 + data: + - groupId: PreferenceGroup1 + id: booleanValue + value: true + - groupId: PreferenceGroup1 + id: htmlValue + value: + markup:

HTML Value

+ source:

HTML Value

+ - groupId: PreferenceGroup2 + id: integerValueValue + value: 12345 + - groupId: PreferenceGroup2 + id: imageValue + value: + abs_url: https://localhost/on/demandware.static/-/Sites/default/v2d48bd5c705782218c66e02f6776751b2e227ac5/img/value.jpg + dis_base_url: https://image.demandware.com/dw/image/v2/zzzz_s02/on/demandware.static/-/Sites/default/v2d48bd5c705782218c66e02f6776751b2e227ac5/img/value.jpg + path: /img/value.jpg + offset: 0 + total: 100 diff --git a/apis/preferences-oas/preferences-oas-1.1.2/preferences-oas-v1-public.yaml b/apis/preferences-oas/preferences-oas-1.1.2/preferences-oas-v1-public.yaml new file mode 100644 index 00000000..ee020f70 --- /dev/null +++ b/apis/preferences-oas/preferences-oas-1.1.2/preferences-oas-v1-public.yaml @@ -0,0 +1,346 @@ +openapi: 3.0.3 +info: + title: Preferences + version: v1 + description: "# API Overview\nAvailable with B2C Commerce version 24.7.2, B2C Commerce teams must regularly configure site and environment-specific settings to support changing business needs and technical integrations. In many instances, Storefront Reference Architecture (SFRA)/SiteGenesis implementations rely on declarative Custom Site Preferences to alter these settings without the need for deployment or significant engineering support. Site preferences allow teams to adapt their sites with minimal effort.\n\nThe following Preferences API endpoints retrieve preference-related information:\n\n- Global custom preferences: \nRetrieves all custom preferences at the organization level. \n\n- Site custom prefererences: \nRetrieves all custom preferences at the site level.\n\nThe Preferences API first checks to see if custom values have been set, and if so, returns the custom settings. Otherwise, the Preferences API returns the default values provided in Business Manager.\n\nNote: The Preferences API sets custom preferences. For details on working with non-custom preferences, see [Global Preferences for B2C Commerce](https://help.salesforce.com/s/articleView?id=cc.b2c_global_preferences.htm&type=5) and [Site Preferences in B2C Commerce](https://help.salesforce.com/s/articleView?id=cc.b2c_site_preferences.htm&type=5).\n\n## Authentication & Authorization\nThe custom preference API requires a Account Manager token from the [Admin APIs.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html)\n\nYou must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html)\n\n## Use Cases\n### Global Custom Preference:\nA prominent private equity firm manages a diverse portfolio of brands, each operating its own site. Despite the individuality of these brands, they leverage shared third-party integrations for critical functionalities, such as payments and content management. Through a centralized approach, the firm establishes specifications for key components like the payments portal, ensuring consistency and efficiency across all sites. These specifications are meticulously crafted and undergo infrequent modifications to accommodate evolving needs while maintaining operational stability.\n\n### Site Custom Preference: \nSite operators might have numerous tests or features tailored to their specific site. To facilitate streamlined control over these functionalities, they need a user-friendly mechanism for their merchant team to effortlessly toggle them on or off as needed. The site Preference API provides this mechanism.\n\n### Caching\nCaching capabilities are available for the Preferences APIs. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html)\n\n## Preferences\n[Global preferences](https://help.salesforce.com/s/articleView?id=cc.b2c_global_preferences.htm&type=5)\n\n[Site preferences](https://help.salesforce.com/s/articleView?id=cc.b2c_site_preferences.htm&type=5)" +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/configuration/preferences/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/global-custom-preferences: + get: + summary: Retrieves the Global Custom Preferences. + operationId: getGlobalCustomPreferenceList + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/maskPassword' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 200 + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. Defaults to 200. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Retrieved Global Custom Preferences successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomPreferenceList' + examples: + GlobalCustomPreferenceExample: + $ref: '#/components/examples/GlobalCustomPreferenceExample' + '400': + description: Thrown if the query is ill-formed. + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidAccessToken: + $ref: '#/components/examples/InvalidAccessToken' + security: + - AmOAuth2: + - sfcc.preferences + /organizations/{organizationId}/site-custom-preferences: + get: + summary: Retrieves the Custom Preferences for a specified siteId. + operationId: getSiteCustomPreferenceList + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/maskPassword' + - $ref: '#/components/parameters/siteId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 200 + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. Defaults to 200. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Retrieved Site Custom Preferences successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomPreferenceList' + examples: + SiteCustomPreferenceExample: + $ref: '#/components/examples/SiteCustomPreferenceExample' + '400': + description: Thrown if the query is ill-formed. + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidAccessToken: + $ref: '#/components/examples/InvalidAccessToken' + security: + - AmOAuth2: + - sfcc.preferences +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.preferences: Preferences scope + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.preferences: Preferences scope + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + CustomPreference: + description: Preference object + properties: + groupId: + description: The ID of the preference group. + type: string + id: + description: The Preference Id. + type: string + value: + description: The value for the Preference Id. + required: + - groupId + - id + - value + type: object + CustomPreferenceList: + description: Document representing a Custom Preference result. + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + description: The list of custom preferences in the search result. + type: array + items: + $ref: '#/components/schemas/CustomPreference' + required: + - limit + - data + - offset + - total + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + maskPassword: + name: maskPassword + in: query + description: Whether to mask password or not. + required: false + schema: + type: boolean + default: false + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + examples: + GlobalCustomPreferenceExample: + value: + limit: 10 + data: + - groupId: PreferenceGroup1 + id: booleanValue + value: true + - groupId: PreferenceGroup1 + id: htmlValue + value: + markup:

HTML Value

+ source:

HTML Value

+ - groupId: PreferenceGroup1 + id: dateValue + value: '2007-06-20T00:00:00.000Z' + - groupId: PreferenceGroup2 + id: integerValueValue + value: 12345 + - groupId: PreferenceGroup2 + id: stringValueList + value: s1 + - groupId: PreferenceGroup2 + id: imageValue + value: + abs_url: https://localhost/on/demandware.static/-/Sites/default/v2d48bd5c705782218c66e02f6776751b2e227ac5/img/value.jpg + dis_base_url: https://image.demandware.com/dw/image/v2/zzzz_s02/on/demandware.static/-/Sites/default/v2d48bd5c705782218c66e02f6776751b2e227ac5/img/value.jpg + path: /img/value.jpg + offset: 0 + total: 100 + InvalidAccessToken: + value: + title: Invalid Access Token + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token + detail: The request is unauthorized, the access token is invalid. + accessToken: hbGciOiJIUzI1NiIsInR5cCI6Ikp + SiteCustomPreferenceExample: + value: + limit: 10 + data: + - groupId: PreferenceGroup1 + id: booleanValue + value: true + - groupId: PreferenceGroup1 + id: htmlValue + value: + markup:

HTML Value

+ source:

HTML Value

+ - groupId: PreferenceGroup2 + id: integerValueValue + value: 12345 + - groupId: PreferenceGroup2 + id: imageValue + value: + abs_url: https://localhost/on/demandware.static/-/Sites/default/v2d48bd5c705782218c66e02f6776751b2e227ac5/img/value.jpg + dis_base_url: https://image.demandware.com/dw/image/v2/zzzz_s02/on/demandware.static/-/Sites/default/v2d48bd5c705782218c66e02f6776751b2e227ac5/img/value.jpg + path: /img/value.jpg + offset: 0 + total: 100 diff --git a/apis/pricing/assignments/.metadata.json b/apis/pricing/assignments/.metadata.json deleted file mode 100644 index d6a658fc..00000000 --- a/apis/pricing/assignments/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/assignments/1.0.26", - "name": "Assignments", - "description": "Search for promotions associated with campaigns.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "assignments", - "version": "1.0.26", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/pricing/assignments/assignments-description.md b/apis/pricing/assignments/assignments-description.md deleted file mode 100644 index 923e9f6e..00000000 --- a/apis/pricing/assignments/assignments-description.md +++ /dev/null @@ -1,23 +0,0 @@ -# API Overview - -The Assignments API enables you to search for promotions associated with campaigns. - -For more information, see [Campaigns and Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Promotions/CampaignsandPromotions.html) in the Salesforce B2C Commerce Infocenter. - -## Authentication & Authorization - -The client requesting the promotion information must have access to the Promotion resource. The API requests pass a bearer token in the header of the request. The client must first authenticate against Account Manager to log in. - -You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Find All Associated Promotions - -Use the Assignments API to find all associated promotions for a given campaign. - -## Resources - -### PromotionCampaignAssignmentSearchResult - -Details of the Campaign and Promotion assignments. \ No newline at end of file diff --git a/apis/pricing/assignments/assignments.raml b/apis/pricing/assignments/assignments.raml deleted file mode 100644 index 3b059a7a..00000000 --- a/apis/pricing/assignments/assignments.raml +++ /dev/null @@ -1,417 +0,0 @@ -#%RAML 1.0 -title: Assignments -version: v1 -protocols: https -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/pricing/assignments/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -description: !include assignments-description.md - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Campaign: - description: |- - Document representing a campaign. - type: - CommerceCloudStandards.OpenObject - properties: - campaignId: - description: The ID of the campaign. - maxLength: 256 - minLength: 1 - type: string - coupons: - description: The array of assigned coupon IDs, not sorted. - type: array - items: - type: string - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - customerGroups: - description: The array of assigned customer groups, not sorted. - type: array - items: - type: string - required: false - description: - description: The description of the campaign. - maxLength: 4000 - type: string - required: false - enabled: - description: The enabled flag for the campaign. - type: boolean - required: false - endDate: - description: The date that the scenario ends. - type: datetime - required: false - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - sourceCodeGroups: - description: The array of assigned source code groups, not sorted. - type: array - items: - type: string - required: false - startDate: - description: The date that the scenario begins. - type: datetime - required: false - Promotion: - description: |- - Document representing a promotion. Unless otherwise stated, attributes of this document are not supported when using - the Open Commerce API to update multiple promotions at once. - type: - CommerceCloudStandards.OpenObject - properties: - archived: - description: |- - Determines whether or not this promotion is archived. This attribute is allowed to be updated when using the Open - Commerce API to update multiple promotions at once. - type: boolean - required: false - assignmentInformation: - description: Information about the assignments, and assignment schedules, of this promotion. - type: PromotionAssignmentInformation - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - currencyCode: - description: |- - The ISO 4217 mnemonic code of the currency this promotion is restricted to. If not populated, then there is no - currency restriction on the promotion. - maxLength: 3 - type: string - required: false - disableGloballyExcluded: - description: Determines if this promotion ignores the global product exclusions for promotions. - type: boolean - required: false - enabled: - description: |- - Determines if this promotion is enabled. This attribute is allowed to be updated when using the Open - Commerce API to update multiple promotions at once. - type: boolean - required: false - exclusivity: - description: |- - Determines if the promotion can be combined with other promotions of the same promotion class or if it cannot be - combined with any other promotions. This attribute is allowed to be updated when using the Open Commerce API to - update multiple promotions at once. - type: string - enum: - - 'no' - - class - - global - id: - description: The ID for the promotion. - type: string - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - name: - description: The user supplied name of this promotion, which can be localized. - type: object - properties: - //: - type: string - required: false - promotionClass: - description: |- - The class of the promotion. If the promotion class is modified, the promotion rule and all of its values - (such as whether or not to disable global product exclusions) are reset. - type: string - enum: - - product - - shipping - - order - required: false - tags: - description: |- - Returns the list of tags assigned to this promotion. If used to set the tags on a promotion, the promotion has the tags passed in the input. Any existing tags are removed. - type: array - items: - type: Tag - required: false - PromotionAbtestGroupAssignment: - type: - CommerceCloudStandards.ClosedObject - properties: - abtestDescription: - type: string - abtestId: - type: string - enabled: - type: boolean - schedule: - type: Schedule - segmentDescription: - type: string - segmentId: - type: string - PromotionAssignmentInformation: - type: - CommerceCloudStandards.ClosedObject - properties: - abtestId: - description: |- - If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test the segment - belongs to. Otherwise, empty. - type: string - abtestSegmentId: - description: |- - If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test segment. - Otherwise, empty. - type: string - active: - description: True if the individual assignment, or the multiple assignments, are currently active. - type: boolean - activeAbtestAssignments: - description: A list of currently active A/B tests this is assigned to. - type: array - items: - type: PromotionAbtestGroupAssignment - activeCampaignAssignments: - description: A list of currently active campaigns this is assigned to. - type: array - items: - type: PromotionCampaignAssignment - campaignId: - description: If there is only one assignment, and that assignment is a campaign, the ID of the campaign. Otherwise, empty. - type: string - enabled: - type: boolean - endDate: - description: |- - The end date of the container of the assignment (a Campaign or ABTest). If scheduleType is - scheduleType : "multiple" or scheduleType : "none", the result is null. Also, a null - date returns null. - type: datetime - schedule: - description: |- - The schedule of the assignment (a Campaign or ABTest). If scheduleType is - scheduleType : "multiple" or scheduleType : "none", the result is null. - type: Schedule - scheduleType: - description: |- - If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type - of assignment (scheduleType : "campaign" or scheduleType : "abtest"). If there are no - assignments, it is scheduleType : "none", otherwise, scheduleType : "multiple". - type: string - enum: - - none - - campaign - - abtest - - multiple - startDate: - description: |- - The start date of the container of the assignment (a Campaign or ABTest). If scheduleType is - scheduleType : "multiple" or scheduleType : "none", the result is null. Also, a null - date returns null. - type: datetime - upcomingAbtestAssignments: - description: A list of upcoming A/B tests this is assigned to. - type: array - items: - type: PromotionAbtestGroupAssignment - upcomingCampaignAssignments: - description: A list of upcoming campaigns this is assigned to. - type: array - items: - type: PromotionCampaignAssignment - PromotionCampaignAssignment: - type: - CommerceCloudStandards.ClosedObject - description: |- - Document representing a promotion campaign assignment. - properties: - campaign: - description: The campaign. - type: Campaign - campaignId: - description: The ID of the campaign. - maxLength: 256 - minLength: 1 - type: string - coupons: - description: The sorted array of assigned coupon IDs. - type: array - items: - type: string - customerGroups: - description: The sorted array of assigned customer groups. - type: array - items: - type: string - description: - description: The description of the promotion campaign assignment. - maxLength: 4000 - type: string - enabled: - description: True if the assignment resource is enabled. - type: boolean - promotion: - description: The promotion. - type: Promotion - promotionId: - description: The ID of the promotion. - maxLength: 256 - minLength: 1 - type: string - rank: - description: The rank of promotion campaign assignment. - type: integer - format: int32 - minimum: 1 - maximum: 100 - schedule: - description: The schedule of the assignment resource. - type: Schedule - sourceCodeGroups: - description: The sorted array of assigned source code groups. - type: array - items: - type: string - Schedule: - type: - CommerceCloudStandards.ClosedObject - description: |- - Document representing a time schedule for slots. - properties: - endDate: - description: 'The date to end of validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' - type: datetime - recurrence: - description: The recurrence of the schedule by day of week and time of day. Not all schedules support a recurrence. - type: Recurrence - startDate: - description: 'The date to start validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' - type: datetime - Recurrence: - type: - CommerceCloudStandards.ClosedObject - description: |- - Document representing a schedule recurrence. - properties: - dayOfWeek: - description: The days of week for recurrence. - type: array - items: - type: string - enum: - - monday - - tuesday - - wednesday - - thursday - - friday - - saturday - - sunday - timeOfDay: - description: The time of the day for recurrence. - type: TimeOfDay - TimeOfDay: - type: - CommerceCloudStandards.ClosedObject - description: |- - Document representing a time schedule within a single day. - properties: - timeFrom: - description: |- - The time to start from. Time format: HH:mm:ss. Seconds - are ignored and set to 0. - type: string - timeTo: - description: |- - The time to end on. Time format: HH:mm:ss. Seconds - are ignored and set to 0. - type: string - Tag: - type: - CommerceCloudStandards.ClosedObject - description: |- - Document representing a tag. - properties: - tagId: - description: The ID of the tag. - type: string - PromotionCampaignAssignmentSearchResult: - description: Document representing a promotion campaign assignment search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of campaign search hits. Can be empty. - type: PromotionCampaignAssignment[] -'/organizations/{organizationId}/assignments': - type: CommerceCloudStandards.Organization - post: - description: | - Searches for promotion campaign assignments. - - The promotion campaign assignment search document contains a search object that allows filtering on various attributes. - - The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped into different buckets. - - The following is a list of searchable attributes with their corresponding buckets: - - main: - - | Attribute | Type | - |-----------|--------| - | rank| Integer | - | startDate | Date | - | endDate | Date | - - campaign: - - | Attribute | Type | - |-----------|--------| - | campaign| String | - - promotion: - - | Attribute | Type | - |-----------|--------| - | promotionId| String | - | description | String | - | enabled | Boolean | - - special handling: - - | Attribute | Type | - |-----------|--------| - | couponId| String | - - Only fields in the same bucket can be joined using a disjunction (or). For instance, when joining campaignId and rank, only a conjunction (and) is allowed, whereas promotionId and description can be joined to each other using a disjunction because they are in the same bucket. Special handling fields must always use conjunctions. If the field is used in a disjunction that violates this rule, an exception is thrown. - - - Note that only searchable attributes can be used in sorting. - displayName: assignmentsSearch - is: - - CommerceCloudStandards.SiteSpecific - responses: - '200': - description: API Executed Successfully. - body: - application/json: - type: PromotionCampaignAssignmentSearchResult - body: - application/json: - type: CommerceCloudStandards.SearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } diff --git a/apis/pricing/assignments/exchange.json b/apis/pricing/assignments/exchange.json deleted file mode 100644 index 97de630c..00000000 --- a/apis/pricing/assignments/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.26", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "assignments.raml", - "backwardsCompatible": false, - "assetId": "assignments", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Assignments", - "tags": [] -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/pricing/campaigns/.metadata.json b/apis/pricing/campaigns/.metadata.json deleted file mode 100644 index 910d60f8..00000000 --- a/apis/pricing/campaigns/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/campaigns/1.0.28", - "name": "Campaigns", - "description": "Utilize campaign experiences for your customers.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "campaigns", - "version": "1.0.28", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/pricing/campaigns/Examples/get-campaign-example.raml b/apis/pricing/campaigns/Examples/get-campaign-example.raml deleted file mode 100644 index 7e678dc0..00000000 --- a/apis/pricing/campaigns/Examples/get-campaign-example.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "campaignId": "NewYearCampaign", - "coupons": [ - "20%offOrdersAbove100", - "10%offties" - ], - "creationDate": "2019-10-03T19:36:56.000Z", - "customerGroups": [ - "Registered" - ], - "description": "Campaign for the New Year", - "enabled": true, - "endDate": "2020-07-31T23:09:08.000Z", - "lastModified": "2019-10-10T14:27:00.867Z", - "sourceCodeGroups": [ - "affiliate-email", - "gaming-email" - ], - "startDate": "2019-04-01T11:30:15.000Z" -} diff --git a/apis/pricing/campaigns/Examples/patch-campaign-request.raml b/apis/pricing/campaigns/Examples/patch-campaign-request.raml deleted file mode 100644 index 13c6db45..00000000 --- a/apis/pricing/campaigns/Examples/patch-campaign-request.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "description" : "Thanksgiving campaign enabling special promotions", - "enabled" : true, - "coupons": [ - "thanksgiving", - "special" - ] - } \ No newline at end of file diff --git a/apis/pricing/campaigns/Examples/patch-campaign-response.raml b/apis/pricing/campaigns/Examples/patch-campaign-response.raml deleted file mode 100644 index e5c466b1..00000000 --- a/apis/pricing/campaigns/Examples/patch-campaign-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "campaignId": "ThanksgivingCampaign", - "coupons": [ - "special", - "thanksgiving" - ], - "creationDate": "2019-10-03T19:36:56.000Z", - "customerGroups": [ - "Registered" - ], - "description": "Thanksgiving campaign enabling special promotions", - "enabled": true, - "endDate": "2020-07-31T23:09:08.000Z", - "lastModified": "2019-10-10T14:52:47.356Z", - "sourceCodeGroups": [ - "affiliate-email", - "gaming-email" - ], - "startDate": "2019-04-01T11:30:15.000Z" -} diff --git a/apis/pricing/campaigns/Examples/post_campaign_search_200.raml b/apis/pricing/campaigns/Examples/post_campaign_search_200.raml deleted file mode 100644 index 50fcc435..00000000 --- a/apis/pricing/campaigns/Examples/post_campaign_search_200.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 NamedExample -postCampaignSearch200: - { - "limit": 2, - "hits": [ - { - "campaignId": "mens-clothing-dress-shirts", - "creationDate": "2019-11-06T21:12:35.000Z", - "customerGroups": [ - "Everyone" - ], - "description": "This a campaign for the Mens Dress Shirts Category offering a specific banner as well as a 20% off dress shirts promotion, and a custom sort rule of product name ascending", - "enabled": false, - "lastModified": "2019-11-06T21:12:35.000Z" - }, - { - "campaignId": "mens-clothing-suits", - "creationDate": "2019-11-06T21:12:35.000Z", - "customerGroups": [ - "Everyone" - ], - "description": "This is a campaign that displays a landing banner, with a 25% discount on all suits and default sorting rule of top selling suits.", - "enabled": false, - "lastModified": "2019-11-06T21:12:35.000Z" - } - ], - "query": { - "textQuery": { - "fields": [ - "id", - "description" - ], - "searchPhrase": "campaign" - } - }, - "offset": 1, - "total": 4 -} diff --git a/apis/pricing/campaigns/Examples/post_campaign_search_400.raml b/apis/pricing/campaigns/Examples/post_campaign_search_400.raml deleted file mode 100644 index bced6834..00000000 --- a/apis/pricing/campaigns/Examples/post_campaign_search_400.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -post_campaign_search_400: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "detail": "Failed to execute search query: wrong syntax.", - "title": "Incorrect Syntax" -} \ No newline at end of file diff --git a/apis/pricing/campaigns/Examples/put-campaign-request.raml b/apis/pricing/campaigns/Examples/put-campaign-request.raml deleted file mode 100644 index 356618b0..00000000 --- a/apis/pricing/campaigns/Examples/put-campaign-request.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "campaignId": "NewWinterCampaign", - "coupons": [ - "WinterSpecial" - ], - "creationDate": "2019-10-03T19:36:56.000Z", - "customerGroups": [ - "Registered" - ], - "description": "Campaign for winter specials", - "enabled": true, - "endDate": "2020-07-31T23:09:08.000Z", - "lastModified": "2019-10-10T14:52:47.356Z", - "startDate": "2019-04-01T11:30:15.000Z" -} diff --git a/apis/pricing/campaigns/Examples/put-campaign-response.raml b/apis/pricing/campaigns/Examples/put-campaign-response.raml deleted file mode 100644 index 356618b0..00000000 --- a/apis/pricing/campaigns/Examples/put-campaign-response.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "campaignId": "NewWinterCampaign", - "coupons": [ - "WinterSpecial" - ], - "creationDate": "2019-10-03T19:36:56.000Z", - "customerGroups": [ - "Registered" - ], - "description": "Campaign for winter specials", - "enabled": true, - "endDate": "2020-07-31T23:09:08.000Z", - "lastModified": "2019-10-10T14:52:47.356Z", - "startDate": "2019-04-01T11:30:15.000Z" -} diff --git a/apis/pricing/campaigns/Traits/CampaignDuplicateExceptionTrait.raml b/apis/pricing/campaigns/Traits/CampaignDuplicateExceptionTrait.raml deleted file mode 100644 index 28b7263a..00000000 --- a/apis/pricing/campaigns/Traits/CampaignDuplicateExceptionTrait.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response for a duplicate campaign in the Data Campaigns API. -responses: - 400: - description: - Thrown if a campaign exists already in the site with the given campaign ID. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/campaign-duplicate", - "detail": "The campaign couldn't be created because of duplicate ID 'CampaignXYZ'.", - "title": "Duplicate Error" - } \ No newline at end of file diff --git a/apis/pricing/campaigns/Traits/CampaignNotFoundExceptionTrait.raml b/apis/pricing/campaigns/Traits/CampaignNotFoundExceptionTrait.raml deleted file mode 100644 index d5c6afa6..00000000 --- a/apis/pricing/campaigns/Traits/CampaignNotFoundExceptionTrait.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in the Data Campaigns API. -responses: - 404: - description: - Thrown when there is no campaign found with the given ID for the requested site. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/campaign-not-found", - "detail": "No campaign with ID 'SpecialCampaign' in site 'SiteGenesis' could be found.", - "title": "Not Found Error" - } \ No newline at end of file diff --git a/apis/pricing/campaigns/Traits/IdConflictExceptionTrait.raml b/apis/pricing/campaigns/Traits/IdConflictExceptionTrait.raml deleted file mode 100644 index 1ec2a02d..00000000 --- a/apis/pricing/campaigns/Traits/IdConflictExceptionTrait.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response for an ID conflict for campaign in the Data Campaigns API. -responses: - 400: - description: - Thrown if the ID in request is not the same as the ID in document. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/id-conflict", - "detail": "The ID in the request body ('CampaignXYZ') doesn't match the ID in the URL ('NewWinterCampaign')", - "title": "Duplicate Error" - } \ No newline at end of file diff --git a/apis/pricing/campaigns/campaigns-description.md b/apis/pricing/campaigns/campaigns-description.md deleted file mode 100644 index 4d8d207f..00000000 --- a/apis/pricing/campaigns/campaigns-description.md +++ /dev/null @@ -1,49 +0,0 @@ -# API Overview - -Campaigns enable experiences based on an optional schedule and qualifying criteria. -When an experience is assigned to a campaign, the schedule and qualifiers can only refine those of the containing campaign. A campaign is defined in the context of a site and is not shared among sites. A campaign can be enabled or disabled. A disabled campaign is inactive and not available to consumers. Enabled promotions contained within a disabled campaign are also inactive. - -## Qualifiers - -Qualifiers are requirements that must be met to enable a campaign's experience. - -- Schedule: A start and end time and date. This can be open ended at one or both ends. -- Coupon: A coupon -- Customer Group: Membership in a customer group. -- Source Code: A code attached to the site URL used to identify where the customer was redirected from. - -For more details, see [Qualifiers](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_qualifiers.html) on the Salesforce B2C Commerce Infocenter. - -## Experiences - -Promotion: A monetary discount or bonus item. Promotions can have additional criteria such as quantity or number of products gating the discount. - -## Authentication & Authorization - -The client requesting the campaign information must have access to the Campaign resource. The API requests pass a bearer token in the header of the request. The client must first authenticate against Account Manager to log in. - -You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Flash Sales - -Single date promotions can be used when you want to run a campaign only for a short period of time. -For example, a '20% Off Black Friday' campaign enables a 20% off promotion for registered customers on Black Friday. - -### No Date or Time Restrictions - -Promotions can also be configured with no time or date restrictions. This is useful when running coupon-coded promotions, or qualifier based promotions that require certain criteria to be met. -For example, a 'Free Shipping' campaign enables a free shipping promotion when the coupon code "freeship" is added to the cart. - -### Redirections - -Redirection promotions can be used to trigger a promotion when a customer arrives at the storefront from a specific location. You may want to use this when partnering with other resources or running external advertisements. -For example, all users directed from Facebook receive a free hat with purchase. -For more information, see [Use Source Codes as Qualifiers](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_using_source_codesas_qualifiers.html) in the Salesforce B2C Commerce Infocenter. - -## Resources - -### Campaign - -Details of the campaign including the schedule, qualifiers, and experiences. \ No newline at end of file diff --git a/apis/pricing/campaigns/campaigns-traits-library.raml b/apis/pricing/campaigns/campaigns-traits-library.raml deleted file mode 100644 index c343b1f7..00000000 --- a/apis/pricing/campaigns/campaigns-traits-library.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml -types: - ErrorResponse: ApiStandards.ErrorResponse - -traits: - CampaignDuplicate: !include Traits/CampaignDuplicateExceptionTrait.raml - CampaignNotFound: !include Traits/CampaignNotFoundExceptionTrait.raml - IdConflict: !include Traits/IdConflictExceptionTrait.raml \ No newline at end of file diff --git a/apis/pricing/campaigns/campaigns.raml b/apis/pricing/campaigns/campaigns.raml deleted file mode 100644 index 89fa50ce..00000000 --- a/apis/pricing/campaigns/campaigns.raml +++ /dev/null @@ -1,214 +0,0 @@ -#%RAML 1.0 -title: Campaigns -version: v1 -protocols: https -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/pricing/campaigns/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -description: !include campaigns-description.md - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - CampaignsTraits: campaigns-traits-library.raml - -types: - CampaignSearchResult: - description: Document representing a campaign search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of campaign search hits. Can be empty. - type: Campaign[] - Campaign: - description: |- - Document representing a campaign. - type: - CommerceCloudStandards.OpenObject - properties: - campaignId: - description: The ID of the campaign. - maxLength: 256 - minLength: 1 - type: string - required: false - example: NewYearCampaign - coupons: - description: The array of assigned coupon IDs, not sorted. - type: array - items: - type: string - example: - - 20%offOrder - - 10%offWelcomeNewUser - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - example: 2019-10-03T19:36:56.000Z - required: false - customerGroups: - description: The array of assigned customer groups, not sorted. - type: array - items: - type: string - example: - - BigShoppers - - NorthAmericanShoppers - required: false - description: - description: The description of the campaign. - maxLength: 4000 - type: string - required: false - enabled: - description: The enabled flag for campaign. - type: boolean - example: true - required: false - endDate: - description: The date the scenario ends. - type: datetime - required: false - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - example: 2019-10-03T19:36:56.000Z - required: false - sourceCodeGroups: - description: The array of assigned source code groups, not sorted. - type: array - items: - type: string - example: - - affiliate-email - - gaming-email - required: false - startDate: - description: The date the scenario begins. - type: datetime - example: 2019-10-03T19:36:56.000Z - required: false - siteId?: CommerceCloudStandards.SiteId -'/organizations/{organizationId}/campaigns': - type: CommerceCloudStandards.Organization - is: - - CommerceCloudStandards.SiteSpecific - post: - description: |- - Searches for campaigns using a search request object that allows filtering on various attributes. - - ## Supported Query Attributes - - The query attribute specifies a complex query that can be used to narrow down the search. A subset of these can optionally be used to sort the returned results. - - | Attribute | Type | Sortable | - |-----------|--------|----------| - | campaignId | String | yes | - | description | String | yes | - | enabled | Boolean | yes | - | couponId | String | no | - | customerGroup | String | no | - | sourceCode | String | no | - | startDate | Date | no | - | endDate | Date | no | - | lastModified | Date | no | - - These fields can only be used in queries as conjunctions (using `AND`). If the field is used in a disjunction (`OR`), an exception is thrown. - displayName: campaignsSearch - responses: - '200': - description: API Executed Successfully. - body: - application/json: - type: CampaignSearchResult - examples: !include Examples/post_campaign_search_200.raml - '400': - description: Thrown if the query is ill-formed. - body: - application/json: - type: ApiStandards.ErrorResponse - examples: - !include Examples/post_campaign_search_400.raml - body: - application/json: - type: CommerceCloudStandards.SearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - '/{campaignId}': - uriParameters: - campaignId: - description: The ID of the campaign. - minLength: 1 - type: string - example: ThanksGivingCampaign - is: - - CommerceCloudStandards.SiteSpecific - delete: - description: Deletes the campaign by ID. - displayName: deleteCampaign - responses: - '204': - description: Campaign deleted successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - get: - description: Action to get campaign information. - displayName: getCampaign - is: - - CampaignsTraits.CampaignNotFound - responses: - '200': - description: Campaign is retrieved successfully. - body: - application/json: - type: Campaign - examples: - campaignGetResponse: !include Examples/get-campaign-example.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - patch: - description: Updates the campaign with the specified information. - displayName: updateCampaign - is: - - CampaignsTraits.CampaignNotFound - - CampaignsTraits.CampaignDuplicate - responses: - '200': - description: Campaign is updated successfully. - body: - application/json: - type: Campaign - examples: - campaignPatchResponse: !include Examples/patch-campaign-response.raml - body: - application/json: - type: Campaign - examples: - campaignPatchRequest: !include Examples/patch-campaign-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - put: - description: Creates a campaign using the information provided. - displayName: createCampaign - is: - - CampaignsTraits.IdConflict - responses: - '200': - description: Campaign is created successfully. - body: - application/json: - type: Campaign - examples: - campaignPutResponse: !include Examples/put-campaign-response.raml - body: - application/json: - type: Campaign - examples: - campaignPutRequest: !include Examples/put-campaign-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } diff --git a/apis/pricing/campaigns/exchange.json b/apis/pricing/campaigns/exchange.json deleted file mode 100644 index c88f93f9..00000000 --- a/apis/pricing/campaigns/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.28", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "campaigns.raml", - "backwardsCompatible": false, - "assetId": "campaigns", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Campaigns", - "tags": [] -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/pricing/coupons/.metadata.json b/apis/pricing/coupons/.metadata.json deleted file mode 100644 index 195de24b..00000000 --- a/apis/pricing/coupons/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/coupons/1.0.30", - "name": "Coupons", - "description": "Manage coupons for use in your storefront.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "coupons", - "version": "1.0.30", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/pricing/coupons/Examples/coupon_codes_data_example.raml b/apis/pricing/coupons/Examples/coupon_codes_data_example.raml deleted file mode 100644 index 13113d3f..00000000 --- a/apis/pricing/coupons/Examples/coupon_codes_data_example.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - { - "code": "Code1", - "issued": false, - "redemptionCount": 0 - } - ] \ No newline at end of file diff --git a/apis/pricing/coupons/Examples/coupons_data_example.raml b/apis/pricing/coupons/Examples/coupons_data_example.raml deleted file mode 100644 index a9925206..00000000 --- a/apis/pricing/coupons/Examples/coupons_data_example.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - { - "couponId":"CouponA", - "creationDate":"2019-10-25T12:00:00Z", - "description":"A Coupon", - "enabled":false, - "exportedCodeCount":0, - "lastModified":"2019-10-25T12:00:00Z", - "redemptionCount":0, - "redemptionLimits":{ - "limitPerCode":0, - "limitPerCustomer":0, - "limitPerTimeFrame":{ - "redemptionTimeFrame":0, - "limit":0 - } - }, - "singleCode":"MyCode", - "totalCodesCount":1, - "type":"single_code" - } - ] \ No newline at end of file diff --git a/apis/pricing/coupons/Examples/get_sites_siteid_coupons_couponid_codes.raml b/apis/pricing/coupons/Examples/get_sites_siteid_coupons_couponid_codes.raml deleted file mode 100644 index b76b8806..00000000 --- a/apis/pricing/coupons/Examples/get_sites_siteid_coupons_couponid_codes.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 3, - "offset": 0, - "total": 50, - "data": [ - { - "code": "CodeA", - "issued": false, - "redemptionCount": 0 - }, - { - "code": "CodeB", - "issued": false, - "redemptionCount": 0 - }, - { - "code": "CodeC", - "issued": false, - "redemptionCount": 0 - } - ] - } \ No newline at end of file diff --git a/apis/pricing/coupons/Examples/patch_sites_siteid_coupons_couponid_400.raml b/apis/pricing/coupons/Examples/patch_sites_siteid_coupons_couponid_400.raml deleted file mode 100644 index 19a8b7df..00000000 --- a/apis/pricing/coupons/Examples/patch_sites_siteid_coupons_couponid_400.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-update-read-only", - "title": "Coupon Update Read Only", - "detail": "The coupon field 'system_codes_config/coupon_code_prefix' in coupon 'foo' can't be updated. Once a coupon is redeemed or exported, certain fields can no longer be edited.", - "couponId": "foo", - "field": "system_codes_config/coupon_code_prefix" -} \ No newline at end of file diff --git a/apis/pricing/coupons/Examples/patch_sites_siteid_coupons_couponid_403.raml b/apis/pricing/coupons/Examples/patch_sites_siteid_coupons_couponid_403.raml deleted file mode 100644 index 7dd4238b..00000000 --- a/apis/pricing/coupons/Examples/patch_sites_siteid_coupons_couponid_403.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-legacy-update-forbidden", - "title": "Coupon Legacy Update Forbidden", - "detail": "The coupon 'foo' can't be modified because it was created before Release 16.7.2. Customers can still redeem this coupon code on the Storefront.", - "couponId": "foo" - } \ No newline at end of file diff --git a/apis/pricing/coupons/Examples/post_sites_siteid_coupons_actions_redeem_400.raml b/apis/pricing/coupons/Examples/post_sites_siteid_coupons_actions_redeem_400.raml deleted file mode 100644 index 255de868..00000000 --- a/apis/pricing/coupons/Examples/post_sites_siteid_coupons_actions_redeem_400.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-code-not-redeemable", - "title": "Coupon Code Not Redeemable", - "detail": "The coupon code 'CODE374' in site 'RefArch' is not redeemable because 'COUPON_DISABLED'.", - "errorCode": "COUPON_DISABLED", - "couponCode": "CODE374", - "siteId": "RefArch" - } \ No newline at end of file diff --git a/apis/pricing/coupons/Examples/post_sites_siteid_coupons_actions_redeem_404.raml b/apis/pricing/coupons/Examples/post_sites_siteid_coupons_actions_redeem_404.raml deleted file mode 100644 index 92678941..00000000 --- a/apis/pricing/coupons/Examples/post_sites_siteid_coupons_actions_redeem_404.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-not-found", - "title": "Coupon Not Found", - "detail": "No coupon for the given coupon code 'CODE374' and site 'RefArch' could be found.", - "couponCode": "CODE374", - "siteId": "RefArch" - } \ No newline at end of file diff --git a/apis/pricing/coupons/Examples/post_sites_siteid_coupons_couponid_codes_400.raml b/apis/pricing/coupons/Examples/post_sites_siteid_coupons_couponid_codes_400.raml deleted file mode 100644 index 3a550b1f..00000000 --- a/apis/pricing/coupons/Examples/post_sites_siteid_coupons_couponid_codes_400.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-code-create", - "title": "Coupon Code Create", - "detail": "The coupon code 'bar' couldn't be created. Please make sure the code is valid.", - "couponCode": "bar" - } \ No newline at end of file diff --git a/apis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid.raml b/apis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid.raml deleted file mode 100644 index 4fec6a01..00000000 --- a/apis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.\n", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 0, - "limitPerCustomer": 0, - "limitPerTimeFrame": { - "redemptionTimeFrame": 24, - "limit": 1 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 50000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - \ No newline at end of file diff --git a/apis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid_400.raml b/apis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid_400.raml deleted file mode 100644 index cef3c08c..00000000 --- a/apis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid_400.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-code-duplicate", - "title": "Coupon Code Duplicate", - "detail": "The coupon code 'bar' is already used in coupon 'foo'. Please make sure the code is unique.", - "couponId": "foo", - "couponCode": "bar" - } \ No newline at end of file diff --git a/apis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid_403.raml b/apis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid_403.raml deleted file mode 100644 index 8897649b..00000000 --- a/apis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid_403.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/site-access-forbidden", - "title": "Site Access Forbidden", - "detail": "Site-specific access via '/s/RefArch/' isn't allowed. Organization-specific access is expected via '/s/-/'.", - "siteId": "RefArch" - } \ No newline at end of file diff --git a/apis/pricing/coupons/Examples/redeem_coupon_code.raml b/apis/pricing/coupons/Examples/redeem_coupon_code.raml deleted file mode 100644 index 1d9642e7..00000000 --- a/apis/pricing/coupons/Examples/redeem_coupon_code.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "code": "Code1", - "customerEmail": "shopper@salesforce-test.com", - "orderNo": "00023120@store4" - } - \ No newline at end of file diff --git a/apis/pricing/coupons/Traits/CouponNotFound.raml b/apis/pricing/coupons/Traits/CouponNotFound.raml deleted file mode 100644 index 8fb66d30..00000000 --- a/apis/pricing/coupons/Traits/CouponNotFound.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in the Data Coupons API. - -responses: - 404: - description: | - Thrown if the coupon does not exist matching the given ID. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-not-found", - "title": "Coupon Not Found", - "detail": "No coupon with ID 'foo' for site 'RefArch' could be found.", - "couponId": "foo", - "siteId": "RefArch" - } diff --git a/apis/pricing/coupons/coupons-description.md b/apis/pricing/coupons/coupons-description.md deleted file mode 100644 index f8c25234..00000000 --- a/apis/pricing/coupons/coupons-description.md +++ /dev/null @@ -1,43 +0,0 @@ -# API Overview - -The Coupons API lets you create, modify, retrieve, and delete coupons for a given channel. It also allows you to create and retrieve coupon codes by the couponID. - -Coupons _must_ be added as a qualifier to a campaign before they can be used. - -For more information, see [Using Coupons as Qualifiers](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Promotions/UsingCouponsasQualifiers.html) in the Salesforce B2C Commerce Infocenter. - -## Authentication & Authorization - -The client requesting the coupon's information must have access to the Coupon resource. The API requests pass a bearer token in the header of the request. The client must first authenticate against Account manager to log in. - -You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Single-Use Coupon - -Single-use coupons are your standard coupon that can only be used once per customer. - -For example, use the Coupons API to create a coupon that can be applied only once per order per customer and has a single coupon code. - -### Multiple-Use Coupon - -A multiple-use coupon can be used any number of times, by any number of customers. - -For example, use the Coupons API to create a coupon that can be applied once per order and has system-generated codes. - -### Search Coupon - -Use the Coupons API to search for coupons using simple or complex querying. - -### Search Coupon Redemptions - -Use the Coupons API to search for coupons redemptions using simple or complex querying. - -For more detail, see [Coupon Redemption](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Coupons/CouponRedemption.html) in the Salesforce B2C Commerce Infocenter. - -## Resources - -### Coupons - -Details of the coupon including redemption limit, redemption count, and the type of the coupon. \ No newline at end of file diff --git a/apis/pricing/coupons/coupons-traits-library.raml b/apis/pricing/coupons/coupons-traits-library.raml deleted file mode 100644 index c96329f7..00000000 --- a/apis/pricing/coupons/coupons-traits-library.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 Library -usage: Traits for fault responses for the Data Coupons - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -traits: - CouponNotFound: !include Traits/CouponNotFound.raml \ No newline at end of file diff --git a/apis/pricing/coupons/coupons.raml b/apis/pricing/coupons/coupons.raml deleted file mode 100644 index da6ca484..00000000 --- a/apis/pricing/coupons/coupons.raml +++ /dev/null @@ -1,524 +0,0 @@ -#%RAML 1.0 -title: Coupons -version: v1 -protocols: - - HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/pricing/coupons/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include coupons-description.md -mediaType: application/json - -uses: - CouponTraits: coupons-traits-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Coupon: - description: |- - Document representing a coupon. - type: - CommerceCloudStandards.ClosedObject - properties: - couponId: - description: The ID of the coupon. - maxLength: 256 - minLength: 1 - type: string - example: MyCoupon - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - example: 2019-10-20T12:00:00Z - required: false - description: - description: The description of the coupon. - maxLength: 4000 - type: string - required: false - example: | - This coupon is used to give 10% off stuff. - enabled: - description: A flag indicating whether the coupon is enabled. - type: boolean - example: false - exportedCodeCount: - description: The number of coupon codes attached to the coupon that have been issued (read only). - type: integer - format: int32 - example: - 0 - required: false - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - example: 2019-10-30T04:23:59Z - required: false - redemptionCount: - description: The number of times the coupon has been redeemed (read only). The count is updated once per hour. - type: integer - format: int32 - example: 3 - required: false - redemptionLimits: - description: The redemption limit per coupon code. - type: RedemptionLimits - required: false - example: - limitPerCode: 1 - limitPerCustomer: 1 - limitPerTimeFrame: - limit: 2 - redemptionTimeFrame: 24 - singleCode: - description: Single coupon code, only valid for Single Code type. - maxLength: 256 - minLength: 1 - type: string - required: false - example: MyCode - systemCodesConfig: - description: The configuration of system coupon codes, including prefix and number of codes. - type: CouponSystemCodeConfig - required: false - example: - codePrefix: SG - numberOfCodes: 500000 - totalCodesCount: - description: The total number of coupon codes associated with this coupon (read only). The count is updated once per hour. - type: integer - format: int32 - required: false - example: 50 - type: - description: The type of coupon code. - type: string - enum: - - single_code - - multiple_codes - - system_codes - example: single_code - CouponCode: - description: |- - A coupon code with accompanying stats for redemptions and issues. - type: - CommerceCloudStandards.ClosedObject - properties: - code: - description: The code used to redeem the coupon. - type: string - example: MyCode - issued: - description: Flag indicating if the coupon code has been issued. - type: boolean - example: true - redemptionCount: - description: The count of the number of redemptions associated with the code. - type: integer - format: int32 - example: 1 - CouponCodes: - description: |- - Document representing a set of coupon codes. - type: - CommerceCloudStandards.ClosedObject - properties: - limit?: ApiStandards.Limit - data: - description: The collection of coupon codes. - type: array - example: !include Examples/coupon_codes_data_example.raml - items: - type: CouponCode - offset?: ApiStandards.Offset - total: - description: The total number of documents. - type: integer - format: int32 - example: 50 - CouponMultiCodesRequest: - description: |- - A request object to add and remove coupon codes from a document. - type: - CommerceCloudStandards.ClosedObject - properties: - codes: - description: The list of coupon codes to add or delete. - type: array - example: ["CodeA","CodeB"] - items: - type: string - CouponSystemCodeConfig: - type: - CommerceCloudStandards.ClosedObject - properties: - codePrefix: - description: The code prefix for system-generated coupon codes. - type: string - example: "SG" - numberOfCodes: - description: The number of system coupon codes that can be issued. - type: integer - format: int32 - example: 50000 - RedemptionLimitPerPeriod: - description: |- - Document representing a coupon redemption limit. - type: - CommerceCloudStandards.ClosedObject - properties: - limit: - description: The limit on the number of times a coupon can be redeemed for a specified redemption time period. - minimum: 0 - type: integer - format: int32 - example: 1 - redemptionTimeFrame: - description: The redemption time period. - maximum: 999 - minimum: 0 - type: integer - format: int32 - example: 24 - RedemptionLimits: - description: |- - Document representing a coupon. - type: - CommerceCloudStandards.ClosedObject - properties: - limitPerCode: - description: The redemption limit per code. - minimum: 0 - type: integer - format: int32 - example: 0 - limitPerCustomer: - description: The redemption limit per customer. - minimum: 0 - type: integer - format: int32 - example: 0 - limitPerTimeFrame: - description: The redemption limit per time frame. - type: RedemptionLimitPerPeriod - example: - redemptionTimeFrame: 24 - limit: 1 - CouponRedemption: - description: |- - A redemption record returned from the coupon redemption resources. - type: - CommerceCloudStandards.ClosedObject - properties: - code: - description: The coupon code that was redeemed. - type: string - couponId: - description: The coupon id that was redeemed. - type: string - creationDate: - description: Date when the redemption was created. - type: datetime - customerEmail: - description: The customer email that was used to redeem it. - type: string - orderNo: - description: The order number where the redemption occurred. - type: string - viewOrderUrl: - description: A URL able to access the order. - type: string - CouponSearchResult: - description: Document representing a coupon search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of coupon search hits. Can be empty. - type: Coupon[] - CouponRedemptionSearchResult: - description: The result of the coupon redemption search. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The array of coupon redemption search hits. Can be empty. - type: CouponRedemption[] - CouponCodeRedemptionRequest: - description: |- - Document representing a request to redeem a coupon. - type: - CommerceCloudStandards.ClosedObject - properties: - code: - description: The coupon code to redeem. - type: string - example: Code1 - customerEmail?: - description: The customer email to use on the redemption. - type: string - example: shopper@salesforce-test.com - orderNo: - description: | - The order number to use on the redemption. In case the coupon - was redeemed externally and no order number is associated, use - a reference id or custom string to identify the source of the - redemption. - type: string - example: 00023120@store4 - -'/organizations/{organizationId}/coupons': - type: CommerceCloudStandards.Organization - is: - - CommerceCloudStandards.SiteSpecific - post: - description: |- - Searches for coupons. - - The Coupon Search document contains a search object that allows filtering on various attributes. - - The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: - - | Attribute | Type | - |-----------|--------| - | couponId| String | - | description | String | - | type | one of {"single_code", "multiple_codes", "system_codes"} | - | enabled | Boolean | - - Note that only searchable attributes can be used in sorting. - displayName: couponsSearch - responses: - '200': - description: API executed Successfully. - body: - application/json: - type: CouponSearchResult - '400': - description: Thrown if the query is ill-formed. - body: - application/json: - type: CommerceCloudStandards.SearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - '/redemptions': - is: - - CommerceCloudStandards.SiteSpecific - post: - description: |- - Searches for coupon redemptions. - - The Coupon Redemption Search document contains a search object that allows filtering on various attributes. - - - The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: - - | Attribute | Type | - |-----------|--------| - | code| String | - | couponId | String | - | customerEmail | String | - | orderNo | String | - - Note that only searchable attributes can be used in sorting. - - If the user role does not have the `View_Coupon_Codes` permission, then the coupon codes returned are masked. - displayName: couponRedemptionsSearch - responses: - '200': - description: API executed Successfully. - body: - application/json: - type: CouponRedemptionSearchResult - '400': - description: Thrown if the query is ill-formed. - body: - application/json: - type: CommerceCloudStandards.SearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - '/actions/redeem': - is: - - CommerceCloudStandards.SiteSpecific - post: - description: |- - Redeems a coupon code for an existing coupon within the selected site. - The coupon code must be redeemable. - --- - ***Note: Coupon redemptions are evaluated during checkout. A large number of coupon redemptions negatively impacts order creation performance and scale.*** - 1. Avoid importing unnecessary coupon redemptions. - 2. Clean up coupon codes and related redemptions when they are no longer required. - --- - displayName: redeemCoupon - body: - application/json: - type: CouponCodeRedemptionRequest - example: !include Examples/redeem_coupon_code.raml - responses: - '201': - description: | - Coupon was redeemed successfully and a redemption record created. - '400': - description: | - Thrown if the coupon code can not redeemed, e.g. disabled, - already redeemed, redemption limit (maximum number or timeframe) - exceeded or it has no active promotion assigned. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/post_sites_siteid_coupons_actions_redeem_400.raml - '404': - description: | - Thrown if the site does not contain a coupon, which - defines the coupon code requested to be redeemed. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/post_sites_siteid_coupons_actions_redeem_404.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - '/{couponId}': - is: - - CommerceCloudStandards.SiteSpecific - delete: - description: Delete a coupon by ID. - displayName: deleteCoupon - responses: - '204': - description: API returned successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - get: - description: |- - Returns coupon information for the given coupon ID. - If the user role does not have the View_Coupon_Codes permission, then the coupon codes returned are masked. - displayName: getCoupon - is: - - CouponTraits.CouponNotFound - responses: - '200': - description: API returned successfully. - body: - application/json: - type: Coupon - example: !include Examples/put_sites_siteid_coupons_couponid.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - patch: - description: Updates the coupon with the specified information. - displayName: updateCoupon - responses: - '200': - description: API returned successfully. - body: - application/json: - type: Coupon - example: !include Examples/put_sites_siteid_coupons_couponid.raml - '400': - description: |- - Thrown if you try to update certain fields in a coupon after - redeeming it, exporting it, if the code provided is in use by another coupon, or whenever a quota regarding system-generated coupons is violated. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/patch_sites_siteid_coupons_couponid_400.raml - '403': - description: Thrown when trying to update a broken coupon that should be deleted and re-created, or when trying to update a legacy coupon. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/patch_sites_siteid_coupons_couponid_403.raml - body: - application/json: - type: Coupon - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - put: - description: |- - Creates a coupon using the information provided. If a coupon exists with the same unique identifier, - the coupon is replaced completely. - displayName: createCoupon - responses: - '200': - description: API returned successfully. - body: - application/json: - type: Coupon - example: !include Examples/put_sites_siteid_coupons_couponid.raml - '400': - description: |- - Thrown if the coupon passed in is not valid (the argument indicates - the field that was invalid), if the code provided is in use by another coupon, if a single code coupon does not set the coupon code properly, if the ID in request is not the same as the ID in document, or whenever a quota regarding system-generated coupons is violated. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/put_sites_siteid_coupons_couponid_400.raml - '403': - description: Thrown if the resource requires global instead of site-specific context. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/put_sites_siteid_coupons_couponid_403.raml - body: - application/json: - type: Coupon - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - uriParameters: - couponId: - description: The ID of the coupon to create. - minLength: 1 - type: string - example: MyCoupon - '/codes': - is: - - CommerceCloudStandards.SiteSpecific - get: - description: |- - Get the coupon codes for the given coupon. - - If the user role does not have the View_Coupon_Codes permission, then the coupon codes returned are masked. - displayName: getCouponCodes - is: - - CouponTraits.CouponNotFound - - ApiStandards.OffsetPaginated: - maxLimit: 200 - defaultSize: 25 - responses: - '200': - description: API returned successfully. - body: - application/json: - type: CouponCodes - example: !include Examples/get_sites_siteid_coupons_couponid_codes.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - post: - description: Add or delete (modify) multiple codes to and from the supplied coupon. - displayName: updateCouponCodes - is: - - CouponTraits.CouponNotFound - responses: - '204': - description: API returned successfully. - '400': - description: Thrown if the coupon code could not be created. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/post_sites_siteid_coupons_couponid_codes_400.raml - queryParameters: - delete: - description: Pass as true to delete the passed codes. - type: boolean - default: false - required: false - example: true - body: - application/json: - type: CouponMultiCodesRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } \ No newline at end of file diff --git a/apis/pricing/coupons/exchange.json b/apis/pricing/coupons/exchange.json deleted file mode 100644 index 5b505603..00000000 --- a/apis/pricing/coupons/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.30", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "coupons.raml", - "backwardsCompatible": false, - "assetId": "coupons", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Coupons", - "tags": [] -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/.metadata.json b/apis/pricing/gift-certificates/.metadata.json deleted file mode 100644 index 1f0800ec..00000000 --- a/apis/pricing/gift-certificates/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/gift-certificates/1.0.30", - "name": "Gift Certificates", - "description": "Manage your gift certificates.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "gift-certificates", - "version": "1.0.30", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/pricing/gift-certificates/Examples/amount-example.raml b/apis/pricing/gift-certificates/Examples/amount-example.raml deleted file mode 100644 index ce1b848b..00000000 --- a/apis/pricing/gift-certificates/Examples/amount-example.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "currencyMnemonic" : "USD", - "value" : 100.00 - } \ No newline at end of file diff --git a/apis/pricing/gift-certificates/Examples/get-result-example.raml b/apis/pricing/gift-certificates/Examples/get-result-example.raml deleted file mode 100644 index b0838c3c..00000000 --- a/apis/pricing/gift-certificates/Examples/get-result-example.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "amount": { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "balance": { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "creationDate": "2015-07-31T14:56:38.936Z", - "description": "Birthday Gift", - "enabled": true, - "maskedGiftCertificateCode": "************LKWJ", - "merchantId": "NorthernTrailOutfitters", - "message": "A birthday gift for you", - "orderNo": "CA17293", - "recipientName": "John Doe", - "recipientEmail": "john.doe@gmail.com", - "senderName": "Jane Doe", - "status": "issued", - "transactions": [ - { - "amount": { - "currencyMnemonic": "EUR", - "value": 80.00 - }, - "orderNo": "CA17293", - "timestamp": "2015-09-09T17:16:12.066Z", - "typeCode": "create" - } - ] -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/Examples/get-results-example.raml b/apis/pricing/gift-certificates/Examples/get-results-example.raml deleted file mode 100644 index bb2d539f..00000000 --- a/apis/pricing/gift-certificates/Examples/get-results-example.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "limit": 3, - "hits": [ - { - "amount": - { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "balance": - { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "creationDate": "2015-07-31T15:10:25.192Z", - "description": "Birthday Gift", - "enabled": true, - "maskedGiftCertificateCode": "************HHHZ", - "merchantId": "NorthernTrailOutfitters", - "orderNo": "CA17293", - "status": "pending", - "transactions": [ - { - "amount": - { - "currencyMnemonic": "EUR", - "value": 80.00 - }, - "orderNo": "CA17293", - "timestamp": "2015-01-09T17:16:12.066Z", - "typeCode": "create" - } - ] - }, - { - "amount": - { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "balance": - { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "creationDate": "2015-07-31T15:03:21.988Z", - "enabled": true, - "maskedGiftCertificateCode": "************DOIZ", - "merchantId": "my-merchant_id", - "orderNo": "00000002", - "status": "pending", - "transactions": - [ - { - "amount": - { - "currencyMnemonic": "EUR", - "value": 80.00 - }, - "orderNo": "00000002", - "timestamp": "2015-02-09T17:16:12.066Z", - "typeCode": "create" - } - ] - }, - { - "amount": - { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "balance": - { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "creationDate": "2015-07-31T15:10:00.659Z", - "description": "Promotion Gift", - "enabled": true, - "maskedGiftCertificateCode": "************GSPZ", - "merchantId": "NorthernTrailOutfitters", - "orderNo": "00000003", - "status": "pending", - "transactions": - [ - { - "amount": - { - "currencyMnemonic": "EUR", - "value": 80.00 - }, - "orderNo": "00000003", - "timestamp": "2015-09-09T17:16:12.066Z", - "typeCode": "create" - } - ] - } - ], - "query": { - "TextQuery": - { - "fields": - [ - "status" - ], - "searchPhrase": "pending" - } - }, - "select": "(**)", - "offset": 0, - "total": 3 -} diff --git a/apis/pricing/gift-certificates/Examples/gift-certificate-create-example.raml b/apis/pricing/gift-certificates/Examples/gift-certificate-create-example.raml deleted file mode 100644 index 5b48368d..00000000 --- a/apis/pricing/gift-certificates/Examples/gift-certificate-create-example.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount": {"currencyMnemonic": "USD", "value": 1000}, - "description" : "Birthday gift", - "message" : "A birthday present to you", - "senderName" : "Jane Doe", - "recipientName" : "John Doe", - "recipientEmail" : "john.doe@gmail.com", - "status" : "issued", - "orderNo" : "CA17293", - "enabled" : false -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/Examples/gift-certificate-create-success-example.raml b/apis/pricing/gift-certificates/Examples/gift-certificate-create-success-example.raml deleted file mode 100644 index 40359705..00000000 --- a/apis/pricing/gift-certificates/Examples/gift-certificate-create-success-example.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "amount": { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "balance": { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "creationDate": "2015-07-31T14:36:17.544Z", - "description": "Birthday gift", - "enabled": false, - "maskedGiftCertificateCode": "************KTIP", - "merchantId": "NorthernTrailOutfitters", - "message": "A birthday gift for you", - "orderNo": "CA17293", - "recipientName": "John Doe", - "recipientEmail": "john.doe@gmail.com", - "senderName": "Jane Doe", - "status": "issued", - "transactions": [ - { - "amount": { - "currencyMnemonic": "EUR", - "value": 80.00 - }, - "orderNo": "my-order_no", - "timestamp": "2015-09-09T17:16:12.066Z", - "typeCode": "create" - } - ] -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/Examples/gift-certificate-update-example.raml b/apis/pricing/gift-certificates/Examples/gift-certificate-update-example.raml deleted file mode 100644 index 2ce8e821..00000000 --- a/apis/pricing/gift-certificates/Examples/gift-certificate-update-example.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "description": "Birthday Gift", - "enabled": false, - "message": "A birthday gift for you", - "recipientEmail": "john.doe@gmail.com", - "recipientName": "John Doe", - "senderName": "Jane Doe", - "status": "pending" -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/Examples/gift-certificate-update-success-example.raml b/apis/pricing/gift-certificates/Examples/gift-certificate-update-success-example.raml deleted file mode 100644 index 373433c6..00000000 --- a/apis/pricing/gift-certificates/Examples/gift-certificate-update-success-example.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "amount": { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "balance": { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "creationDate": "2015-07-31T15:05:52.311Z", - "description": "Birthday Gift", - "enabled": false, - "maskedGiftCertificateCode": "***********cate", - "merchantId": "NorthernTrailOutfitters", - "message": "A birthday gift for you", - "orderNo": "CA17293", - "recipientEmail": "john.doe@gmail.com", - "recipientName": "John Doe", - "senderName": "Jane Doe", - "status": "pending", - "transactions": [ - { - "amount": { - "currencyMnemonic": "EUR", - "value": 80.00 - }, - "orderNo": "CA17293", - "timestamp": "2015-09-09T17:16:12.066Z", - "typeCode": "create" - } - ] -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/Examples/gift-certificates-data-example.raml b/apis/pricing/gift-certificates/Examples/gift-certificates-data-example.raml deleted file mode 100644 index 3a624d82..00000000 --- a/apis/pricing/gift-certificates/Examples/gift-certificates-data-example.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - { - "amount": { - "currencyMnemonic": "USD", - "value": 1000.00 - }, - "balance": { - "currencyMnemonic": "USD", - "value": 1000.00 - }, - "creationDate": "2020-01-10T21:31:49.242Z", - "description": "Birthday Gift", - "enabled": false, - "lastModified": "2020-01-10T21:31:49.246Z", - "maskedGiftCertificateCode": "************KHAL", - "merchantId": "00001001", - "message": "A birthday gift for you", - "orderNo": "CA17293", - "recipientEmail": "john.doe@gmail.com", - "recipientName": "John Doe", - "senderName": "Jane Doe", - "status": "issued", - "transactions": [ - { - "amount": { - "currencyMnemonic": "USD", - "value": 1000.00 - }, - "orderNo": "CA17293", - "timestamp": "2020-01-10T21:31:49.244Z", - "typeCode": "create" - } - ] - } - ] \ No newline at end of file diff --git a/apis/pricing/gift-certificates/Traits/GiftCertificateAmountOutOfRangeException.raml b/apis/pricing/gift-certificates/Traits/GiftCertificateAmountOutOfRangeException.raml deleted file mode 100644 index 3b4c8085..00000000 --- a/apis/pricing/gift-certificates/Traits/GiftCertificateAmountOutOfRangeException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Data Gift Certificate API. -responses: - 400: - description: - Thrown if the amount passed is out of range. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/amount-out-of-range", - "title": "Gift Certificate Amount Out Of Range Exception", - "detail": "Amount provided is out of range." - } \ No newline at end of file diff --git a/apis/pricing/gift-certificates/Traits/GiftCertificateCreateMerchantIdNotUniqueException.raml b/apis/pricing/gift-certificates/Traits/GiftCertificateCreateMerchantIdNotUniqueException.raml deleted file mode 100644 index 8962bc29..00000000 --- a/apis/pricing/gift-certificates/Traits/GiftCertificateCreateMerchantIdNotUniqueException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Data Gift Certificate API. -responses: - 400: - description: - Thrown if the merchant ID is not unique. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/merchant-id-not-unique", - "title": "Gift Certificate Create Merchant Id Not Unique Exception", - "detail": "Merchant id is not unique." - } \ No newline at end of file diff --git a/apis/pricing/gift-certificates/Traits/GiftCertificateNotFoundException.raml b/apis/pricing/gift-certificates/Traits/GiftCertificateNotFoundException.raml deleted file mode 100644 index d7123dc5..00000000 --- a/apis/pricing/gift-certificates/Traits/GiftCertificateNotFoundException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in the Data Gift Certificate API. -responses: - 404: - description: - Thrown in case the gift certificate does not exist matching the given merchant ID. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found", - "title": "Gift Certificate Not Found Exception", - "detail": "No gift certificate with merchant ID 'my-merchant_id' for site 'TestWapi' was found." - } \ No newline at end of file diff --git a/apis/pricing/gift-certificates/Traits/InvalidGiftCertificateException.raml b/apis/pricing/gift-certificates/Traits/InvalidGiftCertificateException.raml deleted file mode 100644 index 8bc17257..00000000 --- a/apis/pricing/gift-certificates/Traits/InvalidGiftCertificateException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Data Gift Certificate API. -responses: - 400: - description: - Thrown if the gift certificate passed in is not valid (the argument indicates the field that was invalid). - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid", - "title": "Invalid Gift Certificate Exception", - "detail": "Invlaid gift certificate provided" - } \ No newline at end of file diff --git a/apis/pricing/gift-certificates/Traits/InvalidGiftCertificateStatusException.raml b/apis/pricing/gift-certificates/Traits/InvalidGiftCertificateStatusException.raml deleted file mode 100644 index 2c648f12..00000000 --- a/apis/pricing/gift-certificates/Traits/InvalidGiftCertificateStatusException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Data Gift Certificate API. -responses: - 400: - description: - Thrown if gift certificate status specified is invalid. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-status", - "title": "Invalid Gift Certificate Status Exception", - "detail": "Invlaid gift certificate status provided." - } \ No newline at end of file diff --git a/apis/pricing/gift-certificates/Traits/InvalidRecipientEmailException.raml b/apis/pricing/gift-certificates/Traits/InvalidRecipientEmailException.raml deleted file mode 100644 index 7a320222..00000000 --- a/apis/pricing/gift-certificates/Traits/InvalidRecipientEmailException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Data Gift Certificate API. -responses: - 400: - description: - Thrown if recipient email address is invalid. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-recipient-email", - "title": "Invalid Recipient Email Exception", - "detail": "Invalid recipient email ID provided." - } \ No newline at end of file diff --git a/apis/pricing/gift-certificates/Traits/MalformedSearchParameterException.raml b/apis/pricing/gift-certificates/Traits/MalformedSearchParameterException.raml deleted file mode 100644 index 223461c8..00000000 --- a/apis/pricing/gift-certificates/Traits/MalformedSearchParameterException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Gift Certificate Search API. -responses: - 400: - description: - Thrown if the query is ill-formed. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-search-parameter", - "title": "Malformed Search Parameter Exception", - "detail": "An error occurred while decoding the request, the body was 'malformed'." - } diff --git a/apis/pricing/gift-certificates/Traits/UnqueryableFieldException.raml b/apis/pricing/gift-certificates/Traits/UnqueryableFieldException.raml deleted file mode 100644 index 1deea6bf..00000000 --- a/apis/pricing/gift-certificates/Traits/UnqueryableFieldException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Gift Certificate Search API. -responses: - 400: - description: - Thrown if given query field is unqueryable. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unqueryable-field", - "title": "Unqueryable Field Exception", - "detail": "Given field cannot be queried. For example - The field 'link' is unqueryable." - } diff --git a/apis/pricing/gift-certificates/exchange.json b/apis/pricing/gift-certificates/exchange.json deleted file mode 100644 index 23e14b9a..00000000 --- a/apis/pricing/gift-certificates/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.30", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "gift-certificates.raml", - "backwardsCompatible": false, - "assetId": "gift-certificates", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Gift Certificates", - "tags": [] -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/pricing/gift-certificates/gift-certificate-traits-library.raml b/apis/pricing/gift-certificates/gift-certificate-traits-library.raml deleted file mode 100644 index e630d3e7..00000000 --- a/apis/pricing/gift-certificates/gift-certificate-traits-library.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -traits: - GiftCertificateNotFound: !include Traits/GiftCertificateNotFoundException.raml - InvalidGiftCertificateStatus: !include Traits/InvalidGiftCertificateStatusException.raml - InvalidRecipientEmail: !include Traits/InvalidRecipientEmailException.raml - InvalidGiftCertificateException: !include Traits/InvalidGiftCertificateException.raml - GiftCertificateAmountOutOfRangeException: !include Traits/GiftCertificateAmountOutOfRangeException.raml - GiftCertificateCreateMerchantIdNotUniqueException: !include Traits/GiftCertificateCreateMerchantIdNotUniqueException.raml - MalformedQuery: !include Traits/MalformedSearchParameterException.raml - UnqueryableField: !include Traits/UnqueryableFieldException.raml \ No newline at end of file diff --git a/apis/pricing/gift-certificates/gift-certificates-description.md b/apis/pricing/gift-certificates/gift-certificates-description.md deleted file mode 100644 index b2d87396..00000000 --- a/apis/pricing/gift-certificates/gift-certificates-description.md +++ /dev/null @@ -1,27 +0,0 @@ -# API Overview - -The Gift Certificates API lets you create, update, and delete gift certificates, and let your storefront customers purchase and redeem gift certificates. - -## Authentication & Authorization - -The client requesting the gift certificate information must have access to the Gift Certificates resource. The API requests pass a bearer token in the header of the request. The client must first authenticate against Account Manager to log in. - -You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Capture All Gift Certificates - -Use the Gift Certificates API to retrieve all gift certificates, with no filtering, under a site. - -### Capture Specific Gift Certificates - -Use the Gift Certificates API to retrieve a specific gift certificate, using merchant ID, for a site. - -### Create Site Specific Gift Certificates - -Use the Gift Certificates API to create and issue site specific gift certificate using information such as amount, description, status, recipient email, recipient name, sender name, etc. - -### Update Gift Certificates - -Use the Gift Certificates API to update a gift certificate, with the specified information, using merchant ID. diff --git a/apis/pricing/gift-certificates/gift-certificates.raml b/apis/pricing/gift-certificates/gift-certificates.raml deleted file mode 100644 index 2447b15d..00000000 --- a/apis/pricing/gift-certificates/gift-certificates.raml +++ /dev/null @@ -1,346 +0,0 @@ -#%RAML 1.0 -title: Gift Certificates -version: v1 -protocols: https -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/pricing/gift-certificates/{version} -baseUriParameters: - shortCode: - description: A customer region-specific identifier. - example: 0dnz6oep -description: !include gift-certificates-description.md -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - GiftCertificateTraits: gift-certificate-traits-library.raml -types: - AccountTransaction: - description: |- - Document representing an account transaction. - type: - CommerceCloudStandards.ClosedObject - properties: - amount: - description: The amount of the gift certificate. - type: Money - example: !include Examples/amount-example.raml - orderNo: - description: The order number of the gift certificate. - type: string - example: my-order-43128 - timestamp: - description: The timestamp of the transaction of the gift certificate. - type: datetime - example: 2020-01-08T20:54:56.641Z - typeCode: - description: The type code of the gift certificate. - type: string - enum: - - create - - redeem - - delete - - enable - - disable - example: redeem - GiftCertificate: - description: |- - Document representing a gift certificate. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate amount. - The user cannot change the gift certificate amount after the creation of the gift certificate. - type: Money - required: false - example: !include Examples/amount-example.raml - balance: - description: |- - The gift certificate balance. - This is a computed attribute and cannot be modified. - type: Money - required: false - example: !include Examples/amount-example.raml - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 2020-01-08T20:54:56.641Z - description: - description: The description of the gift certificate. - maxLength: 4000 - type: string - required: false - example: | - A gift certificate for birthday. - enabled: - description: The enabled flag of the gift certificate. - type: boolean - required: false - example: true - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 2020-01-08T20:54:56.641Z - maskedGiftCertificateCode: - description: Masked code. - type: string - required: false - example: "*******XQTY" - merchantId: - description: |- - The merchant ID of the gift certificate. - This is a unique attribute. - This is a computed attribute and cannot be modified. - This is used to get, update and the delete gift certificates. - type: string - required: false - example: | - Macy's1256489 - message: - description: The message to the recipient of the gift certificate. - maxLength: 4000 - type: string - required: false - example: | - This gift certificate is to be given as birthday present - orderNo: - description: The order number of the gift certificate. - type: string - required: false - example: | - MyOrder5421 - recipientEmail: - description: The email address of the recipient of the gift certificate. - type: string - required: false - example: | - my-recipient-email@gmail.com - recipientName: - description: The recipient of the gift certificate. - maxLength: 256 - type: string - required: false - example: | - Jane Doe - senderName: - description: The sender of the gift certificate. - maxLength: 256 - type: string - required: false - example: | - John Smith - status: - description: |- - The status of the gift certificate. - While creating a gift certificate, user can set the status - to either "pending" or "issued" only. - type: string - required: false - enum: - - issued - - partially_redeemed - - pending - - redeemed - example: issued - transactions: - description: The transactions of the gift certificate. - required: false - type: array - items: - type: AccountTransaction - example: | - [ - { - "amount": { - "currencyMnemonic": "USD", - "value": 1000 - }, - "orderNo": "my-test-order_no", - "timestamp": "2020-01-08T20:54:56.644Z", - "typeCode": "create" - } - ] - GiftCertificates: - description: |- - Document representing an unfiltered list of gift certificates. - type: - CommerceCloudStandards.ClosedObject - properties: - offset: ApiStandards.Offset - data: - description: The collection of gift certificates. - type: array - items: - type: GiftCertificate - required: false - example: !include Examples/gift-certificates-data-example.raml - limit: ApiStandards.Limit - total: - description: The total number of documents. - type: integer - format: int32 - required: false - example: 25 - GiftCertificateSearchResult: - description: |- - Document representing a gift certificate search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - type: GiftCertificate[] - Money: - type: - CommerceCloudStandards.ClosedObject - properties: - currencyMnemonic: - description: The mnemonic for the money. - type: string - example: $ - value: - description: The value for the money. - type: number - format: double - example: 100 - -/organizations/{organizationId}/gift-certificates: - type: CommerceCloudStandards.Organization - is: - - CommerceCloudStandards.SiteSpecific - put: - description: |- - Creates a gift certificate using the information provided. If a gift certificate with - the same unique identifier is generated, it is deleted and a new one is created. - displayName: createGiftCertificate - is: - - GiftCertificateTraits.GiftCertificateNotFound - - GiftCertificateTraits.InvalidGiftCertificateStatus - - GiftCertificateTraits.InvalidGiftCertificateException - - GiftCertificateTraits.GiftCertificateAmountOutOfRangeException - - GiftCertificateTraits.GiftCertificateCreateMerchantIdNotUniqueException - responses: - '200': - description: Successfully created gift certificate. - body: - application/json: - type: GiftCertificate - example: - !include Examples/gift-certificate-create-success-example.raml - '400': - description: If the gift certificate passed in is not valid (the argument indicates the field that was invalid), the amount specified is out of range, the merchant ID is not unique, the recipient email address is invalid, or the gift certificate status specified is invalid. - body: - application/json: - type: GiftCertificate - example: - !include Examples/gift-certificate-create-example.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.gift-certificates.rw ] } - post: - description: |- - Searches for gift certificates. The query attribute specifies a complex query that can be used to narrow down the search. These are the list of searchable attributes: - - | Attribute | Type | Sortable | - |-----------|--------|----------| - | merchantId | String | yes | - | maskedGiftCertificateCode * | String | no | - | orderNo | String | yes | - | senderName | String | yes | - | recipientName | String | yes | - | recipientEmail | String | yes | - | status | String | yes | - | enabled | Boolean | yes | - | message | String | yes | - | description | String | yes | - | creationDate | Date | yes | - | currencyMnemonic ** | String | yes | - - ## Notes: - * *`maskedGiftCertificateCode`, also known as just code, can only be used in a term query. If a - four-character code is supplied, it is assumed that the search is on the unmasked portion of the code, otherwise - the full code must be matched. Text queries are not allowed. - * **`currencyMnemonic` can only be joined with other attributes using a conjunction (`AND`). - * Only searchable attributes can be used in sorting. - displayName: giftCertificatesSearch - is: - - GiftCertificateTraits.MalformedQuery - - GiftCertificateTraits.UnqueryableField - responses: - '200': - description: Returns Gift Certificates. - body: - application/json: - type: GiftCertificateSearchResult - example: - !include Examples/get-results-example.raml - '400': - description: Thrown if the query is ill-formed. - body: - application/json: - type: CommerceCloudStandards.SearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.gift-certificates, sfcc.gift-certificates.rw ] } -/organizations/{organizationId}/gift-certificates/{merchantId}: - type: CommerceCloudStandards.Organization - is: - - CommerceCloudStandards.SiteSpecific - uriParameters: - merchantId: - description: The merchant ID of the requested gift certificate. - minLength: 1 - type: string - delete: - description: Deletes the gift certificate by merchant ID. - displayName: deleteGiftCertificate - responses: - '204': - description: Successfully deleted gift certificate. - body: - application/json: - type: GiftCertificate - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.gift-certificates.rw ] } - get: - description: Action to get gift certificate information using merchant ID. - displayName: getGiftCertificate - is: - - GiftCertificateTraits.GiftCertificateNotFound - responses: - '200': - description: Successfully retrieved gift certificate for given merchant ID. - body: - application/json: - type: GiftCertificate - example: - !include Examples/get-result-example.raml - '404': - description: Thrown in case the gift certificate does not exist matching the given merchant ID. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.gift-certificates, sfcc.gift-certificates.rw ] } - patch: - description: Updates the gift certificate with the specified information using merchant ID. - displayName: updateGiftCertificate - is: - - GiftCertificateTraits.GiftCertificateNotFound - - GiftCertificateTraits.InvalidGiftCertificateStatus - - GiftCertificateTraits.InvalidRecipientEmail - responses: - '200': - description: Successfully updated gift certificate. - body: - application/json: - type: GiftCertificate - example: - !include Examples/gift-certificate-update-success-example.raml - '400': - description: If recipient email address or gift certificate status specified is invalid. - '404': - description: Thrown in case the gift certificate does not exist matching the given merchant ID. - body: - application/json: - type: GiftCertificate - example: - !include Examples/gift-certificate-update-example.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.gift-certificates.rw ] } \ No newline at end of file diff --git a/apis/pricing/promotions/.metadata.json b/apis/pricing/promotions/.metadata.json deleted file mode 100644 index 625845cf..00000000 --- a/apis/pricing/promotions/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/promotions/1.0.24", - "name": "Promotions", - "description": "Launch and manage promotions across your storefront.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "promotions", - "version": "1.0.24", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/pricing/promotions/Examples/get-promotion-response.raml b/apis/pricing/promotions/Examples/get-promotion-response.raml deleted file mode 100644 index 15fd7e12..00000000 --- a/apis/pricing/promotions/Examples/get-promotion-response.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 NamedExample -get-promotion-example: - { - "archived": false, - "assignmentInformation": { - "active": true, - "activeCampaignAssignments": [ - { - "campaignId": "coupon-campaign", - "coupons": [ - "shipping-promotion-coupon" - ], - "description": "Coupon Shipping Promotion", - "enabled": true, - "promotionId": "my-shipping-promotion", - "schedule": { - - } - } - ], - "campaignId": "coupon-campaign", - "enabled": true, - "schedule": { - - }, - "scheduleType": "none" - }, - "creationDate": "2020-01-09T16:50:32.000Z", - "disableGloballyExcluded": false, - "enabled": true, - "exclusivity": "no", - "id": "my-shipping-promotion", - "lastModified": "2020-01-09T16:50:32.000Z", - "name": { - "default": "Coupon Shipping Promotion" - }, - "promotionClass": "shipping", - "c_customString": "Custom Value" - } \ No newline at end of file diff --git a/apis/pricing/promotions/Examples/patch-promotion-request.raml b/apis/pricing/promotions/Examples/patch-promotion-request.raml deleted file mode 100644 index 93f774f7..00000000 --- a/apis/pricing/promotions/Examples/patch-promotion-request.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -patch-promotion-request: - { - "enabled" : false, - "name" : { - "default" : "__PROMOTION_ID__" - }, - "exclusivity" : "class", - "promotionClass" : "order", - "c_customString": "Custom Value" - } \ No newline at end of file diff --git a/apis/pricing/promotions/Examples/patch-promotion-response.raml b/apis/pricing/promotions/Examples/patch-promotion-response.raml deleted file mode 100644 index a44f692a..00000000 --- a/apis/pricing/promotions/Examples/patch-promotion-response.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 NamedExample -patch-promotion-response: - { - "archived": false, - "assignmentInformation": { - "active": false, - "activeCampaignAssignments": [ - - ], - "campaignId": "coupon-campaign", - "enabled": false, - "schedule": { - - }, - "scheduleType": "none" - }, - "creationDate": "2020-01-13T20:22:09.189Z", - "disableGloballyExcluded": false, - "enabled": false, - "exclusivity": "class", - "id": "my-promotion", - "lastModified": "2020-01-13T20:31:25.795Z", - "name": { - "default": "__PROMOTION_ID__" - }, - "promotionClass": "order", - "c_customString": "Custom Value" - } \ No newline at end of file diff --git a/apis/pricing/promotions/Examples/put-promotion-request.raml b/apis/pricing/promotions/Examples/put-promotion-request.raml deleted file mode 100644 index 872ccbc1..00000000 --- a/apis/pricing/promotions/Examples/put-promotion-request.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -put-promotion-request: - { - "enabled" : true, - "name" : { - "default" : "__PROMOTION_ID__" - }, - "exclusivity" : "class", - "promotionClass" : "order", - "c_customString": "Custom Value" - } \ No newline at end of file diff --git a/apis/pricing/promotions/Examples/put-promotion-response.raml b/apis/pricing/promotions/Examples/put-promotion-response.raml deleted file mode 100644 index 85d323fc..00000000 --- a/apis/pricing/promotions/Examples/put-promotion-response.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 NamedExample -put-promotion-response: - { - "archived": false, - "assignmentInformation": { - "active": false, - "activeCampaignAssignments": [ - - ], - "campaignId": "coupon-campaign", - "enabled": true, - "schedule": { - - }, - "scheduleType": "none" - }, - "creationDate": "2020-01-13T20:22:09.189Z", - "disableGloballyExcluded": false, - "enabled": true, - "exclusivity": "class", - "id": "my-promotion", - "lastModified": "2020-01-13T20:22:09.199Z", - "name": { - "default": "__PROMOTION_ID__" - }, - "promotionClass": "order", - "c_customString": "Custom Value" - } \ No newline at end of file diff --git a/apis/pricing/promotions/Traits/PromotionIdConflict.raml b/apis/pricing/promotions/Traits/PromotionIdConflict.raml deleted file mode 100644 index b8e0e6b3..00000000 --- a/apis/pricing/promotions/Traits/PromotionIdConflict.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Promotions API. -responses: - 400: - description: - Thrown if the ID in request is not the same as the ID in document. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "title": "Id Conflict", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/id-conflict", - "detail": "The ID in the request body ('his-promotion') doesn't match the ID in the URL ('my-promotion').", - "bodyID": "his-promotion", - "urlID": "my-promotion" - } \ No newline at end of file diff --git a/apis/pricing/promotions/Traits/PromotionNotFound.raml b/apis/pricing/promotions/Traits/PromotionNotFound.raml deleted file mode 100644 index dd2f783d..00000000 --- a/apis/pricing/promotions/Traits/PromotionNotFound.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in the Promotions API. -responses: - 404: - description: - Thrown when there is no promotion found with the given ID for the requested site. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "title": "Promotion Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/promotion-not-found", - "detail": "No promotion with ID 'not-existing-promotion' in site 'SiteGenesis' could be found.", - "promotionId": "not-existing-promotion", - "siteId": "SiteGenesis" - } \ No newline at end of file diff --git a/apis/pricing/promotions/exchange.json b/apis/pricing/promotions/exchange.json deleted file mode 100644 index 495490b2..00000000 --- a/apis/pricing/promotions/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.24", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "promotions.raml", - "backwardsCompatible": false, - "assetId": "promotions", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Promotions", - "tags": [] -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/pricing/promotions/promotions-description.md b/apis/pricing/promotions/promotions-description.md deleted file mode 100644 index 25fefbf7..00000000 --- a/apis/pricing/promotions/promotions-description.md +++ /dev/null @@ -1,61 +0,0 @@ -# API Overview - -The Promotions API lets you create, update, retrieve, delete, and search for promotions on your site. Promotions are configured with rules that define the type of promotion, conditions, and discounts. - -The API can be used to synchronize promotion data in the commerce platform with third-party promotion management systems. The API can also be called from a custom promotion management application. In sandbox environments, the promotions API can be useful for creating and updating test data, for example, with integration testing or as part of a continuous integration or continuous deployment process. - -For more information, see [Campaigns and Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_campaigns_and_promotions.html) in the Salesforce B2C Commerce Infocenter. - -## Authentication & Authorization - -The client requesting the promotion information must have access to the Promotion resource. The API requests pass a bearer token in the header of the request. The client must first authenticate against Account Manager to get the bearer token. - -You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -**Note**: A promotion can be created, enabled, and assigned exclusivity using the API, but qualifier and discounted criteria must be assigned in Business Manager. - -### Shipping Promotions - -Use the Promotions API to configure shipping promotions. - -You can configure shipping promotions based on an order and on individual products or product combinations. You can also configure product-specific shipping cost (fixed or surcharge). - -**Note**: Product-related shipping discounts are considered product promotions. - -In a multiple ship-to scenario, B2C Commerce determines which shipments use any of the discounted shipping methods and applies the discount from most expensive to least expensive until meeting the maximum applications limit, if specified. - -For example, create a shipping promotion that gives the customer free shipping when their purchase exceeds $50. - -For more detail, see [Shipping Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_shipping_promotions.html) in the Salesforce B2C Commerce Infocenter. - -### Product Promotions - -Use the Promotions API to configure product promotions. - -You can define product promotions for specific products, groups of products or brands, or amounts of products purchased. You can define conditions that require customers to purchase from a set of products. - -A product promotion is prorated, calculated, and rounded once per product in the order. A product promotion is different than an order promotion, which is calculated once at the order level, and rounded off once, if necessary. - -For example, create a product promotion that discounts a second item by 50% when the customer buys two. - -For more detail, see [Product Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_product_promotions.html) in the Salesforce B2C Commerce Infocenter. - -### Order Promotions - -Use the Promotions API to configure order promotions. - -You can configure order promotions for percentage discounts, fixed price discounts, and free shipping. You can offer a bonus product or a choice of bonus products, and you can tier order discounts. - -An order promotion is calculated once at the order level, and rounded off once, if necessary. An order promotion is different than a product promotion, where the promotion is prorated, calculated, and rounded per product in the order. - -For example, create an order promotion that discounts an entire order when the customer buys 3 qualifying items. - -For more detail, see [Order Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_order_promotions.html) in the Salesforce B2C Commerce Infocenter. - -## Resources - -### Promotion - -Details of the promotion including both the qualifying criteria and the discount. \ No newline at end of file diff --git a/apis/pricing/promotions/promotions-traits-library.raml b/apis/pricing/promotions/promotions-traits-library.raml deleted file mode 100644 index 17d112e7..00000000 --- a/apis/pricing/promotions/promotions-traits-library.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -traits: - PromotionNotFound: !include Traits/PromotionNotFound.raml - PromotionIdConflict: !include Traits/PromotionIdConflict.raml \ No newline at end of file diff --git a/apis/pricing/promotions/promotions.raml b/apis/pricing/promotions/promotions.raml deleted file mode 100644 index 44217eaf..00000000 --- a/apis/pricing/promotions/promotions.raml +++ /dev/null @@ -1,498 +0,0 @@ -#%RAML 1.0 -title: Promotions -version: v1 -protocols: HTTPS -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/pricing/promotions/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -description: !include promotions-description.md - -uses: - DataPromotionTraits: promotions-traits-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Campaign: - description: |- - Document representing a campaign. - type: - CommerceCloudStandards.OpenObject - properties: - campaignId: - description: The ID of the campaign. - maxLength: 256 - minLength: 1 - type: string - coupons: - description: The array of assigned coupon IDs, not sorted. - type: array - items: - type: string - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - customerGroups: - description: The array of assigned customer groups, not sorted. - type: array - items: - type: string - required: false - description: - description: The description of the campaign. - maxLength: 4000 - type: string - required: false - enabled: - description: The enabled flag for campaign. - type: boolean - required: false - endDate: - description: The date the scenario ends. - type: datetime - required: false - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - sourceCodeGroups: - description: The array of assigned source code groups, not sorted. - type: array - items: - type: string - required: false - startDate: - description: The date the scenario begins. - type: datetime - required: false - Promotion: - description: |- - Document representing a promotion. Unless otherwise stated, attributes of this document are not supported when using - the Open Commerce API to update multiple promotions at once. - type: - CommerceCloudStandards.OpenObject - properties: - archived: - description: |- - Determines if this promotion is archived. This attribute is allowed to be updated when using the Open - Commerce API to update multiple promotions at once. - type: boolean - required: false - assignmentInformation: - description: Information about the assignments and assignment schedules of this promotion. - type: PromotionAssignmentInformation - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - currencyCode: - description: |- - The ISO 4217 mnemonic code of the currency this promotion is restricted to. If not populated, then there is no - currency restriction on the promotion. - maxLength: 3 - type: string - required: false - disableGloballyExcluded: - description: Determines if this promotion ignores the global product exclusions for promotions. - type: boolean - required: false - enabled: - description: |- - Determines if this promotion is enabled. This attribute is allowed to be updated when using the Open - Commerce API to update multiple promotions at once. - type: boolean - required: false - exclusivity: - description: |- - Determines if the promotion can be combined with other promotions of the same promotion class or if it cannot be - combined with any other promotions. This attribute is allowed to be updated when using the Open Commerce API to - update multiple promotions at once. - type: string - enum: - - 'no' - - class - - global - required: false - id: - description: The ID for the promotion. - type: string - required: false - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - name: - description: The user supplied name of this promotion, which can be localized. - type: object - properties: - //: - type: string - required: false - promotionClass: - description: |- - The class of the promotion. If the promotion class is modified, then the promotion rule and all of its values, - such as whether or not to disable global product exclusions, are reset. - type: string - enum: - - product - - shipping - - order - required: false - tags: - description: |- - Returns the list of tags assigned to this promotion. If used to set the tags on a promotion, the promotion will - only have the tags passed in the input. Any existing tags are removed. - type: array - items: - type: Tag - required: false - siteId?: CommerceCloudStandards.SiteId - PromotionAbtestGroupAssignment: - type: - CommerceCloudStandards.ClosedObject - properties: - abtestDescription: - type: string - abtestId: - type: string - enabled: - type: boolean - schedule: - type: Schedule - segmentDescription: - type: string - segmentId: - type: string - PromotionAssignmentInformation: - type: - CommerceCloudStandards.ClosedObject - properties: - abtestId: - description: |- - If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test the segment - belongs to. Otherwise, empty. - type: string - required: false - abtestSegmentId: - description: |- - If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test segment. - Otherwise, empty. - type: string - required: false - active: - description: True if the individual assignment or the multiple assignments are currently active. - type: boolean - activeAbtestAssignments: - description: A list of currently active A/B tests this is assigned to. - type: array - items: - type: PromotionAbtestGroupAssignment - required: false - activeCampaignAssignments: - description: A list of currently active campaigns this is assigned to. - type: array - items: - type: PromotionCampaignAssignment - campaignId: - description: If there is only one assignment, and that assignment is a campaign, the ID of the campaign. Otherwise, empty. - type: string - enabled: - type: boolean - endDate: - description: |- - The end date of the container of the assignment (a Campaign or ABTest). If scheduleType is - scheduleType : "multiple" or scheduleType : "none", then then result is null. Also, a null - date returns null. - type: datetime - required: false - schedule: - description: |- - The schedule of the assignment (a Campaign or ABTest). If scheduleType is - scheduleType : "multiple" or scheduleType : "none", then then result is null. - type: Schedule - scheduleType: - description: |- - If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type - of assignment (scheduleType : "campaign" or scheduleType : "abtest"). If there are no - assignments, it is scheduleType : "none", otherwise, scheduleType : "multiple". - type: string - enum: - - none - - campaign - - abtest - - multiple - startDate: - description: |- - The start date of the container of the assignment (a Campaign or ABTest). If scheduleType is - scheduleType : "multiple" or scheduleType : "none", then then result is null. Also, a null - date returns null. - type: datetime - required: false - upcomingAbtestAssignments: - description: A list of upcoming A/B tests this is assigned to. - type: array - items: - type: PromotionAbtestGroupAssignment - required: false - upcomingCampaignAssignments: - description: A list of upcoming campaigns this is assigned to. - type: array - items: - type: PromotionCampaignAssignment - required: false - PromotionCampaignAssignment: - description: |- - Document representing a promotion campaign assignment. - type: - CommerceCloudStandards.ClosedObject - properties: - campaign: - description: The campaign. - type: Campaign - required: false - campaignId: - description: The ID of the campaign. - maxLength: 256 - minLength: 1 - type: string - coupons: - description: The sorted array of assigned coupon IDs. - type: array - items: - type: string - required: false - customerGroups: - description: The sorted array of assigned customer groups. - type: array - items: - type: string - required: false - description: - description: The description of the promotion campaign assignment. - maxLength: 4000 - type: string - enabled: - description: True if the assignment resource is enabled. - type: boolean - promotion: - description: The promotion. - type: Promotion - required: false - promotionId: - description: The ID of the promotion. - maxLength: 256 - minLength: 1 - type: string - rank: - description: The rank of promotion campaign assignment. - type: integer - format: int32 - required: false - schedule: - description: The schedule of the assignment resource. - type: Schedule - sourceCodeGroups: - description: The sorted array of assigned source code groups. - type: array - items: - type: string - required: false - PromotionSearchResult: - description: |- - Document representing a promotion search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of promotion search hits. Can be empty. - type: Promotion[] - Recurrence: - description: |- - Document representing a schedule recurrence. - type: - CommerceCloudStandards.ClosedObject - properties: - dayOfWeek: - description: The days of week for recurrence. - type: array - items: - type: string - enum: - - monday - - tuesday - - wednesday - - thursday - - friday - - saturday - - sunday - timeOfDay: - description: The time of the day for recurrence. - type: TimeOfDay - Schedule: - description: |- - Document representing a time schedule for slots. - type: - CommerceCloudStandards.ClosedObject - properties: - endDate: - description: 'The date to end of validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' - type: datetime - required: false - recurrence: - description: The recurrence of the schedule by day of week and time of day. Not all schedules support a recurrence. - type: Recurrence - required: false - startDate: - description: 'The date to start validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' - type: datetime - required: false - Tag: - description: |- - Document representing a tag - type: - CommerceCloudStandards.ClosedObject - properties: - tagId: - description: The ID of the tag. - type: string - TimeOfDay: - description: |- - Document representing a time schedule within a single day. - type: - CommerceCloudStandards.ClosedObject - properties: - timeFrom: - description: |- - The time to start from. Time format: HH:mm:ss. Seconds - are ignored and set to 0. - type: string - timeTo: - description: |- - The time to end on. Time format: HH:mm:ss. Seconds - are ignored and set to 0. - type: string -'/organizations/{organizationId}/promotions': - type: CommerceCloudStandards.Organization - is: - - CommerceCloudStandards.SiteSpecific - post: - description: |- - Searches for promotions. - - The SearchRequest document contains a search object that allows filtering on various attributes. - - The query attribute specifies a complex query that can be used to narrow down the search using the following searchable - attributes: - - | Attribute | Type | - |-----------|--------| - | id | String | - | name | String | - | currecyCode | String | - | exclusivity | String | - | enabled | Boolean | - - Note that only searchable attributes can be used in sorting. Additionally, the following attribute can be used to - sort: - - | Attribute | Type | - |-----------|--------| - | promotionClass | String | - - displayName: promotionsSearch - responses: - '200': - description: Search promotions successfully. - body: - application/json: - type: PromotionSearchResult - '400': - description: Thrown if the query is ill-formed. - body: - application/json: - type: CommerceCloudStandards.SearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - '/{id}': - is: - - CommerceCloudStandards.SiteSpecific - uriParameters: - id: - description: The ID of the promotion to create. - minLength: 1 - type: string - example: - -Buy5for50 - -$5_off_ties_promotion - delete: - description: Deletes the promotion by ID. - displayName: deletePromotion - responses: - '204': - description: Deleted the promotion successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - get: - description: Action to get promotion information. - displayName: getPromotion - is: - - DataPromotionTraits.PromotionNotFound: - responses: - '200': - description: Retrieved promotion information successfully. - body: - application/json: - type: Promotion - examples: - !include Examples/get-promotion-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - patch: - description: Updates the promotion with the specified information. - displayName: updatePromotion - is: - - DataPromotionTraits.PromotionNotFound: - responses: - '200': - description: |- - Update a promotion using the information provided. - Fields that can be updated: - name, ID, enabled - body: - application/json: - type: Promotion - examples: - !include Examples/patch-promotion-response.raml - body: - application/json: - type: Promotion - examples: - !include Examples/patch-promotion-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - put: - description: Creates a promotion using the information provided. - displayName: createPromotion - is: - - DataPromotionTraits.PromotionIdConflict: - responses: - '200': - description: Creates a promotion using the information provided. - body: - application/json: - type: Promotion - examples: - !include Examples/put-promotion-response.raml - body: - application/json: - type: Promotion - examples: - !include Examples/put-promotion-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/.metadata.json b/apis/pricing/shopper-gift-certificates/.metadata.json deleted file mode 100644 index 333e8479..00000000 --- a/apis/pricing/shopper-gift-certificates/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-gift-certificates/1.0.17", - "name": "Shopper Gift Certificates", - "description": "Obtain details about a gift certificate.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-gift-certificates", - "version": "1.0.17", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/pricing/shopper-gift-certificates/Examples/gift-certificate-example.raml b/apis/pricing/shopper-gift-certificates/Examples/gift-certificate-example.raml deleted file mode 100644 index de69106a..00000000 --- a/apis/pricing/shopper-gift-certificates/Examples/gift-certificate-example.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount": 100, - "balance": 100, - "enabled": true, - "maskedGiftCertificateCode": "************FJWQ", - "merchantId": "00000001", - "recipientEmail": "p@gmail.com", - "recipientName": "sampleuser", - "senderName": "Salesforce Support", - "status": "issued" - } \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/Traits/NotFoundException.raml b/apis/pricing/shopper-gift-certificates/Traits/NotFoundException.raml deleted file mode 100644 index 28a41f48..00000000 --- a/apis/pricing/shopper-gift-certificates/Traits/NotFoundException.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in Shop Gift Certificate API. - -responses: - 404: - description: | - Thrown if the given gift certificate code is not valid. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "/NotFoundException", - "detail": "The gift certificate with the provided code could not be retrieved.", - "title": "Not Found", - "instance":"/foo" - } \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange.json b/apis/pricing/shopper-gift-certificates/exchange.json deleted file mode 100644 index 2fd857a0..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.17", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-gift-certificates.raml", - "backwardsCompatible": false, - "assetId": "shopper-gift-certificates", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Gift Certificates", - "tags": [] -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/pricing/shopper-gift-certificates/gift-certificate-traits-library.raml b/apis/pricing/shopper-gift-certificates/gift-certificate-traits-library.raml deleted file mode 100644 index 07cae8d7..00000000 --- a/apis/pricing/shopper-gift-certificates/gift-certificate-traits-library.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -traits: - NotFound: !include Traits/NotFoundException.raml diff --git a/apis/pricing/shopper-gift-certificates/shopper-gift-certificates-description.md b/apis/pricing/shopper-gift-certificates/shopper-gift-certificates-description.md deleted file mode 100644 index b8e83c83..00000000 --- a/apis/pricing/shopper-gift-certificates/shopper-gift-certificates-description.md +++ /dev/null @@ -1,25 +0,0 @@ -# API Overview - -The Shopper Gift Certificates API lets you obtain details about a gift certificate issued to a shopper. The shopper, who received a code identifying the gift certificate, can use the gift certificate code to query information, such as the balance remaining on the gift certificate and who it was issued to, using this API. - -## Authentication & Authorization - -The Shopper Gift Certificates API requires a JSON Web Token acquired via the Shopper Customers endpoint. - -``` -https://{{shortCode}}.api.commercecloud.salesforce.com/customer/shopper-customers/v1/organizations/{{organizationId}}/customers/actions/login -``` - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Retrieve Existing Gift Certificate Details - -Use Shopper Gift Certificate API to find details about a gift certificate code that shoppers enter. - -For example, you can check the status of a gift certificate or see the remaining balance of a gift certificate. - -### Use Hooks - -For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) diff --git a/apis/pricing/shopper-gift-certificates/shopper-gift-certificates.raml b/apis/pricing/shopper-gift-certificates/shopper-gift-certificates.raml deleted file mode 100644 index 05ee900f..00000000 --- a/apis/pricing/shopper-gift-certificates/shopper-gift-certificates.raml +++ /dev/null @@ -1,101 +0,0 @@ -#%RAML 1.0 -title: Shopper Gift Certificates -version: v1 -protocols: - - HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/pricing/shopper-gift-certificates/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -description: !include shopper-gift-certificates-description.md -mediaType: - - application/json -uses: - GiftCertificateTraits: gift-certificate-traits-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml -types: - GiftCertificate: - description: |- - Document representing a gift certificate. - type: - CommerceCloudStandards.OpenObject - examples: - gift-certificate: !include Examples/gift-certificate-example.raml - properties: - amount: - description: The gift certificate original amount. - type: number - format: double - balance: - description: The gift certificate remaining balance. - type: number - format: double - description?: - description: The gift certificate description. - type: string - enabled: - description: Is the gift certificate is enabled? - type: boolean - maskedGiftCertificateCode: - description: The masked gift certificate code. - type: string - merchantId: - description: The merchant ID. - type: string - message?: - description: The message. - type: string - recipientEmail: - description: The recipient email. - type: string - recipientName: - description: The recipient name. - type: string - senderName: - description: The sender name. - type: string - status: - description: The gift certificate status. - type: string - enum: - - pending - - issued - - partially_redeemed - - redeemed - GiftCertificateRequest: - description: |- - Document representing a gift certificate request data. - type: - CommerceCloudStandards.ClosedObject - properties: - giftCertificateCode: - description: The gift certificate code. - type: string - example: - "MYGIFTCERTIFICATECODE" -/organizations/{organizationId}/gift-certificate: - type: CommerceCloudStandards.Organization - post: - description: Action to retrieve an existing gift certificate. - displayName: getGiftCertificate - is: - - GiftCertificateTraits.NotFound - responses: - '200': - description: Gift certificate retrieved sucessfully. - body: - application/json: - type: GiftCertificate - examples: - gift-certificate: !include Examples/gift-certificate-example.raml - queryParameters: - siteId: - type: CommerceCloudStandards.SiteId - body: - application/json: - type: GiftCertificateRequest - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ sfcc.shopper-gift-certificates ] } diff --git a/apis/pricing/shopper-promotions/.metadata.json b/apis/pricing/shopper-promotions/.metadata.json deleted file mode 100644 index 10510223..00000000 --- a/apis/pricing/shopper-promotions/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-promotions/1.0.27", - "name": "Shopper Promotions", - "description": "View details for active promotions.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-promotions", - "version": "1.0.27", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/pricing/shopper-promotions/Examples/get_campaings_400.raml b/apis/pricing/shopper-promotions/Examples/get_campaings_400.raml deleted file mode 100644 index 07db4f1f..00000000 --- a/apis/pricing/shopper-promotions/Examples/get_campaings_400.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "detail": "Thrown when a start date but no end date was given, when an end date but no start date was given, or when the given end date is before the given start date", - "title": "Incorrect Syntax" - } \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/Examples/promotions_result.raml b/apis/pricing/shopper-promotions/Examples/promotions_result.raml deleted file mode 100644 index c4bf43f4..00000000 --- a/apis/pricing/shopper-promotions/Examples/promotions_result.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 2, - "data": [ - { - "calloutMsg": "Buy5for50", - "details": "Buy5for50", - "id": "Buy5for50", - "name": "Buy5for50" - }, - { - "calloutMsg": "$5 off Men's Ties", - "details": "$5 off Men's Ties (with coupon)", - "id": "$5_off_ties_promotion", - "name": "5 Off Ties Promotion" - } - ], - "total": 2 - } \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/Traits/PromotionNotFound.raml b/apis/pricing/shopper-promotions/Traits/PromotionNotFound.raml deleted file mode 100644 index d3526448..00000000 --- a/apis/pricing/shopper-promotions/Traits/PromotionNotFound.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in Shop Products API. -responses: - 404: - description: - Thrown when there is no promotion found with the given ID for the requested site. - body: - application/json: - type: Error - example: | - { - "type": "/PromotionNotFoundException", - "detail": "There is no promotion found with the given ID for the requested site.", - "title": "Not Found", - "instance":"/foo" - } \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/Traits/badrequest.raml b/apis/pricing/shopper-promotions/Traits/badrequest.raml deleted file mode 100644 index 724a684b..00000000 --- a/apis/pricing/shopper-promotions/Traits/badrequest.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Promotions API. -responses: - 400: - description: - Thrown when a start date but no end date was given, when an end date but no start date was given, or when the given end date is before the given start date. - body: - application/json: - type: Error - example: | - { - "type": "/InvalidDateException", - "detail": "Invalid Start or End Date", - "title": "Invalid Start or End Date", - "instance":"/foo" - } \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange.json b/apis/pricing/shopper-promotions/exchange.json deleted file mode 100644 index 7fecf183..00000000 --- a/apis/pricing/shopper-promotions/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.27", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-promotions.raml", - "backwardsCompatible": false, - "assetId": "shopper-promotions", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Promotions", - "tags": [] -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/promotion-traits-library.raml b/apis/pricing/shopper-promotions/promotion-traits-library.raml deleted file mode 100644 index 77ae6d33..00000000 --- a/apis/pricing/shopper-promotions/promotion-traits-library.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information - -types: - Error: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml - -traits: - PromotionNotFound: !include Traits/PromotionNotFound.raml - badrequest: !include Traits/badrequest.raml \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/shopper-promotions-description.md b/apis/pricing/shopper-promotions/shopper-promotions-description.md deleted file mode 100644 index 9bed2860..00000000 --- a/apis/pricing/shopper-promotions/shopper-promotions-description.md +++ /dev/null @@ -1,39 +0,0 @@ -# API Overview - -Retrieve information about active promotions within the context of a shopper and a site. Promotions that have been configured in the commerce platform can be retrieved using this API either by querying for particular promotion IDs, or by finding promotions associated with a campaign. - -Caching is provided for the Shopper Promotions API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) - -## Authentication & Authorization - -The Shopper Promotions API requires a JSON Web Token acquired via the Shopper Customers endpoint: - -``` -https://{{shortcode}}.api.commercecloud.salesforce.com/customer/shopper-customers/v1/organizations/{{organizationId}}/customers/actions/login -``` - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Get Promotion by Promotion ID - -Use the Shopper Promotions API to find promotion information by the promotion ID. - -For example, a customer who is browsing on a commerce shopping app built using Commerce Cloud APIs can see the details about the applied promotions in the cart. - -### Get Promotion by Campaign ID - -Use the Shopper Promotions API to find promotion information by the campaign ID. - -For example, a customer who is browsing on a commerce shopping app built using Commerce Cloud APIs can see the possible promotions that can be applied in the cart. - -### Use Hooks - -For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) - -## Resources - -### PromotionResult - -A full representation of an array of promotions detail. \ No newline at end of file diff --git a/apis/pricing/shopper-promotions/shopper-promotions.raml b/apis/pricing/shopper-promotions/shopper-promotions.raml deleted file mode 100644 index f2b9bc94..00000000 --- a/apis/pricing/shopper-promotions/shopper-promotions.raml +++ /dev/null @@ -1,173 +0,0 @@ -#%RAML 1.0 -title: Shopper Promotions -description: !include shopper-promotions-description.md -version: v1 -protocols: https -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/pricing/shopper-promotions/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -uses: - PromotionTraits: promotion-traits-library.raml - ApiStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Promotion: - description: |- - Document representing a promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg: - description: The localized call-out message of the promotion. - type: string - required: false - example: $30 Fixed Shipping Amount Above 150 - currency: - description: |- - The currency that a promotion can be applied to. A null value means that the promotion applies to all allowed - currencies. - type: string - required: false - example: USD - details: - description: The localized detailed description of the promotion. - type: string - required: false - example: $30 Fixed Shipping Amount Above 150 - endDate: - description: |- - The end date of the promotion. This property follows the ISO8601 date time format: yyyy-MM-dd'T'HH:mmZ . The time - zone of the date time is always UTC. - type: datetime - required: false - example: 2015-07-04T21:00:00Z - id: - description: The unique ID of the promotion. - type: string - example: $30FixedShippingAmountAbove150 - image: - description: The URL to the promotion image. - type: string - required: false - name: - description: The localized name of the promotion. - type: string - required: false - example: $30 Fixed Shipping Amount Above 150 - startDate: - description: |- - The start date of the promotion. This property follows the ISO8601 date time format: yyyy-MM-dd'T'HH:mmZ. The - time zone of the date time is always UTC. - type: datetime - required: false - example: 2015-07-04T21:00:00Z - PromotionResult: - description: |- - Result document containing an array of promotions. - type: - CommerceCloudStandards.ClosedObject - examples: - promotion: !include Examples/promotions_result.raml - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - data: - description: The array of promotion documents. - type: array - items: - type: Promotion - total: - description: The total number of documents. - type: integer - format: int32 - -'/organizations/{organizationId}/promotions': - type: CommerceCloudStandards.Organization - get: - description: |- - Returns an array of enabled promotions for a list of specified IDs. In the request URL, you can specify up to 50 IDs. If you specify an ID that contains either parentheses or the separator characters, you must URL encode these characters. Each request returns only enabled promotions as the server does not consider promotion qualifiers or schedules. - displayName: getPromotions - is: - - PromotionTraits.PromotionNotFound - responses: - '200': - description: Retrieved promotion information successfully. - body: - application/json: - type: PromotionResult - examples: - promotion: !include Examples/promotions_result.raml - queryParameters: - siteId: - type: CommerceCloudStandards.SiteId - ids: - maxLength: 256 - type: string - example: - Buy5for50,$5_off_ties_promotion - locale: - type: string - required: false - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ sfcc.shopper-promotions ] } - '/campaigns/{campaignId}': - type: CommerceCloudStandards.Organization - uriParameters: - campaignId: - description: Find the promotions assigned to this campaign (mandatory). - maxLength: 256 - minLength: 1 - type: string - example: 5_off_ties_campaign - get: - description: |- - Handles get promotion by filter criteria. Returns an array of enabled promotions matching the specified filter - criteria. In the request URL, you must provide a campaign_id parameter, and you can optionally specify a date - range by providing start_date and end_date parameters. Both parameters are required to specify a date range, as - omitting one causes the server to return a MissingParameterException fault. Each request returns only enabled - promotions, since the server does not consider promotion qualifiers or schedules. - displayName: getPromotionsForCampaign - is: - - PromotionTraits.PromotionNotFound - - PromotionTraits.badrequest - responses: - '200': - description: Retrieved Promotion Information successfully. - body: - application/json: - type: PromotionResult - examples: - promotion: !include Examples/promotions_result.raml - '400': - description: Thrown when a start date but no end date was given, when an end date but no start date was given, or when the given end date is before the given start date. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/get_campaings_400.raml - queryParameters: - siteId: - type: CommerceCloudStandards.SiteId - startDate: - description: 'The start date of the promotion in ISO8601 date time format: yyyy-MM-dd''T''HH:mmZ' - type: string - required: false - example: 2015-07-04T21:00:00Z - endDate: - description: 'The end date of the promotion in ISO8601 date time format: yyyy-MM-dd''T''HH:mmZ' - type: string - required: false - example: 2015-07-04T21:00:00Z - currency: - description: The currency mnemonic specified for price. This parameter is effective only for product suggestions. - type: string - required: false - example: USD - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ sfcc.shopper-promotions ] } diff --git a/apis/pricing/source-code-groups/.metadata.json b/apis/pricing/source-code-groups/.metadata.json deleted file mode 100644 index d8becdf4..00000000 --- a/apis/pricing/source-code-groups/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/source-code-groups/1.0.28", - "name": "Source Code Groups", - "description": "Create, update, delete, and search for source code groups.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "source-code-groups", - "version": "1.0.28", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/pricing/source-code-groups/Examples/get_source_code_groups_id.raml b/apis/pricing/source-code-groups/Examples/get_source_code_groups_id.raml deleted file mode 100644 index 19df308b..00000000 --- a/apis/pricing/source-code-groups/Examples/get_source_code_groups_id.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "active": false, - "activeRedirect": { - "location": "urlString", - "locationType": "url" - }, - "creationDate": "2019-11-25T15:24:25.317Z", - "description": "description for source code group test2", - "enabled": false, - "endTime": "2030-10-01T00:00:00.000Z", - "id": "20% off (£30) New Customer", - "inactiveRedirect": { - "location": "urlString", - "locationType": "url" - }, - "lastModified": "2019-11-25T15:28:55.175Z", - "startTime": "2014-10-01T00:00:00.000Z" - } \ No newline at end of file diff --git a/apis/pricing/source-code-groups/Examples/patch_source_code_group_id.raml b/apis/pricing/source-code-groups/Examples/patch_source_code_group_id.raml deleted file mode 100644 index 2a343a49..00000000 --- a/apis/pricing/source-code-groups/Examples/patch_source_code_group_id.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "active": false, - "activeRedirect": { - "location": "urlString", - "locationType": "url" - }, - "creationDate": "2019-11-25T15:24:25.317Z", - "description": "description for source code group test2", - "enabled": false, - "endTime": "2030-10-01T00:00:00.000Z", - "id": "20% off (£30) New Customer", - "inactiveRedirect": { - "location": "urlString", - "locationType": "url" - }, - "lastModified": "2019-11-25T15:28:55.175Z", - "startTime": "2014-10-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/Examples/put_source_code_group_id.raml b/apis/pricing/source-code-groups/Examples/put_source_code_group_id.raml deleted file mode 100644 index 14fb1383..00000000 --- a/apis/pricing/source-code-groups/Examples/put_source_code_group_id.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "active": false, - "activeRedirect": { - "location": "urlString", - "locationType": "url" - }, - "creationDate": "2019-11-25T15:24:25.317Z", - "description": "description for source code group test", - "enabled": false, - "endTime": "2030-10-01T00:00:00.000Z", - "id": "20% off (£30) New Customer", - "inactiveRedirect": { - "location": "urlString", - "locationType": "url" - }, - "lastModified": "2019-11-25T15:24:25.320Z", - "startTime": "2014-10-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/Examples/source-code-result-example.raml b/apis/pricing/source-code-groups/Examples/source-code-result-example.raml deleted file mode 100644 index 2280f809..00000000 --- a/apis/pricing/source-code-groups/Examples/source-code-result-example.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "limit": 1, - "hits": [ - { - "active": false, - "activeRedirect": { - "location": "nintendo-wii-console", - "locationType": "product" - }, - "creationDate": "2020-01-06T15:30:26.000Z", - "description": "Email promoting save 20% of WII game when buying system", - "enabled": true, - "endTime": "2009-12-20T00:00:00.000Z", - "id": "gaming-email", - "inactiveRedirect": { - "location": "inactive-source-code", - "locationType": "page" - }, - "lastModified": "2020-01-06T15:30:26.000Z", - "startTime": "2009-11-01T00:00:00.000Z" - } - ], - "query": { - "TextQuery": { - "fields": [ - "id" - ], - "searchPhrase": "gaming" - } - }, - "offset": 0, - "total": 1 -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/Traits/IdConflict.raml b/apis/pricing/source-code-groups/Traits/IdConflict.raml deleted file mode 100644 index 5f845458..00000000 --- a/apis/pricing/source-code-groups/Traits/IdConflict.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Data Source Code Group API. - -responses: - 400: - description: | - Thrown when the ID given in the request URL is different from the ID provided in the source code group document. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "IdConflictException", - "title": "The ID given in the request URL is different from the ID provided in the source code group document.", - "instance": "/sites/SiteGenesis/source_code_groups/foo" - } \ No newline at end of file diff --git a/apis/pricing/source-code-groups/Traits/InvalidQuery.raml b/apis/pricing/source-code-groups/Traits/InvalidQuery.raml deleted file mode 100644 index 03ea98bd..00000000 --- a/apis/pricing/source-code-groups/Traits/InvalidQuery.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response fn the query is ill-formed. -responses: - 400: - description: | - Thrown if the query is ill-formed. \ No newline at end of file diff --git a/apis/pricing/source-code-groups/Traits/SourceCodeGroupInvalid.raml b/apis/pricing/source-code-groups/Traits/SourceCodeGroupInvalid.raml deleted file mode 100644 index e7d98d36..00000000 --- a/apis/pricing/source-code-groups/Traits/SourceCodeGroupInvalid.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Data Source Code Group API. -responses: - 400: - description: | - Thrown in case the source code group does not exist matching the given ID. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "SourceCodeGroupInvalidException", - "title": "The source code group passed in is not valid.", - "instance": "/sites/SiteGenesis/source_code_groups/foo" - } \ No newline at end of file diff --git a/apis/pricing/source-code-groups/Traits/SourceCodeGroupNotFound.raml b/apis/pricing/source-code-groups/Traits/SourceCodeGroupNotFound.raml deleted file mode 100644 index dc12f270..00000000 --- a/apis/pricing/source-code-groups/Traits/SourceCodeGroupNotFound.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in the Data Source Code Group API. -responses: - 404: - description: | - Thrown in case the source code group does not exist matching the given ID. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "SourceCodeGroupNotFoundException", - "title": "No source code group with ID 'foo' for site 'SiteGenesis' could be found.", - "instance": "/sites/SiteGenesis/source_code_groups/foo" - } \ No newline at end of file diff --git a/apis/pricing/source-code-groups/data-source-code-group-traits-library.raml b/apis/pricing/source-code-groups/data-source-code-group-traits-library.raml deleted file mode 100644 index 51b536c9..00000000 --- a/apis/pricing/source-code-groups/data-source-code-group-traits-library.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -traits: - SourceCodeGroupNotFound: !include Traits/SourceCodeGroupNotFound.raml - SourceCodeGroupInvalid: !include Traits/SourceCodeGroupInvalid.raml - IdConflict: !include Traits/IdConflict.raml - InvalidQuery: !include Traits/InvalidQuery.raml \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange.json b/apis/pricing/source-code-groups/exchange.json deleted file mode 100644 index 2775c342..00000000 --- a/apis/pricing/source-code-groups/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.28", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "source-code-groups.raml", - "backwardsCompatible": false, - "assetId": "source-code-groups", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Source Code Groups", - "tags": [] -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/pricing/source-code-groups/source-code-groups-description.md b/apis/pricing/source-code-groups/source-code-groups-description.md deleted file mode 100644 index 693720a8..00000000 --- a/apis/pricing/source-code-groups/source-code-groups-description.md +++ /dev/null @@ -1,9 +0,0 @@ -# API Overview - -APIs to support the creation, update, deletions and search of source code groups. - -## Authentication & Authorization - -The client requesting the source code information must have access to the Source Code resource. The API requests pass a bearer token in the header of the request. The client must first authenticate against Account Manager to log in. - -You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) \ No newline at end of file diff --git a/apis/pricing/source-code-groups/source-code-groups.raml b/apis/pricing/source-code-groups/source-code-groups.raml deleted file mode 100644 index b5667495..00000000 --- a/apis/pricing/source-code-groups/source-code-groups.raml +++ /dev/null @@ -1,261 +0,0 @@ -#%RAML 1.0 -title: Source Code Groups -version: v1 -protocols: HTTPS -mediaType: application/json -baseUri: 'https://{shortCode}.api.commercecloud.salesforce.com/pricing/source-code-groups/{version}' -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -description: !include source-code-groups-description.md - -uses: - SourceCodeGroupTraits: data-source-code-group-traits-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - SourceCodeGroup: - description: |- - Document representing a source code group. - type: - CommerceCloudStandards.OpenObject - properties: - active: - description: The active flag, a computed value based on start and end time. - type: boolean - required: false - example: true - activeRedirect: - description: The active redirect information. - type: SourceCodeRedirectInfo - required: false - cookieDuration: - description: The cookie duration in days. - maximum: 999 - minimum: 0 - type: integer - format: int32 - required: false - example: 25 - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 2019-10-20T12:00:00Z - description: - description: The description. - type: string - required: false - example: | - This source code group is used to email promoting Flat Screen Televeisions. - enabled: - description: The enabled flag for storefront to consider the source code group, default to false. - type: boolean - required: false - example: false - endTime: - description: The end time. - type: datetime - required: false - example: 2019-11-20T12:00:00Z - id: - description: The ID of source code group. - maxLength: 28 - minLength: 1 - type: string - example: 'TV-Email' - inactiveRedirect: - description: The inactive redirect information. - type: SourceCodeRedirectInfo - required: false - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 2019-10-20T12:00:00Z - specifications: - description: Source code specifications. - type: array - items: - type: SourceCodeSpecification - required: false - startTime: - description: The start time. - type: datetime - required: false - example: 2019-10-20T12:00:00Z - SourceCodeGroupSearchResult: - description: |- - Document representing a source code group search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of search hits. Can be empty. - type: SourceCodeGroup[] - SourceCodeRedirectInfo: - description: |- - Document representing source code redirect info. - type: - CommerceCloudStandards.ClosedObject - properties: - locationType: - description: |- - The type of redirect location, such as product (for a product page), category (a category page), home (for home page), page (for content), or URL (for a URL location). - type: string - enum: - - default - - home - - product - - category - - page - - url - example: url - location?: - description: |- - The location of redirect, based on the type, this can be a product location, category location, home page, content page, or just a URL. - type: string - SourceCodeSpecification: - description: |- - Document representing a source code specification. - type: - CommerceCloudStandards.ClosedObject - properties: - expression: - description: |- - Expression is a value for the "Source Code Specification" may be literal source code, or it may contain wildcards. - Literal code is simply the literal code. Valid characters are letters and numbers (no spaces). - A wildcard allows a single source code specification to match multiple source codes. The following wildcards are supported: - - * ? - Matches any single alpha-numeric character. - - For example: the source code specification 'ABC?' would match 'ABCD' or 'ABC3', but not 'ABCDE'. - * \* - Matches any sequence of alpha-numeric characters. - - For example: the source code specification 'ABC*' would match 'ABCD', 'ABCDE', or 'ABC123'. - * [n1..n2] - Matches any number from n1 through and including n2. - - For example: the source code specification 'ABC[3..22]' would match 'ABC3', 'ABC4' or 'ABC22', but not 'ABC33' or 'ABCD'. - type: string - example: 'televisions[1..10000]' - -'/organizations/{organizationId}/source-code-groups/{id}': - delete: - description: Deletes the source code group by ID. - displayName: deleteSourceCodeGroup - is: - - CommerceCloudStandards.SiteSpecific - responses: - '204': - description: API returned successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.source-codes.rw ] } - get: - description: Action to retrieve source code group information. - displayName: getSourceCodeGroup - is: - - SourceCodeGroupTraits.SourceCodeGroupNotFound - - CommerceCloudStandards.SiteSpecific - responses: - '200': - description: API returned successfully. - body: - application/json: - type: SourceCodeGroup - example: !include Examples/get_source_code_groups_id.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.source-codes, sfcc.source-codes.rw ] } - patch: - description: Updates the source code group with the specified information. - displayName: updateSourceCodeGroup - is: - - SourceCodeGroupTraits.SourceCodeGroupNotFound - - CommerceCloudStandards.SiteSpecific - responses: - '200': - description: API returned successfully. - body: - application/json: - type: SourceCodeGroup - example: !include Examples/patch_source_code_group_id.raml - body: - application/json: - type: SourceCodeGroup - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.source-codes.rw ] } - put: - description: Creates a source code group using the information provided. - displayName: createSourceCodeGroup - is: - - SourceCodeGroupTraits.SourceCodeGroupInvalid - - SourceCodeGroupTraits.IdConflict - - CommerceCloudStandards.SiteSpecific - responses: - '200': - description: API returned successfully. - body: - application/json: - type: SourceCodeGroup - example: !include Examples/put_source_code_group_id.raml - - body: - application/json: - type: SourceCodeGroup - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.source-codes.rw ] } - uriParameters: - id: - description: The ID of the source code group to create. - maxLength: 28 - minLength: 1 - type: string - example: MySourceCodeGroup -'/organizations/{organizationId}/source-code-groups': - post: - description: | - Searches for source code groups. - - The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: - - | Attribute | Type | - |-----------|--------| - | id| String | - | description | String | - | sourceCode | String | - | startTime | DateTime | - | endTime | DateTime | - | creationDate | DateTime | - | enabled | Boolean | - | active | Boolean | - - The sourceCode and active fields can only be used in Queries as conjunctions (using AND). If the field is used in a disjunction - (OR) an exception will be thrown. - - The output of the query can also be sorted, with the following sortable attributes: - - | Attribute | Type | - |-----------|--------| - | id| String | - | description | String | - | enabled | Boolean | - | creationDate | DateTime | - displayName: sourceCodeGroupsSearch - is: - - SourceCodeGroupTraits.InvalidQuery - - CommerceCloudStandards.SiteSpecific - responses: - '200': - description: The API executed successfully. - body: - application/json: - type: SourceCodeGroupSearchResult - example: !include Examples/source-code-result-example.raml - '400': - description: SearchRequest post body is ill-formed. - body: - application/json: - type: CommerceCloudStandards.SearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.source-codes, sfcc.source-codes.rw ] } \ No newline at end of file diff --git a/apis/product/catalogs/.metadata.json b/apis/product/catalogs/.metadata.json deleted file mode 100644 index 3bd3a173..00000000 --- a/apis/product/catalogs/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/catalogs/0.0.36", - "name": "Catalogs", - "description": "Build searchable product categories and catalogs.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "catalogs", - "version": "0.0.36", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Product" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/product/catalogs/Examples/catalog-body.raml b/apis/product/catalogs/Examples/catalog-body.raml deleted file mode 100644 index d4d2e0f4..00000000 --- a/apis/product/catalogs/Examples/catalog-body.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "apparel-catalog", - "online": true - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/catalog-search-body-query.raml b/apis/product/catalogs/Examples/catalog-search-body-query.raml deleted file mode 100644 index 5f181fd4..00000000 --- a/apis/product/catalogs/Examples/catalog-search-body-query.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -#title: category-search-body -value: - { "query" : { - "termQuery": { - "fields" : ["is_storefront_catalog"], - "operator" : "is", - "values" : [true] - } - } - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/catalog-search-body.raml b/apis/product/catalogs/Examples/catalog-search-body.raml deleted file mode 100644 index fa84edcb..00000000 --- a/apis/product/catalogs/Examples/catalog-search-body.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 NamedExample -#title: category-search-body -value: - { - "start": 0, - "count": 50, - "query": { - "boolQuery": { - "should": [ - { - "textQuery": { - "searchPhrase": "Luggage", - "fields": [ - "name" - ] - } - } - ] - } - } - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/catalog-search-result-query.raml b/apis/product/catalogs/Examples/catalog-search-result-query.raml deleted file mode 100644 index 97e31eac..00000000 --- a/apis/product/catalogs/Examples/catalog-search-result-query.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "limit": 3, - "hits": [ - { - "assignedSites": [ - { - "cartridges": "sitegenesis_storefront_pipelines:sitegenesis_storefront_core:plugin_apple_pay:plugin_facebook:plugin_pinterest_commerce:plugin_web_payments:bc_content:core", - "customerListLink": { - "customerListId": "Site_1" - }, - "displayName": { - "default": "Site Site_1" - }, - "id": "Site_1", - "inDeletion": false, - "storefrontStatus": "online" - } - ], - "categoryCount": 53, - "creationDate": "2019-02-22T00:11:14.000Z", - "id": "NavigationCatalog_9430935", - "lastModified": "2019-02-22T00:11:14.000Z", - "name": { - "default": "Root Category" - }, - "online": true, - "recommendationCount": 0, - "rootCategory": "root" - }, - { - "assignedSites": [ - { - "cartridges": "sitegenesis_storefront_controllers:sitegenesis_storefront_core:plugin_apple_pay:plugin_facebook:plugin_pinterest_commerce:plugin_web_payments:bc_content:core", - "customerListLink": { - "customerListId": "SiteGenesis" - }, - "displayName": { - "default": "SiteGenesis" - }, - "id": "SiteGenesis", - "inDeletion": false, - "storefrontStatus": "online" - } - ], - "categoryCount": 66, - "creationDate": "2019-02-21T22:10:04.000Z", - "id": "storefront-catalog-en", - "lastModified": "2019-02-21T22:10:04.000Z", - "name": { - "it-IT": "Catalogo dello storefront - IT", - "default": "Storefront Catalog - EN", - "fr-FR": "Catalogue de boutique en ligne - FR", - "zh-CN": "网店目录 - EN", - "ja-JP": "ストアフロントカタログ - EN" - }, - "online": true, - "recommendationCount": 1865, - "rootCategory": "root" - }, - { - "assignedSites": [ - { - "cartridges": "sitegenesis_storefront_controllers:sitegenesis_storefront_core:plugin_apple_pay:plugin_facebook:plugin_pinterest_commerce:plugin_web_payments:bc_content:core", - "customerListLink": { - "customerListId": "SiteGenesis" - }, - "displayName": { - "default": "SiteGenesisGlobal" - }, - "id": "SiteGenesisGlobal", - "inDeletion": false, - "storefrontStatus": "online" - } - ], - "categoryCount": 42, - "creationDate": "2019-02-21T22:10:09.000Z", - "id": "storefront-catalog-non-en", - "lastModified": "2019-02-21T22:10:09.000Z", - "name": { - "it-IT": "Storefront Catalog - Non-EN", - "default": "Storefront Catalog - Non-EN", - "fr-FR": "Catalogue de boutique en ligne - Non - EN", - "zh-CN": "Storefront Catalog - Non-EN", - "ja-JP": "ストアフロントカタログ - Non-EN" - }, - "online": true, - "recommendationCount": 1865, - "rootCategory": "root" - } - ], - "query": { - "termQuery": { - "fields": [ - "is_storefront_catalog" - ], - "operator": "is", - "values": [ - true - ] - } - }, - "select": "(**)", - "offset": 0, - "total": 3 - } diff --git a/apis/product/catalogs/Examples/catalog-search-result.raml b/apis/product/catalogs/Examples/catalog-search-result.raml deleted file mode 100644 index 609592d1..00000000 --- a/apis/product/catalogs/Examples/catalog-search-result.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "hits": [ - { - "catalogId": "apparel-catalog", - "id": "mens-accessories-luggage" - } - ], - "query": { - }, - "limit": 1, - "offset": 0, - "total": 1 - } diff --git a/apis/product/catalogs/Examples/catalog.raml b/apis/product/catalogs/Examples/catalog.raml deleted file mode 100644 index 7881007d..00000000 --- a/apis/product/catalogs/Examples/catalog.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "categoryCount": 30, - "creationDate": "2019-02-21T22:09:39.000Z", - "id": "apparel-catalog", - "lastModified": "2019-02-21T22:09:39.000Z", - "name": { - "default": "Apparel Master Catalog" - }, - "online": true, - "recommendationCount": 0, - "rootCategory": "root" - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/catalogcategoryprdAssignment-example.raml b/apis/product/catalogs/Examples/catalogcategoryprdAssignment-example.raml deleted file mode 100644 index d3f6fa67..00000000 --- a/apis/product/catalogs/Examples/catalogcategoryprdAssignment-example.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -#title: catalogcategoryprdAssignment-example -value: - { - "catalogId": "apparel-catalog", - "categoryId": "kids-wear", - "owningCatalogName": { - "default": "Electronics Master Catalog" - }, - "position": 1.0, - "productId": "apple-ipod-shuffle", - "productName": { - "default": "Apple iPod Shuffle" - } -} \ No newline at end of file diff --git a/apis/product/catalogs/Examples/catalogcategoryprodAssignment-body.raml b/apis/product/catalogs/Examples/catalogcategoryprodAssignment-body.raml deleted file mode 100644 index e83c63da..00000000 --- a/apis/product/catalogs/Examples/catalogcategoryprodAssignment-body.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -#title: catalogcategoryprodAssignment-body -value: - { - - "catalogId": "apparel-catalog", - "categoryId": "kids-wear", - "productId": "apple-ipod-shuffle", - "position": 1.0 - - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/catalogs.raml b/apis/product/catalogs/Examples/catalogs.raml deleted file mode 100644 index c29ad699..00000000 --- a/apis/product/catalogs/Examples/catalogs.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -# This example is for Data Catalogs -value: - { - "limit": 2, - "data": [ - { - "id": "apparel-catalog" - }, - { - "id": "electronics-catalog" - } - ], - "offset": 0, - "total": 2 - } diff --git a/apis/product/catalogs/Examples/categories.raml b/apis/product/catalogs/Examples/categories.raml deleted file mode 100644 index 8847820f..00000000 --- a/apis/product/catalogs/Examples/categories.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 3, - "data": [ - { - "id": "kids-wear" - }, - { - "id": "mens" - }, - { - "id": "mens-accessories-luggage" - } - ], - "offset": 0, - "total": 3 - - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/category-body.raml b/apis/product/catalogs/Examples/category-body.raml deleted file mode 100644 index 1c2c8385..00000000 --- a/apis/product/catalogs/Examples/category-body.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -#title: category-body -value: - { - "catalogId": "apparel-catalog", - "id": "mens", - "online": true - -} \ No newline at end of file diff --git a/apis/product/catalogs/Examples/category-example.raml b/apis/product/catalogs/Examples/category-example.raml deleted file mode 100644 index 6cd2612d..00000000 --- a/apis/product/catalogs/Examples/category-example.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "catalogId": "apparel-catalog", - "categories": [ - { - "catalogId": "apparel-catalog", - "creationDate": "2019-02-21T22:09:40.000Z", - "id": "mens-accessories", - "lastModified": "2019-02-21T22:10:14.000Z", - "name": { - "default": "Accessories" - }, - "online": true, - "parentCategoryId": "mens" - }, - { - "catalogId": "apparel-catalog", - "creationDate": "2019-02-21T22:09:40.000Z", - "id": "mens-clothing", - "lastModified": "2019-02-21T22:10:15.000Z", - "name": { - "default": "Clothing" - }, - "online": true, - "parentCategoryId": "mens" - } - ], - "creationDate": "2019-02-21T22:09:40.000Z", - "id": "mens", - "lastModified": "2019-09-04T15:07:14.000Z", - "online": true, - "parentCategoryId": "root", - "position": 2.0 - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/category_product_assignment.raml b/apis/product/catalogs/Examples/category_product_assignment.raml deleted file mode 100644 index 54528efd..00000000 --- a/apis/product/catalogs/Examples/category_product_assignment.raml +++ /dev/null @@ -1,61 +0,0 @@ -#%RAML 1.0 NamedExample -#title: category_product_assignment -value: - { - "hits":[ - { - "catalogId":"NTOCatalog", - "categoryId":"NTOFirstClassCategory", - "creationDate":"2024-05-27T10:11:48.000Z", - "lastModified":"2024-05-27T10:11:48.000Z", - "owningCatalogName":{ - "default":"NTO Product Image Catalog" - }, - "product":{ - "assignedCategories":[ - { - "catalogId":"NTOCatalog", - "categoryId":"NTOFirstClassCategory" - } - ], - "brand":"Wapi brand", - "creationDate":"2024-05-27T10:11:45.000Z", - "id":"NTOSimpleBundle", - "image":{ - "absUrl":"https://www.yoursecureimageserver.com/foo/bar/bundle_image_detail.jpg", - "alt":{ - "default":"ALT bundle image detail" - }, - "path":"bundle_image_detail.jpg", - "title":{ - "default":"TITLE bundle image detail" - } - }, - "onlineFlag":{ - "default":true - }, - "searchable":{ - "default":true - } - }, - "productId":"NTOSimpleBundle", - "productName":{ - "default":"Simple Web API Bundle" - } - } - ], - "query":{ - "TermQuery":{ - "fields":[ - "product_id" - ], - "operator":"is", - "values":[ - "NTOSimpleBundle" - ] - } - }, - "limit":1, - "offset":0, - "total":1 -} \ No newline at end of file diff --git a/apis/product/catalogs/Examples/category_search-body-example.raml b/apis/product/catalogs/Examples/category_search-body-example.raml deleted file mode 100644 index aec20ec6..00000000 --- a/apis/product/catalogs/Examples/category_search-body-example.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the Data Category_Search body -value: - { "query" : { - "termQuery": { - "fields" : ["online"], - "operator" : "is", - "values" : [false] - } - } - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/category_search-result-example.raml b/apis/product/catalogs/Examples/category_search-result-example.raml deleted file mode 100644 index d7d7fb10..00000000 --- a/apis/product/catalogs/Examples/category_search-result-example.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the Data Category_Search -value: - { - "limit": 1, - "hits": [ - { - "catalogId": "storefront-catalog-en", - "creationDate": "2019-02-21T22:10:04.000Z", - "id": "electronics-accessories", - "lastModified": "2019-02-21T22:10:49.000Z", - "name": { - "default": "Accessories" - }, - "online": false, - "pageTitle": { - "default": "Electronics Accessories" - }, - "parentCategoryId": "electronics", - "position": 14.0 - } - ], - "query" : { - "termQuery": { - "fields" : ["online"], - "operator" : "is", - "values" : [false] - } - }, - "select": "(**)", - "offset": 0, - "total": 1 - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/excludedProductsRequest.raml b/apis/product/catalogs/Examples/excludedProductsRequest.raml deleted file mode 100644 index f58b94a4..00000000 --- a/apis/product/catalogs/Examples/excludedProductsRequest.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - [ - { - "productId": "red-shirt" - }, - { - "productId": "blue-shirt" - } - ] - } diff --git a/apis/product/catalogs/Examples/executionJobStatusResponse.raml b/apis/product/catalogs/Examples/executionJobStatusResponse.raml deleted file mode 100644 index cc84686b..00000000 --- a/apis/product/catalogs/Examples/executionJobStatusResponse.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - type: "evaluation", - "total": 5, - "jobStatus": "success", - "productIds": [ - "25772792", - "25772717" - ], - "limit": 2, - "offset": 3 - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/executionRequest.raml b/apis/product/catalogs/Examples/executionRequest.raml deleted file mode 100644 index a807cf6a..00000000 --- a/apis/product/catalogs/Examples/executionRequest.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "evaluation": true - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/getConditionByID.raml b/apis/product/catalogs/Examples/getConditionByID.raml deleted file mode 100644 index cd97e56d..00000000 --- a/apis/product/catalogs/Examples/getConditionByID.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "NameCondition", - "attributeKey": "name", - "attributeValue": [ - "Shirt" - ], - "attributeName": "name", - "operator": "starts_with" - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/getConditions.raml b/apis/product/catalogs/Examples/getConditions.raml deleted file mode 100644 index 50e38bb5..00000000 --- a/apis/product/catalogs/Examples/getConditions.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 2, - "data": [ - { - "id": "NameCondition", - "attributeKey": "name", - "attributeValue": [ - "Shirt" - ], - "attributeName": "name", - "operator": "starts_with" - }, - { - "id": "BrandCondition", - "attributeKey": "brand", - "attributeValue": [ - "Van Heusen" - ], - "attributeName": "brand", - "operator": "equals" - } - ], - "total": 2 - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/getExcludedProducts.raml b/apis/product/catalogs/Examples/getExcludedProducts.raml deleted file mode 100644 index c69cc915..00000000 --- a/apis/product/catalogs/Examples/getExcludedProducts.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 2, - "data": [ - { - "productId": "red-shirt" - }, - { - "productId": "blue-shirt" - } - ], - "total" :2 - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/getRules.raml b/apis/product/catalogs/Examples/getRules.raml deleted file mode 100644 index f5aa9211..00000000 --- a/apis/product/catalogs/Examples/getRules.raml +++ /dev/null @@ -1,56 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 2, - "data": [ - { - "id": "VHRule", - "enabled": true, - "exclusion": false, - "categorizationLocaleId": "en-US", - "categorizationClassificationFlag": true, - "categorizationPrimaryFlag": true, - "conditions": [ - { - "id": "NameCondition", - "attributeKey": "name", - "attributeValue": ["Shirt"], - "attributeName": "name", - "operator": "starts_with" - }, - { - "id": "BrandCondition", - "attributeKey": "brand", - "attributeValue": ["Van Heusen"], - "attributeName": "brand", - "operator": "equals" - } - ] - }, - { - "id": "DXRule", - "enabled": true, - "exclusion": false, - "categorizationLocaleId": "en-US", - "categorizationClassificationFlag": true, - "categorizationPrimaryFlag": true, - "conditions": [ - { - "id": "NameCondition", - "attributeKey": "name", - "attributeValue": ["Shirt"], - "attributeName": "name", - "operator": "starts_with" - }, - { - "id": "BrandCondition", - "attributeKey": "brand", - "attributeValue": ["DX"], - "attributeName": "brand", - "operator": "equals" - } - ] - } - ], - "total": 2 - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/getRulesByID.raml b/apis/product/catalogs/Examples/getRulesByID.raml deleted file mode 100644 index cc5592cb..00000000 --- a/apis/product/catalogs/Examples/getRulesByID.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "VHRule", - "enabled": true, - "exclusion": false, - "categorizationLocaleId": "en-US", - "categorizationClassificationFlag": true, - "categorizationPrimaryFlag": true, - "conditions": [ - { - "id": "NameCondition", - "attributeKey": "name", - "attributeValue": ["Shirt"], - "attributeName": "name", - "operator": "starts_with" - }, - { - "id": "BrandCondition", - "attributeKey": "brand", - "attributeName": "brand", - "attributeValue": ["Van Heusen"], - "operator": "equals" - } - ] - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/postRuleRequestBody.raml b/apis/product/catalogs/Examples/postRuleRequestBody.raml deleted file mode 100644 index 78aa367a..00000000 --- a/apis/product/catalogs/Examples/postRuleRequestBody.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - [ - { - "id": "VHRule", - "enabled": true, - "exclusion": false, - "categorizationLocaleId": "en-US", - "categorizationClassificationFlag": true, - "categorizationPrimaryFlag": true, - "conditions": [ - { - "id": "NameCondition", - "attributeKey": "name", - "attributeValue": ["Shirt"], - "operator": "starts_with" - }, - { - "id": "BrandCondition", - "attributeKey": "brand", - "attributeValue": ["Van Heusen"], - "operator": "equals" - } - ] - }, - { - "id": "DXRule", - "enabled": true, - "exclusion": false, - "categorizationLocaleId": "en-US", - "categorizationClassificationFlag": true, - "categorizationPrimaryFlag": true, - "conditions": [ - { - "id": "NameCondition", - "attributeKey": "name", - "attributeValue": ["Shirt"], - "operator": "starts_with" - }, - { - "id": "BrandCondition", - "attributeKey": "brand", - "attributeValue": ["DX"], - "operator": "equals" - } - ] - } - ] - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/product-assignment-body-example.raml b/apis/product/catalogs/Examples/product-assignment-body-example.raml deleted file mode 100644 index 79b1afc9..00000000 --- a/apis/product/catalogs/Examples/product-assignment-body-example.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 NamedExample -# title: product-assignment-body-example -value: - { - "query": { - "term_query": { - "fields": [ - "product_id" - ], - "operator": "is", - "values": [ - "NTOSimpleBundle" - ] - } - }, - "expand": [ - "product_categories", - "product_images" - ] -} \ No newline at end of file diff --git a/apis/product/catalogs/Examples/putConditionRequestBody.raml b/apis/product/catalogs/Examples/putConditionRequestBody.raml deleted file mode 100644 index cf4448b4..00000000 --- a/apis/product/catalogs/Examples/putConditionRequestBody.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "NameCondition", - "attributeKey": "brand", - "attributeValue": [ - "Van Heusen" - ], - "operator": "equals" - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/putRuleRequestBody.raml b/apis/product/catalogs/Examples/putRuleRequestBody.raml deleted file mode 100644 index 75f78887..00000000 --- a/apis/product/catalogs/Examples/putRuleRequestBody.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "VHRule", - "enabled" : true, - "exclusion" : false - } \ No newline at end of file diff --git a/apis/product/catalogs/Examples/single-category.raml b/apis/product/catalogs/Examples/single-category.raml deleted file mode 100644 index e8fd8f44..00000000 --- a/apis/product/catalogs/Examples/single-category.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "catalogId": "apparel-catalog", - "creationDate": "2019-02-21T22:09:40.000Z", - "id": "mens", - "lastModified": "2019-09-04T15:07:14.000Z", - "online": true, - "parentCategoryId": "root", - "position": 2.0 -} diff --git a/apis/product/catalogs/Traits/BadRequest.raml b/apis/product/catalogs/Traits/BadRequest.raml deleted file mode 100644 index 60845617..00000000 --- a/apis/product/catalogs/Traits/BadRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Catalogs API. -responses: - 400: - description: | - Bad Request. Thrown in case a specified parameter value is unknown. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Bad Request", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-query-parameter", - "detail": "offset-BAD-REQUEST parameters are not defined in RAML." - } diff --git a/apis/product/catalogs/Traits/JobExecutionNotFound.raml b/apis/product/catalogs/Traits/JobExecutionNotFound.raml deleted file mode 100644 index c803a96e..00000000 --- a/apis/product/catalogs/Traits/JobExecutionNotFound.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response when no JobExecution could be found for the specified catalog category. - -responses: - 404: - description: | - Resource requested not found. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "JobExecution Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/job-execition-not-found", - "detail": "No JobExecution could be found for given catalog, category", - "catalogId": "apparel-catalog", - "category": "Mens" - } \ No newline at end of file diff --git a/apis/product/catalogs/Traits/NotFound.raml b/apis/product/catalogs/Traits/NotFound.raml deleted file mode 100644 index 3bf7f0c8..00000000 --- a/apis/product/catalogs/Traits/NotFound.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in Data Catalogs API. -responses: - 404: - description: | - Requested resource not found. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Catalog Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/catalog-not-found", - "detail": "No catalog with ID '095c2082-5f2a-47d5-bc73-27d06c5c9db8' could be found.", - "catalogId": "095c2082-5f2a-47d5-bc73-27d06c5c9db8" - } diff --git a/apis/product/catalogs/Traits/RuleNotFound.raml b/apis/product/catalogs/Traits/RuleNotFound.raml deleted file mode 100644 index 7bbd5e91..00000000 --- a/apis/product/catalogs/Traits/RuleNotFound.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response when no rule could be found for the specified rule ID. - -responses: - 404: - description: | - Resource requested not found. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Rule Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/rule-not-found", - "detail": "No Rule with ID 'VHRULE' could be found.", - "ruleId": "VHRULE" - } \ No newline at end of file diff --git a/apis/product/catalogs/Traits/Unauthorized.raml b/apis/product/catalogs/Traits/Unauthorized.raml deleted file mode 100644 index c71fbeef..00000000 --- a/apis/product/catalogs/Traits/Unauthorized.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 401 response in Data Catalogs when an invalid client_id is passed. - - - -responses: - 401: - description: | - Unauthorized. Your Client ID is invalid, or you are not allowed to access - the content provided by the requested URL. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "iI6IjEiLCJhbGciOiJIUzI1NiIsInR5cCI6Ik" - } \ No newline at end of file diff --git a/apis/product/catalogs/catalogs-description.md b/apis/product/catalogs/catalogs-description.md deleted file mode 100644 index 678ffaf5..00000000 --- a/apis/product/catalogs/catalogs-description.md +++ /dev/null @@ -1,54 +0,0 @@ -# API Overview - -With the Catalogs API, you can: - -- Create, view, edit, and delete catalogs and categories. -- Assign and unassign products to categories. -- Search for a product within a category. -- Search for categories within a catalog or within a merchandising system. - -For more information, see the [Catalogs](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Catalogs/Catalogs.html) and [Categories](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Catalogs/Categories.html) sections of the Salesforce B2C Commerce Infocenter. - -## Authentication & Authorization - -The client managing catalog and category information must have access to the Categories and Catalogs resources. This API requires a bearer token in the header of the request. The client accessing the API must first authenticate against Account Manager to get the bearer token. - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -Here are some common use cases for the API: - -### Categorize Products - -Use the Catalogs API to assign products to categories so that shoppers can find all products that are merchandized in that category. - -![b2c-commerce-catalogs-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-catalogs-screenshot-1.png) - -### Validate Product Category Assignments - -Use the Catalogs API to search for products assigned to a category within a site catalog to validate whether a product is merchandized and ready to be sold in one or more ecommerce channels. You can also update a product to make sure it meets the readiness criteria for each channel. - -![b2c-commerce-catalogs-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-catalogs-screenshot-2.png) - -### Edit Categories - -Use the Catalogs API to edit categories assigned to a catalog to change the navigation path, make a category online or offline, change position of a category relative to other categories within a catalog. - -![b2c-commerce-catalogs-screenshot-3.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-catalogs-screenshot-3.png) - -## Resources - -A Salesforce B2C Commerce storefront implementation uses a Catalog, Category, and Product architecture to organize your storefront. Product data is stored in a catalog, and the stored product data is organized by categories. You can create any number of catalog, category, and product scenarios to address your business needs. - -### Catalogs - -A catalog is a collection of categories, products, and images. It’s best practice to create two catalogs: the master catalog and the storefront catalog. The master catalog provides the same structure as an external system of record for your products. The storefront catalog is where you create categories that appear on your storefront. - -### Categories - -You create and organize categories and subcategories to organize and group products in your catalog and on your storefront. Categories allow Products to be organized into hierarchical structures. Categories can have relationships to other parent categories. Each category also can provide a context that is inherited by subcategories, for example a category may have an attribute value assigned to it and any product assigned to the category or a subcategory would inherit the attribute value as long as the product is assigned. Once the product is removed from the category those attribute values would no longer be in the context of the product. - -### Products - -Products are the items and services for sale on the storefront. All of your product data is stored in your master catalog. For a product or service to show on your storefront, it must be assigned to a category. diff --git a/apis/product/catalogs/catalogs-traits-library.raml b/apis/product/catalogs/catalogs-traits-library.raml deleted file mode 100644 index 4b862588..00000000 --- a/apis/product/catalogs/catalogs-traits-library.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -types: - ErrorResponse: ApiStandards.ErrorResponse - -traits: - Unauthorized: !include Traits/Unauthorized.raml - BadRequest: !include Traits/BadRequest.raml - NotFound: !include Traits/NotFound.raml - RuleNotFound: !include Traits/RuleNotFound.raml - JobExecutionNotFound: !include Traits/JobExecutionNotFound.raml - offset-paginated: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml - RateLimited3: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml - RateLimited4: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml - RateLimited5: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml - diff --git a/apis/product/catalogs/catalogs.raml b/apis/product/catalogs/catalogs.raml deleted file mode 100644 index 34a0824f..00000000 --- a/apis/product/catalogs/catalogs.raml +++ /dev/null @@ -1,2428 +0,0 @@ -#%RAML 1.0 -title: Catalogs -version: v1 -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/product/catalogs/{version} -protocols: HTTPS - -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include catalogs-description.md - -uses: - CatalogTraits: catalogs-traits-library.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - Search: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml - -types: - Catalogs: - description: Catalogs allow categories to be organized into hierarchical structures. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 2 - data: - description: The collection of catalogs. - type: Catalog[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 10 - Catalog: - description: Document representing a catalog. - type: - CommerceCloudStandards.OpenObject - properties: - assignedProductCount: - description: The count of products assigned to the catalog. It is read only. - type: integer - format: int32 - required: false - example: 20 - assignedSites: - description: The sites assigned to the catalog. It is read only. - type: Site[] - required: false - categoryCount: - description: The category count of catalog. It is read only. - type: integer - format: int32 - required: false - example: 10 - creationDate: - description: Returns the value of attribute 'creationDate'. It is read only. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - description: - description: The description of catalog. - type: object - properties: - //: - type: string - required: false - id: - description: The catalog ID. - type: string - example: apparel-catalog - lastModified: - description: Returns the value of attribute 'lastModified'. It is read only. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - name: - description: The catalog name. - type: object - properties: - //: - type: string - required: false - online: - description: The online status of catalog. - type: boolean - required: false - example: false - ownedProductCount: - description: The count of products owned by the catalog. It is read only. - type: integer - format: int32 - required: false - example: 100 - recommendationCount: - description: The recommendation count of the catalog. It is read only. - type: integer - format: int32 - required: false - example: 50 - rootCategory: - description: The root category of the catalog. It is read only. - type: string - required: false - example: apparel-master-catalog - CatalogCategoryId: - description: Document representing a catalog category ID. - properties: - catalogId: - description: The ID of the catalog that owns the category. - maxLength: 256 - minLength: 1 - type: string - example: apparel-catalog - categoryId: - description: The ID of the category. - maxLength: 256 - minLength: 1 - type: string - example: mens - CatalogCategorySearchRequest: - type: CommerceCloudStandards.SearchRequest - example: !include Examples/catalog-search-body.raml - CatalogSearchRequest: - type: CommerceCloudStandards.SearchRequest - example: !include Examples/catalog-search-body-query.raml - Categories: - description: Categories allow products to be organized into hierarchical structures. Categories can have relationships to other parent categories. Each category also can provide a context inherited by subcategories. For example, a category may have an attribute value assigned to it, and any product assigned to the category or a subcategory would inherit the attribute value as long as the product is assigned. Once the product is removed from the category those attribute values would no longer be in the context of the product. Linking of categories is also used for Site hierarchical navigation. For example, inside 'Clothing' you may have 'Mens', and inside 'Mens' you may have 'Pants'. Categories are not *Tags*. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: Data - type: Category[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 100 - Category: - description: Document representing a category. - type: - CommerceCloudStandards.OpenObject - properties: - catalogId: - description: The ID of the catalog that contains it. - type: string - required: false - example: apparel-catalog - categories: - description: The array of subcategories for the category. - type: Category[] - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. It is read only. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - description: - description: The localized description of the category. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Mens Clothing Outerwear"} - id: - description: The ID of the category. - maxLength: 256 - minLength: 1 - type: string - example: mens-clothing-outerwear - image: - description: The name of the category image. The URL to the image is computed. - maxLength: 256 - minLength: 1 - type: string - required: false - example: Summer Bomber Jacket - lastModified: - description: Returns the value of attribute 'lastModified'. It is read only. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - name: - description: The localized name of the category. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Mens Clothing Outerwear"} - online: - description: The online status of the category determines if it is visible in the storefront. Defaults to false if not specified on creation. - type: boolean - required: false - example: true - pageDescription: - description: The localized page description of the category. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Mens Outerwear Category"} - pageKeywords: - description: The localized page keywords for the category. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Outerwear"} - pageTitle: - description: The localized page title of the category. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Mens Clothing Outerwear"} - parentCategoryId: - description: The ID of the parent category. Defaults to root if not specified on creation. - maxLength: 256 - minLength: 1 - type: string - required: false - example: mens-clothing - paths: - description: The path record. - type: PathRecord[] - required: false - position: - description: The position of the category determines the display order in the storefront. - type: number - format: double - required: false - example: 3 - sortingRules: - description: The category sorting rules. - type: SortingRule[] - required: false - thumbnail: - description: The name of the category thumbnail. The URL to the thumbnail is computed. - maxLength: 256 - minLength: 1 - type: string - required: false - example: Summer Bomber Jacket Large - CategoryLink: - description: Document representing a category link. - properties: - lastModified: - description: The date the link was last modified. - type: datetime - example: 9999-12-31T00:00:00.0Z - position: - description: The position in the source catalog or category for this link, relative to the other links in the same category. - minimum: 0 - type: number - format: double - example: 5 - sourceCatalogId: - description: The source catalog for the link. - type: string - example: apparel-catalog - sourceCatalogName: - description: The name of the source catalog. - type: object - properties: - //: - type: string - example: { "default": "Apparel Catalog" } - sourceCategoryId: - description: The source category for the link. - type: string - example: mens-clothing-outerwear - sourceCategoryName: - description: The name of the source category. - type: object - properties: - //: - type: string - example: { "default": "Men's Clothing" } - targetCatalogId: - description: The target category for the link. - type: string - example: apparel-mens-catalog - targetCatalogName: - description: The name of the target catalog. - type: object - properties: - //: - type: string - example: { "default": "Men's Apparel Catalog" } - targetCategoryId: - description: The target category for the link. - type: string - example: mens-clothing-accessories - targetCategoryName: - description: The name of the target category. - type: object - properties: - //: - type: string - example: { "default": "Men's Clothing Outerwear" } - type: - description: The link type. - type: string - enum: - - other - - accessories - - cross_selling - - up_selling - - spare_parts - example: accessories - CategoryLinks: - description: Document representing an unfiltered list of category links. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: data - type: CategoryLink[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 20 - CategoryProductAssignment: - description: Document representing a category product assignment. - properties: - catalogId: - description: The ID of the catalog. - maxLength: 256 - minLength: 1 - type: string - example: apparel-catalog - categoryId: - description: The ID of the category. - maxLength: 256 - minLength: 1 - type: string - example: mens - owningCatalogName: - description: The name of the catalog that owns the product. - type: object - properties: - //: - type: string - required: false - position: - description: The position of product category assignment. - type: number - format: double - required: false - example: 2 - product: - description: The product that is assigned to the category. - type: Product - required: false - productId: - description: The ID of the product. - maxLength: 256 - minLength: 1 - type: string - example: "11736753" - productName: - description: The name of the product. - type: object - required: false - example: { - "default": "Summer Bomber Jacket" - } - CategoryProductAssignmentSearchRequest: - type: CommerceCloudStandards.SearchRequest - example: !include Examples/product-assignment-body-example.raml - CategoryProductAssignmentSearchResult: - description: Document representing a product search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of search hits. This array can be empty. - type: CategoryProductAssignment[] - CategorySearchRequest: - type: CommerceCloudStandards.SearchRequest - example: !include Examples/category_search-body-example.raml - CategorySearchResult: - description: Document representing a catalog search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of search hits. Can be empty. - type: Category[] - CustomerListLink: - description: Document representing a link to a customer list. - properties: - customerListId: - description: The customerlist ID. - type: string - example: SiteGenesis - title: - description: The link title. - type: object - properties: - //: - type: string - required: false - ImageGroup: - description: Document representing an image group containing a list of images for a particular view type and an optional variation value. - properties: - images: - description: The images of the image group. - type: MediaFile[] - variationAttributes: - description: Returns a list of variation attributes applying to this image group. - type: VariationAttribute[] - viewType: - description: The image view type. - type: string - example: detail - MarkupText: - description: The HTML markup text. - properties: - markup: - description: The rendered HTML. - type: string - example: "" - source: - description: The raw markup text. - type: string - example: "" - Master: - description: The master price information. - properties: - masterId: - description: The master price ID. - maxLength: 100 - minLength: 1 - type: string - example: summer-jacket - orderable: - description: The orderable flag. - type: boolean - required: false - example: true - price: - description: The price value. - type: number - format: double - required: false - example: 115.99 - priceMax: - description: The maximum price. - type: number - format: double - required: false - example: 120 - prices: - description: The prices object. - type: object - properties: - //: - type: number - format: double - required: false - MediaFile: - description: The media file information. - properties: - absUrl: - description: The absolute URL with request protocol. - type: string - required: false - example: "https://www.example-image.com/images/summer-bomberjacket.jpg" - alt: - description: The alternative image text. - type: object - properties: - //: - type: string - example: {"en_US" : "SummerBomberJacket"} - disBaseUrl: - description: The Dynamic Image Service (DIS) base URL for product images only. - type: string - required: false - example: "https://www.dis-base-url/images/summer-bomberjacket.jpg" - path: - description: The raw media file path. - type: string - example: "images/summer-bomberjacket.jpg" - title: - description: The image title. - type: object - properties: - //: - type: string - example: {"en_US" : "SummerBomberJacket"} - Money: - description: The money value and currency. - properties: - currencyMnemonic: - description: The currency mnemonic for the money. - type: string - example: "USD" - value: - description: The value for the money. - type: number - format: double - example: 120 - PathRecord: - description: Document representing most basic info (ID and name) of a category or catalog. - type: - CommerceCloudStandards.OpenObject - properties: - id: - description: The ID of the category path. - type: string - example: "mens-clothing" - name: - description: The name of the category path. - type: object - properties: - //: - type: string - required: false - Product: - description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. Product that has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. - type: - CommerceCloudStandards.OpenObject - properties: - assignedCategories: - description: The catalog categories that the product is assigned to. - type: CatalogCategoryId[] - required: false - ats: - description: The Available To Sell (ATS) of the product. If it is infinity, the return value is 999999. The value can be overwritten by the - OCAPI setting 'product.inventory.ats.max_threshold'. - type: number - format: double - required: false - example: 10000 - brand: - description: The brand of the product. - type: string - required: false - example: BestOuterwareCorp - bundledProducts: - description: The array of bundled products which the product includes. - type: Product[] - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - defaultVariantId: - description: The ID of the product's default variant. - type: string - required: false - example: summer-bomber-jacker-001-black - ean: - description: The European Article Number of the product. - type: string - required: false - example: "1232332" - id: - description: The ID (SKU) of the product. - maxLength: 100 - minLength: 1 - required: false - type: string - example: "ksdf69w4" - image: - description: The image(s) assigned to the product. - type: MediaFile - required: false - imageGroups: - description: The array of product image groups. - type: ImageGroup[] - required: false - inStock: - description: The flag that indicates if the product is in stock or not. This is a calculated value. - type: boolean - required: false - example: true - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - longDescription: - description: The localized long description of the product. - type: object - properties: - //: - type: MarkupText - required: false - manufacturerName: - description: The name of the product's manufacturer. - type: string - required: false - example: BestOuterwareCorp - manufacturerSku: - description: The SKU of the product's manufacturer. - type: string - required: false - example: "we4r44534" - master: - description: The master of the product. This is applicable for product types "variation_group" and "variant" only. - type: Master - required: false - name: - description: The localized name of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Summer Bomber Jacket"} - online: - description: The flag that indicates if the product is online, or not. This is a calculated value. - type: boolean - required: false - example: true - onlineFlag: - description: The site-specific online status of the product. - type: object - properties: - //: - type: boolean - required: false - example: {"Site1":true} - owningCatalogId: - description: The ID of the catalog that owns the product. - type: string - required: false - example: apparel-master-catalog - owningCatalogName: - description: The localized name of the catalog that owns the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Apparel Master Catalog"} - pageDescription: - description: The localized page description of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"This lightweight bomber jacket is the epitome of summer style"} - pageKeywords: - description: The localized page keywords of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Jacket"} - pageTitle: - description: The localized page title of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Summer Outerwear"} - price: - description: The price of the product. - type: number - format: double - required: false - example: 115.99 - priceCurrency: - description: The currency code for a product's price. - type: string - required: false - example: "USD" - primaryCategoryId: - description: The ID of the products primary category. - type: string - required: false - example: Outerwear - productBundles: - description: The array of product bundles which the product belongs to. - type: Product[] - required: false - productOptions: - description: The array of product options. This is applicable for products of type "option". - type: ProductOption[] - required: false - productSets: - description: The array of product sets which the product belongs to. - type: Product[] - required: false - searchable: - description: The site-specific searchable status of the product. - type: object - properties: - //: - type: boolean - required: false - example: {"Site1":true} - setProducts: - description: The array of set products which the product includes. - type: Product[] - required: false - shortDescription: - description: The localized short description of the product. - type: object - properties: - //: - type: MarkupText - required: false - type: - description: 'The type of the product. It can have one or more of the values: "item", "master", "variation_group", "variant", "bundle", and "set".' - type: ProductType - required: false - unit: - description: The sales unit of the product. - type: string - required: false - example: single - upc: - description: The Universal Product Code (UPC) of the product. - type: string - required: false - example: "66JSD88JASD" - variants: - description: The array of variants of the product. This is applicable for product types "master" and "variation_group" only. - type: Variant[] - required: false - variationAttributes: - description: |- - The sorted array of variation attributes assigned to the product. This is applicable for product types "master", - "variation_group" and "variant" only. - type: VariationAttribute[] - required: false - variationGroups: - description: The array of variation groups in the product. This is applicable for product type "master" only. - type: VariationGroup[] - required: false - variationValues: - description: |- - The variation values selected for the product in variation attribute ID and value pairs. Applicable for product types "variant" and - "variation_group" only. - type: object - properties: - //: - type: string - required: false - example: {"color":"black","size":"L"} - ProductOption: - description: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can't be purchased separately. *Product Option has a SKU and a price is associated with it.* - properties: - customName: - description: The localized custom name of the product option. - type: object - properties: - //: - type: string - example: {"en_US":"Warranty"} - defaultProductOptionValue: - description: The default product option value. - type: string - example: "5-years" - description: - description: The localized description of the product option. - type: object - properties: - //: - type: string - example: {"en_US":"5 year Warranty Option"} - id: - description: The object attribute definition ID, which is also the identifier for the product option. - minLength: 1 - type: string - example: "warranty" - image: - description: The image assigned to the product option. - type: MediaFile - required: false - name: - description: The name of the object attribute definition. - type: string - example: "warranty" - selectedOptionValue: - description: The selected option value of the product option. - type: string - example: "5-years" - shared: - description: The flag that indicates if the product option is shared or local. - type: boolean - example: true - sortingMode: - description: The sorting mode for the product option values. - type: string - enum: - - byexplicitorder - - byoptionprice - example: byoptionprice - values: - description: The sorted array of values of the product option. - type: ProductOptionValue[] - ProductOptionValue: - description: Document representing a product option Value - properties: - defaultProductOptionValue: - description: Flag indicating if the product option value is the default value for the product option. - type: boolean - example: true - id: - description: The ID of the product option value. - minLength: 1 - type: string - example: "5-year" - optionPrices: - description: The list of prices in the product option value. - type: Money[] - skuExtension: - description: The SKU extension of the product option value. - type: string - example: "extension" - value: - description: The localized value of the product option. - type: object - properties: - //: - type: string - example: {"en_US":"5 Year Warranty"} - ProductOptionValues: - description: Document representing an unfiltered list of product option values. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: data - type: ProductOptionValue[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 20 - ProductOptions: - description: Document representing an unfiltered list of product options. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: data - type: ProductOption[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 20 - ProductType: - description: Document representing a product type. - properties: - bundle: - description: A flag indicating whether the product is a bundle. - type: boolean - required: false - example: true - bundled: - description: A flag indicating whether the product is bundled. - type: boolean - required: false - example: false - item: - description: A flag indicating whether the product is a standard item. - type: boolean - required: false - example: false - master: - description: A flag indicating whether the product is a master. - type: boolean - example: false - option: - description: A flag indicating whether the product is an option. - type: boolean - required: false - example: true - partOfProductSet: - description: A flag indicating whether the product is part of product set. - type: boolean - required: false - example: true - partOfRetailSet: - description: A flag indicating whether the product is part of retail set. - type: boolean - required: false - example: true - retailSet: - description: A flag indicating whether the product is a retail set. - type: boolean - required: false - example: true - set: - description: A flag indicating whether the product is a set. - type: boolean - required: false - example: false - variant: - description: A flag indicating whether the product is a variant. - type: boolean - required: false - example: true - variationGroup: - description: A flag indicating whether the product variation group is set. - type: boolean - required: false - example: false - Site: - description: Document representing a site. - properties: - cartridges: - description: The cartridge path of the site. - type: string - required: false - example: sitegenesis_storefront_controllers:sitegenesis_storefront_core - customerListLink: - description: The link to the customer list. - type: CustomerListLink - required: false - description: - description: The description of this site. - type: object - properties: - //: - type: string - required: false - example: { - "default": "Prototypical site used for starting point", - } - displayName: - description: The display name entered by the user. - type: object - properties: - //: - type: string - example: { - "default": "Site Genesis", - } - id: - description: The ID of this site. - minLength: 1 - type: string - example: SiteGenesis - inDeletion: - description: The deletion status of this site, true if in deletion. - type: boolean - required: false - example: false - storefrontStatus: - description: The storefront status of the site, it can be optionally be set to online, maintenance, to_be_deleted, and protected. - type: string - enum: - - online - - maintenance - - to_be_deleted - - protected - required: false - example: online - SortingRule: - description: Document representing a product sorting rule. - type: - CommerceCloudStandards.OpenObject - properties: - creationDate: - description: The creation date, read only. - type: datetime - example: 9999-12-31T00:00:00.0Z - description: - description: The description of the product sorting rule. - maxLength: 4000 - type: string - example: Sorts by price descending - id: - description: The ID of the product sorting rule. - type: string - example: proce-high-to-low - productSortingRuleSteps: - description: The steps involved in sorting by this rule. - type: SortingRuleStep[] - ruleContext: - description: The context of the rule, either site or global. - type: string - example: site - site: - description: 'The site.' - type: string - example: SiteGenesis - SortingRuleStep: - description: Document representing a product sorting rule step. - type: - CommerceCloudStandards.OpenObject - properties: - attributeId: - description: The ID for sorting attribute. - type: string - example: price - direction: - description: The direction of the sorting attribute. - type: string - enum: - - asc - - desc - example: desc - isSystem: - description: Whether or not the attribute is a system attribute. - type: boolean - example: false - position: - description: The position of product sorting rule step. - type: integer - format: int32 - example: 1 - textRelevanceIncluded: - description: The text relevance included. - type: boolean - example: true - typeId: - description: The sorting type for sorting attribute. - type: string - example: price - - Variant: - description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU* - properties: - ats: - description: The Available To Sell (ATS) inventory value of the product. This is a calculated value. - type: number - format: double - required: false - example: 10000 - defaultProductVariation: - description: Default product variation flag, true or false - type: boolean - required: false - example: true - image: - description: URL to the preview image. - type: MediaFile - required: false - inStock: - description: True if the product is in stock, false if not. - type: boolean - required: false - example: true - online: - description: |- - If the product is currently online. - true if online - false if not - type: boolean - required: false - example: true - orderable: - description: A flag indicating whether the variant is orderable. - type: boolean - required: false - example: true - price: - description: The sales price of the variant. - type: number - format: double - required: false - example: 115.99 - priceCurrency: - description: Currency code for the price of the product. - type: string - required: false - example: USD - productId: - description: The ID (SKU) of the variant. - maxLength: 100 - minLength: 1 - type: string - example: "28392Ww35" - searchable: - description: 'The searchable attribute.' - type: object - properties: - //: - type: boolean - required: false - example: {"Site1":true} - variationAttributes: - description: Variation attributes. - type: VariationAttribute[] - required: false - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - required: false - example: {"color":"black","size":"L"} - VariationAttribute: - description: Document representing a variation attribute. - properties: - attributeDefinitionId: - description: The ID of the requested attribute definition. - type: string - example: "color" - attributeDefinitionName: - description: The localized display name of the variation attribute definition. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Color"} - defaultValue: - description: Default variation attribute value. - type: string - required: false - example: black - id: - description: The ID of the variation attribute. - minLength: 1 - type: string - required: false - example: color - name: - description: The localized display name of the variation attribute. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Color"} - shared: - description: Returns the value of attribute 'shared' if attribute is local or shared. - type: boolean - required: false - example: true - slicing: - description: Returns the value of attribute 'slicing'. - type: boolean - required: false - example: true - values: - description: The sorted array of variation values. This array can be empty. - type: VariationAttributeValue[] - required: false - variationAttributeType: - description: Variation attribute type. - type: string - enum: - - string - - int - - unknown - required: false - example: string - VariationAttributeValue: - description: Document representing a variation attribute value. - properties: - description: - description: The localized description of the variation value. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Red"} - image: - description: The first product image for the configured viewtype and this variation value. - type: MediaFile - required: false - imageSwatch: - description: The first product image for the configured viewtype and this variation value (typically the swatch image). - type: MediaFile - required: false - name: - description: The localized display name of the variation value. - type: object - properties: - //: - type: string - required: false - example: {"color":"Red"} - orderable: - description: A flag indicating whether at least one variant with this variation attribute value is available to sell. - type: boolean - required: false - example: true - position: - description: The position of the value among all values of a variation attribute. - type: number - format: double - required: false - example: 2 - value: - description: The actual variation value. - minLength: 1 - type: string - example: red - VariationAttributeValues: - description: Document representing an unfiltered list of variation attribute values. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: data - type: VariationAttributeValue[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 20 - VariationAttributes: - description: Document representing an unfiltered list of variation attributes. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: The data that includes variation attribute items. - type: VariationAttribute[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 20 - VariationGroup: - description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Doesn't have a SKU.* - properties: - orderable: - description: A flag indicating whether the variation group is orderable. - type: boolean - example: true - price: - description: The sales price of the variation group. - type: number - format: double - example: 119.99 - productId: - description: The ID (SKU) of the variation group. - maxLength: 100 - minLength: 1 - type: string - example: "90u390w3" - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - example: {"color": "Red"} - CatalogSearchResult: - description: Document representing a catalog search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of search hits. Can be empty. - type: Catalog[] - RuleRequest: - description: This document represents the request body while creating a rule. - properties: - id: - description: The ID of the rule. - type: string - example: VHRule - required: true - enabled: - description: A flag indicating whether this rule is enabled. - type: boolean - default: false - example: false - exclusion: - description: A flag indicating whether this rule is an exclusion. - type: boolean - default: false - example: false - categorizationLocaleId: - description: | - This field indicates the locale to be used for evaluating rules/conditions for the entire category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. - type: string - example: en-US - required: false - categorizationClassificationFlag: - description: | - This field indicates if the matching products assigned as a result of the rules run will be given the tag for classification category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. - type: boolean - default: false - example: true - required: false - categorizationPrimaryFlag: - description: | - This field indicates if the matching products assigned as a result of the rules run will be given the tag for primary category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. - type: boolean - default: false - required: false - example: true - Rule: - description: Document representing a categorization rule. - type: RuleRequest - properties: - conditions: - description: The list of conditions for the rule. - type: Condition[] - required: false - Condition: - description: Document representing a condition. - properties: - id: - description: The ID of the condition. - type: string - example: NameCondition - required: true - attributeKey: - description: The key of the attribute(system or custom). This represents the ID of the attribute. - type: string - example: name - required: true - attributeName: - description: The human-readable name of the attribute(system or custom). This is a read-only field. - type: string - example: name - required: false - attributeValue: - description: The value of the attribute. - type: string[] - example: ["Shirt"] - operator: - description: The operator for the condition. - type: string - example: starts_with - required: true - enum: - - starts_with - - contains - - equals - - not_equals - - greater_than - - less_than - - is_one_of - - not_one_of - - is_defined - - is_not_defined - RulesResult: - description: Result document containing an array of rules. - properties: - limit: - description: The number of returned rules. - type: integer - format: int32 - example: 5 - data: - description: The list of rules. This can be empty. *Note* - If the exclusion attribute is set to true, the rule is designated as an Exclusion rule. Any item matching an Exclusion rule is omitted from the final result set. - type: Rule[] - required: false - total: - description: The total number of rules. - type: integer - format: int32 - example: 5 - RulesRequest: - description: Request document containing an array of rules for saving multiple rules. - properties: - data: - description: The list of rules. This can be empty. - type: Rule[] - required: false - ConditionsResult: - description: Result document containing an array of conditions. - properties: - limit: - description: The number of returned conditions. - type: integer - format: int32 - example: 10 - conditions: - description: The list of conditions for a rule. This can be empty. - type: Condition[] - required: false - total: - description: The total number of conditions. - type: integer - format: int32 - example: 10 - ExecutionRequest: - description: The document representing the execution Request for categorization. - properties: - evaluation: - description: A flag indicating whether only an evaluation job needs to be performed. - type: boolean - default: true - example: true - ExecutionJobStatusResult: - description: The status of the execution job. - properties: - type: - description: The type of execution job. - type: string - required: false - enum: - - evaluation - - execution - example: evaluation - assignedCount: - description: Indicates total number of products assigned by the execution job. - type: integer - required: false - example: 100 - unassignedCount: - description: Indicates total number of products unassigned by the execution job. - type: integer - required: false - example: 100 - matchedCount: - description: Indicates total number of products evaluated and matched by the evaluation job. - type: integer - required: false - example: 100 - jobStatus: - description: Indicates the status of the rules execution job (that is, indicates whether the job completed successfully or an error occurred). - type: string - required: true - example: success - enum: - - inProgress - - success - - error - - unavailable - message: - description: A description of any errors, failures, and exceptions that caused the job to fail. - type: string - required: false - example: "Job execution failed to start." - lastRunDate: - description: The date that the rules categorization job was last run for given catalog and category. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - productIds: - description: The list of matched product IDs returned by the execution job. - type: string[] - required: false - example: [ "25772717", - "25772792"] - limit: - description: The number to products to return. - type: integer - format: int32 - required: false - example: 20 - offset: - description: The zero-based index of the first search hit to include in the result. - type: integer - format: int32 - required: false - example: 10 - ExcludedProductsResult: - description: The list of excluded products. - properties: - limit: - description: The number of returned excluded product records. - type: integer - format: int32 - example: 10 - data: - description: The list of the excluded products. This can be empty. - type: ExcludedProduct[] - required: false - total: - description: The total number of excluded product records. - type: integer - format: int32 - example: 5 - ExcludedProduct: - description: The excluded product record. - properties: - productId: - description: The ID of the product. - type: string - example: red-shirt - required: true - ExcludedProductRequest: - description: The excluded product record - properties: - data: - description: The list of the excluded products. - type: ExcludedProduct[] - required: true - - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /catalogs: - get: - description: Action to get the list of catalog IDs with no filtering. - displayName: getCatalogs - is: - - CatalogTraits.Unauthorized - - CatalogTraits.BadRequest - - CatalogTraits.offset-paginated: - maxLimit: 50 - defaultSize: 25 - responses: - '200': - description: Catalogs Retrieved Successfully - body: - application/json: - type: Catalogs - examples: - catalogs: !include Examples/catalogs.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - /{catalogId}: - get: - description: Gets the catalog with the specified information. - displayName: getCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - '200': - description: Catalog Retrieved Successfully - body: - application/json: - type: Catalog - examples: - catalog: !include Examples/catalog.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - patch: - description: Updates the catalog with the specified information. - displayName: updateCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - '200': - description: Catalog Updated Successfully - body: - application/json: - type: Catalog - examples: - catalog: !include Examples/catalog.raml - - body: - application/json: - type: Catalog - examples: - catalog: !include Examples/catalog-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - uriParameters: - catalogId: - description: The ID of the requested catalog. - minLength: 1 - type: string - example: apparel-catalog - /categories: - get: - description: Action to get all the categories with no filtering. - displayName: getCategoriesFromCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.BadRequest - - CatalogTraits.NotFound - - CatalogTraits.offset-paginated: - maxLimit: 50 - defaultSize: 25 - responses: - '200': - description: Categories Retrieved Successfully - body: - application/json: - type: Categories - examples: - categories: !include Examples/categories.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - /{categoryId}: - delete: - description: Deletes the category by catalog ID and category ID. - displayName: deleteCategoryFromCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - - CatalogTraits.NotFound - responses: - '204': - description: Category Deleted Successfully - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - get: - description: |- - Action to read an existing category within a catalog. By default, the server - also returns the first level of sub-categories, but you can specify another level by setting the levels - parameter. Using a large value for levels may cause performance - issues in case of a large and deep category tree. - displayName: getCategoryFromCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.BadRequest - - CatalogTraits.NotFound - responses: - '200': - description: Category Retrieved Successfully - body: - application/json: - type: Category - examples: - category: !include Examples/category-example.raml - - queryParameters: - levels: - description: 'The level number' - minimum: 0 - type: integer - format: int32 - required: false - example: 0 - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - patch: - description: Updates a catalog category using the information provided. - displayName: updateCategoryInCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.BadRequest - - CatalogTraits.NotFound - responses: - '200': - description: Category Updated Successfully - body: - application/json: - type: Category - examples: - category: !include Examples/single-category.raml - - body: - application/json: - type: Category - examples: - category: !include Examples/category-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - put: - description: Creates a catalog category using the information provided. - displayName: createCategoryInCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.BadRequest - - CatalogTraits.NotFound - responses: - '201': - description: Category Created Successfully - body: - application/json: - type: Category - examples: - category: !include Examples/single-category.raml - '200': - description: Category Updated Successfully - body: - application/json: - type: Category - examples: - category: !include Examples/single-category.raml - body: - application/json: - type: Category - examples: - category: !include Examples/category-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - uriParameters: - categoryId: - description: The ID of the category to be created. - maxLength: 256 - minLength: 1 - type: string - example: mens - /category-product-assignment-search: - post: - description: | - Searches for category product assignments. The query attribute specifies a complex query that can be used to narrow down the search. - - The following are searchable attributes: - - | Attribute | Type | - |-----------|--------| - | productId| String | - | productName | String | - | onlineFlag | Boolean | - | searchable | Boolean | - | validFrom | DateTime | - | validTo | DateTime | - | creationDate | DateTime | - - - Sortable Fields: - - | Attribute | Type | - |-----------|--------| - | productId| String | - | productName | String | - | position | Double | - | creationDate | DateTime | - - Expansions that can be applied for the search request: - - product_base - String - - The product_base expand will enable retrieval of the following basic product information: - - | Attribute | Type | Function | - |-----------|--------|-----| - | none | String | Will not fetch any expanded information. - | product_images| String | Fetch preview image and image groups specified for the given product. | - | product_all_images | String | Fetch preview image, image groups specified for the product, and variant and variation group images. | - | product_variations | String | Fetch variations related information. | - | product_availability | String | Fetch availability related information. | - | product_categories | String | Fetch category related information. | - | product_prices | String | Fetch price related information. | - | product_options | String | Fetch options related information. | - | product_all | String | Fetch all expanded information. This is the default used when no expand value is included in the request.| - - Note: productAll includes the following: - - brand - - ean - - link - - longDescription - - manufacturerName - - manufacturerSku - - name - - pageDescription - - pageKeywords - - pageTitle - - searchable - - shortDescription - - type - - unit - - upc - - displayName: searchProductsAssignedToCategory - queryParameters: - siteId: - description: The site ID of the context for the product being queried for in the request. - type: string - required: false - example: SiteGenesis - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - '200': - description: Assignments searched successfully - body: - application/json: - type: CategoryProductAssignmentSearchResult - examples: - search_result: !include Examples/category_product_assignment.raml - body: - application/json: - type: CategoryProductAssignmentSearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - /products/{productId}: - get: - description: |- - Retrieves a category product assignment. - - - For example, if we have products A, B, C at positions 1, 2, 7.5, and delete assignment for product B, - the products end up A, B, C at positions 1, null, 7.5. - displayName: getAssignedProductFromCategory - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - '200': - description: Assignment Retrieved Successfully - body: - application/json: - type: CategoryProductAssignment - examples: - category-prod-assignment: !include Examples/catalogcategoryprdAssignment-example.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - delete: - description: |- - Removes a category product assignment. - - - For example, if we have products A, B, C at positions 1, 2, 7.5 and delete assignment for product B, - the products end up A, B, C at positions 1, null, 7.5. - displayName: unassignProductFromCategory - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - '204': - description: Assignment Deleted Successfully - - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - patch: - description: |- - Updates the category product assignment with the specified information, such as position. - As the assigned position n is a normalized target position, we'll make sure that the product is assigned - to a position so that the order of positions are maintained. - - For example, if we have products A, B, C, D at positions 1, 2, 3, 4 and update product A with a new position of 3, - the end result is B, C, A, D with order of positions 1, 2, 3, 4. If we then update product C to no position, - the end result is B, A, D, C with order of positions 1, 2, 3, null. - - If there are n existing positioned assignments, updating product to position >= n will end with a new assignment with a position such that the order of positions is maintained. - displayName: updateProductCategoryAssignment - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - '200': - description: Assignment Updated Successfully - body: - application/json: - type: CategoryProductAssignment - examples: - category-prod-assignment: !include Examples/catalogcategoryprdAssignment-example.raml - - body: - application/json: - type: CategoryProductAssignment - examples: - body-example: !include Examples/catalogcategoryprodAssignment-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - put: - description: |- - Creates a category product assignment using the information provided. - - As the assigned position n is a normalized target position, we'll make sure that the product is assigned - to a position so that the order of positions are maintained. - - For example, if we have products A, B, C at positions 1, 2, 3, and product D is assigned to - position 2, the end result is A, D, B, C with order of positions 1, 2, 3, 4. - - If there are n existing positioned assignment, assigning a new product to position >= n+1 will end - with the new assignment with position n+1. - displayName: assignProductToCategory - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - '201': - description: Assignment Created Successfully - body: - application/json: - type: CategoryProductAssignment - examples: - category-prod-assignment: !include Examples/catalogcategoryprdAssignment-example.raml - '200': - description: Assignment Updated Successfully - body: - application/json: - type: CategoryProductAssignment - examples: - category-prod-assignment: !include Examples/catalogcategoryprdAssignment-example.raml - body: - application/json: - type: CategoryProductAssignment - - examples: - body-example: !include Examples/catalogcategoryprodAssignment-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - uriParameters: - productId: - description: The ID (SKU) of the requested product to assign. - minLength: 1 - type: string - example: apple-ipod-shuffle - /rules-execution: - post: - description: Submits a job to evaluate or execute the rules. The evaluation returns a set of matching products based on the rules and conditions. The execution categorizes the products based on the evaluated results. - displayName: runCategoryRules - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 202: - description: Job submitted successfully. - body: - application/json: - type: ExecutionRequest - examples: - executionRequest: !include Examples/executionRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - get: - description: Gets the status of the latest categorization job which could be evaluation or execution. For evaluation, the matched count and a paginated list of product IDs are returned. For execution, the counts of the products which are assigned or unassigned are returned. - displayName: getCategorizationStatus - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.JobExecutionNotFound - - CommerceCloudStandards.QueryParamsLimit - - CommerceCloudStandards.QueryParamsOffset - responses: - 200: - description: Job executed status returned successfully. - body: - application/json: - type: ExecutionJobStatusResult - examples: - executionJobStatusResponse: !include Examples/executionJobStatusResponse.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - /excluded-products: - get: - description: Gets the list of excluded products for a given catalog and category. - displayName: getExclusionList - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 200: - description: Excluded products retreived successfully - body: - application/json: - type: ExcludedProductsResult - examples: - excludedProductResponse: !include Examples/getExcludedProducts.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - post: - description: Adds the product to the excluded product list for a given catalog and category. Once a product is added as an excluded product for the category, then the the categorization process does not categorize that product for that category. - displayName: addProductsToExclusionList - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 200: - description: Excluded Products List added for a catalog Category. - body: - application/json: - type: ExcludedProductsResult - examples: - excludedProdResponse: !include Examples/getExcludedProducts.raml - body: - application/json: - type: ExcludedProductRequest - examples: - excludedProdRequest: !include Examples/excludedProductsRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - delete: - description: Deletes products from the excluded products list for a catalog category. - displayName: removeProductsFromExclusionList - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.RuleNotFound - responses: - 204: - description: No Content - body: - application/json: - type: ExcludedProductRequest - examples: - excludedProdReq: !include Examples/excludedProductsRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - /rules: - get: - description: Gets all the rules for given catalog and category. - displayName: getCategoryRules - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 200: - description: Rules retreived successfully - body: - application/json: - type: RulesResult - examples: - rulesResponse: !include Examples/getRules.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - delete: - description: Deletes all the rules along with conditions for given catalog and category. - displayName: deleteCategoryRules - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.RuleNotFound - responses: - 204: - description: No Content - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - post: - description: Creates all rules and conditions within the catalog and category. This deletes any existing rules and conditions for that catalog-category and recreates them based on the new request. The LocaleID, PrimaryFlag, and ClassificationFlag can be set on any of the individual rules, but they apply to entire ruleset. For simplicity, those values can just be provided with one of the rules. If they are provided with multiple rules, then they must all have the same value for all rules or it could have undesired effects. - displayName: createCategoryRules - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 200: - description: Rules created successfully. - body: - application/json: - type: RulesResult - examples: - ruleResponse: !include Examples/getRules.raml - body: - application/json: - type: RulesRequest - description: If the exclusion attribute is set to true, the rule is designated as an Exclusion rule. Any item matching an Exclusion rule is omitted from the final result set. - examples: - ruleBody: !include Examples/postRuleRequestBody.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - - /{ruleId}: - get: - description: Gets rule by ID. - displayName: getRuleById - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.RuleNotFound - responses: - 200: - description: Rule retreived succesfully - body: - application/json: - type: Rule - examples: - ruleResponse: !include Examples/getRulesByID.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - put: - description: Creates or updates a rule. - displayName: createUpdateRule - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 201: - description: Rule created successfully. - body: - application/json: - type: Rule - examples: - ruleResponse: !include Examples/putRuleRequestBody.raml - 200: - description: Rule updated successfully. - body: - application/json: - type: Rule - examples: - ruleResponse: !include Examples/putRuleRequestBody.raml - body: - application/json: - type: RuleRequest - examples: - ruleBody: !include Examples/putRuleRequestBody.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - delete: - description: Deletes a rule. - displayName: deleteRule - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.RuleNotFound - responses: - 204: - description: No Content - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - - uriParameters: - ruleId: - description: The Id of the rule - type: string - example: VhRule - /conditions: - get: - description: Gets the conditions for a given rule, catalog and category. - displayName: getCategoryRuleConditions - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 200: - description: Conditions retreived successfully. - body: - application/json: - type: ConditionsResult - examples: - conditionsResult: !include Examples/getConditions.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - delete: - description: Deletes all the conditions for a given rule, catalog and category. - displayName: deleteCategoryRuleConditions - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.RuleNotFound - responses: - 204: - description: No Content - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - /{conditionId}: - get: - description: Gets a condition By ID. - displayName: getCategoryRuleCondition - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 200: - description: Condition retreived successfully. - body: - application/json: - type: Condition - examples: - conditionResponse: !include Examples/getConditionByID.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - put: - description: Creates or updates a condition. - displayName: createOrUpdateCategoryRuleCondition - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 201: - description: Condition created successfully. - body: - application/json: - type: Condition - examples: - conditionResponse: !include Examples/getConditionByID.raml - 200: - description: Condition updated successfully. - body: - application/json: - type: Condition - examples: - conditionResponse: !include Examples/getConditionByID.raml - body: - application/json: - type: Condition - examples: - conditionBody: !include Examples/putConditionRequestBody.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - delete: - description: Deletes a condition. - displayName: deleteCategoryRuleCondition - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.RuleNotFound - responses: - 204: - description: No Content - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - uriParameters: - conditionId: - description: The Id of the condition. - type: string - example: NameCondition - /category-search: - post: - description: |- - Searches for catalog categories in the scope of catalog. - By default, the server also returns the first level of subcategories, - but you can specify another level by setting the levels parameter. - Using a large value for levels may cause performance - issues with a large and deep category tree. - - The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: - - | Attribute | Type | - |-----------|--------| - |id | String | - |name | String | - |description | String | - |creationDate | DateTime | - |online | Boolean | - |parentCategoryId | String| - - - The output of the query can also be sorted with the following sortable attributes: - - | Attribute | Type | - |-----------|--------| - |id | String | - |name | String | - |description | String | - |creationDate | DateTime | - |online | Boolean | - |position | Double| - - - displayName: searchCategoriesInCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.BadRequest - - CatalogTraits.NotFound - responses: - '200': - description: Categories Searched Successfully - body: - application/json: - type: CategorySearchResult - examples: - result: !include Examples/category_search-result-example.raml - queryParameters: - levels: - description: The level number. - minimum: 0 - type: integer - format: int32 - required: false - example: 0 - body: - application/json: - type: CatalogCategorySearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - /catalog-search: - post: - description: |- - Searches for catalogs. - - The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: - - | Attribute | Type | - |-----------|--------| - |id | String | - |name | String | - |description | String | - |creationDate | DateTime | - - There are two additional fields that can be used as search filters. They are not attributes in CatalogWO object, - but can be used as filters to query catalogs based on site assignments. - - | Attribute | Type | - |-----------|--------| - |isMasterCatalog | Boolean | - |isStorefrontCatalog | Boolean | - |description | String | - |creationDate | DateTime | - |online | Boolean | - |position | Double| - - - On using isMasterCatalog in the search query, catalogs without any site assignments are returned. - On using isStorefrontCatalog in the search query, catalogs with one or more site assignments are returned. - - The output of the query can also be sorted with the following sortable attributes: - - | Attribute | Type | - |-----------|--------| - |id | String | - |name | String | - |description | String | - |creationDate | DateTime | - - displayName: searchCatalogs - is: - - CatalogTraits.Unauthorized - - CatalogTraits.BadRequest - - CatalogTraits.NotFound - responses: - '200': - description: Catalogs Searched Successfully - body: - application/json: - type: CatalogSearchResult - examples: - catalog_search_result: !include Examples/catalog-search-result-query.raml - body: - application/json: - type: CatalogSearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - /category-search: - post: - description: |- - Searches for catalog categories anywhere they appear. - By default, the server also returns the first level of subcategories, - but you can specify another level by setting the levels parameter. - Please note, using a large value for levels may cause performance - issues with a large and deep category tree. - - The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: - - | Attribute | Type | - |-----------|--------| - |id | String | - |name | String | - |description | String | - |creationDate | DateTime | - |online | Boolean | - |catalogId | String| - - The output of the query can also be sorted with the following sortable attributes: - - | Attribute | Type | - |-----------|--------| - |id | String | - |name | String | - |description | String | - |creationDate | DateTime | - |online | Boolean | - |position | Double| - - displayName: searchCategories - queryParameters: - levels: - description: The level number. - minimum: 0 - type: integer - format: int32 - required: false - example: 0 - is: - - CatalogTraits.BadRequest - - CatalogTraits.NotFound - - CatalogTraits.Unauthorized - responses: - '200': - description: Categories Searched Successfully - body: - application/json: - type: CategorySearchResult - examples: - category_search_result : !include Examples/category_search-result-example.raml - headers: - Authorization: - description: The JWT token. - type: string - required: false - body: - application/json: - type: CategorySearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } diff --git a/apis/product/catalogs/exchange.json b/apis/product/catalogs/exchange.json deleted file mode 100644 index 1a390fb9..00000000 --- a/apis/product/catalogs/exchange.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "0.0.36", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "catalogs.raml", - "assetId": "catalogs", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Catalogs", - "tags": [] -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/product/products/.metadata.json b/apis/product/products/.metadata.json deleted file mode 100644 index b6c55ade..00000000 --- a/apis/product/products/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/products/0.0.36", - "name": "Products", - "description": "Add and manage searchable products within a merchandizing system.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "products", - "version": "0.0.36", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Product" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/product/products/Examples/CategorizationAttributeDefinitionResult.raml b/apis/product/products/Examples/CategorizationAttributeDefinitionResult.raml deleted file mode 100644 index 13202f4c..00000000 --- a/apis/product/products/Examples/CategorizationAttributeDefinitionResult.raml +++ /dev/null @@ -1,87 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 1, - "data": [ - { - "id": "ProductType", - "attributeName": "Categorization Product Type", - "allowedOperators": [ - "equals", - "not_equals" - ], - "allowedValues": [ - "Item", - "Master", - "BundledProduct", - "ProductSet", - "SetProduct", - "VariationGroup", - "VariationProduct" - ], - "allowedDisplayValues": [ - "Item", - "Master", - "BundledProduct", - "ProductSet", - "SetProduct", - "VariationGroup", - "VariationProduct" - ], - "attributeType": "categorization", - "valueType": "enum-of-string" - }, - { - "id": "CategoryId", - "attributeName": "Categorization Category Id", - "allowedOperators": [ - "equals" - ], - "attributeType": "categorization", - "valueType": "string" - }, - { - "id": "OwningCatalogId", - "attributeName": "Categorization Owning Catalog Id", - "allowedOperators": [ - "equals" - ], - - "attributeType": "categorization", - "valueType": "string" - }, - { - "id": "brand", - "attributeName": "Brand", - "allowedOperators": [ - "equals", - "not_equals", - "contains", - "starts_with", - "is_defined", - "is_not_defined", - "is_one_of", - "not_one_of" - ], - "attributeType": "system", - "valueType": "string" - }, - { - "id": "RelevanceAttribute1", - "attributeName": "RelevanceAttribute1", - "allowedOperators": [ - "equals", - "not_equals", - "contains", - "starts_with", - "is_defined", - "is_not_defined", - "is_one_of", - "not_one_of" - ], - "attributeType": "custom", - "valueType": "string" - } - ], - "total": 5 - } \ No newline at end of file diff --git a/apis/product/products/Examples/Data-Product-Expand.raml b/apis/product/products/Examples/Data-Product-Expand.raml deleted file mode 100644 index 8f6048aa..00000000 --- a/apis/product/products/Examples/Data-Product-Expand.raml +++ /dev/null @@ -1,301 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "assignedCategories": [ - { - "catalogId": "apparel-catalog", - "categoryId": "mens-accessories" - }, - { - "catalogId": "storefront-catalog-en", - "categoryId": "top-seller" - }, - { - "catalogId": "storefront-catalog-en", - "categoryId": "electronics-gaming" - } - ], - "brand": "Apple", - "classificationCategory": { - "catalogId": "storefront-catalog-en", - "categoryId": "top-seller" - }, - "creationDate": "2019-02-21T22:10:02.000Z", - "id": "apple-ipod-classic", - "image": { - "absUrl": "https://example.com/images/large/ipod-classic-silver.jpg", - "alt": { - "default": "Apple iPod Classic, , large" - }, - "path": "large/ipod-classic-silver.jpg", - "title": { - "default": "Apple iPod Classic, " - } - }, - "imageGroups": [ - { - "images": [ - { - "absUrl": "https://example.com/images/large/ipod-classic-silver.jpg", - "alt": { - "default": "Apple iPod Classic, , large" - }, - "path": "large/ipod-classic-silver.jpg", - "title": { - "default": "Apple iPod Classic, " - } - } - ], - "viewType": "large" - }, - { - "images": [ - { - "absUrl": "https://example.com/images/medium/ipod-classic-silver.jpg", - "alt": { - "default": "Apple iPod Classic, , medium" - }, - "path": "medium/ipod-classic-silver.jpg", - "title": { - "default": "Apple iPod Classic, " - } - } - ], - "viewType": "medium" - }, - { - "images": [ - { - "absUrl": "https://example.com/images/small/ipod-classic-silver.jpg", - "alt": { - "default": "Apple iPod Classic, , small" - }, - "path": "small/ipod-classic-silver.jpg", - "title": { - "default": "Apple iPod Classic, " - } - } - ], - "viewType": "small" - } - ], - "lastModified": "2019-08-28T18:49:09.000Z", - "localizedTaxClassId": { - "de": "exempt", - "default": "standard", - "en-US": "exempt" - }, - "longDescription": { - "default": { - "markup": "Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats", - "source": "Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats" - } - }, - "name": { - "default": "Apple iPod Classic" - }, - "onlineFlag": { - "default": true - }, - "owningCatalogId": "electronics-catalog", - "owningCatalogName": { - "default": "Electronics Master Catalog" - }, - "pageDescription": { - "default": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go." - }, - "pageKeywords": { - "default": "Apple, iPod, iPod Classic, MP3, Music Player" - }, - "pageTitle": { - "default": "Apple iPod Nano" - }, - "primaryCategories": [ - { - "catalogId": "apparel-catalog", - "categoryId": "mens-accessories" - }, - { - "catalogId": "storefront-catalog-en", - "categoryId": "top-seller" - } - ], - "primaryCategoryId": "top-seller", - "searchable": { - "default": true - }, - "shortDescription": { - "default": { - "markup": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go.", - "source": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go." - } - }, - "taxClassId": "standard", - "type": { - "master": true - }, - "validFrom": { - "default": "1998-05-03T00:00:00.000Z", - "default@SiteGenesis": "1998-05-11T00:00:00.000Z" - }, - "validTo": { - "default": "2028-07-03T00:00:00.000Z", - "default@SiteGenesis": "2028-05-30T00:03:00.000Z" - }, - "variants": [ - { - "productId": "apple-ipod-classic-silver-120g", - "variationValues": { - "color": "Silver", - "memorySize": "120 GB" - } - }, - { - "productId": "apple-ipod-classic-black-120g", - "variationValues": { - "color": "Black", - "memorySize": "120 GB" - } - } - ], - "variationAttributes": [ - { - "attributeDefinitionId": "color", - "attributeDefinitionName": { - "default": "Color" - }, - "id": "color", - "name": { - "default": "Color" - }, - "shared": true, - "slicing": false, - "values": [ - { - "name": { - "default": "Silver" - }, - "position": 1.0, - "value": "Silver" - }, - { - "name": { - "default": "Black" - }, - "position": 2.0, - "value": "Black" - }, - { - "name": { - "default": "Purple" - }, - "position": 3.0, - "value": "Purple" - }, - { - "name": { - "default": "Blue" - }, - "position": 4.0, - "value": "Blue" - }, - { - "name": { - "default": "Green" - }, - "position": 5.0, - "value": "Green" - }, - { - "name": { - "default": "Yellow" - }, - "position": 6.0, - "value": "Yellow" - }, - { - "name": { - "default": "Orange" - }, - "position": 7.0, - "value": "Orange" - }, - { - "name": { - "default": "Red" - }, - "position": 8.0, - "value": "Red" - }, - { - "name": { - "default": "Fuscia" - }, - "position": 9.0, - "value": "Fuscia" - } - ], - "variationAttributeType": "string" - }, - { - "attributeDefinitionId": "memorySize", - "attributeDefinitionName": { - "default": "Memory Size" - }, - "id": "memorySize", - "name": { - "default": "Memory Size" - }, - "shared": true, - "slicing": false, - "values": [ - { - "name": { - "default": "1 GB" - }, - "position": 1.0, - "value": "1 GB" - }, - { - "name": { - "default": "2 GB" - }, - "position": 2.0, - "value": "2 GB" - }, - { - "name": { - "default": "8 GB" - }, - "position": 3.0, - "value": "8 GB" - }, - { - "name": { - "default": "16 GB" - }, - "position": 4.0, - "value": "16 GB" - }, - { - "name": { - "default": "32 GB" - }, - "position": 5.0, - "value": "32 GB" - }, - { - "name": { - "default": "120 GB" - }, - "position": 6.0, - "value": "120 GB" - } - ], - "variationAttributeType": "string" - } - ], - "customCatalogName": { - "default": "Apple Ipod Catalog" - } - } \ No newline at end of file diff --git a/apis/product/products/Examples/ProductOptionsIdRequest.raml b/apis/product/products/Examples/ProductOptionsIdRequest.raml deleted file mode 100644 index 0158f08f..00000000 --- a/apis/product/products/Examples/ProductOptionsIdRequest.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id":"my-option", - "customName" : - { - "default" : "My Option" - }, - "description" : - { - "default" : "Description for my option." - }, - "image" : - { - "path" : "option.jpg" - } - } \ No newline at end of file diff --git a/apis/product/products/Examples/ProductOptionsIdResult.raml b/apis/product/products/Examples/ProductOptionsIdResult.raml deleted file mode 100644 index 4bc4f4ab..00000000 --- a/apis/product/products/Examples/ProductOptionsIdResult.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "customName" : - { - "default" : "My Option" - }, - "description" : - { - "default" : "Description for my option." - }, - "id" : "my-option", - "image" : - { - "absUrl" : "https://example.com/on/demandware.static/-/Sites-XMaster/default/aaaaaaaabbbbbbbbbabababba/option.jpg", - "disBaseUrl" : "https://example.com/dw/image/v2/zzzz_s01/on/demandware.static/-/Sites-XMaster/default/aaaaaaaabbbbbbbbbabababba/option.jpg", - "path" : "option.jpg" - }, - "name" : "option", - "shared" : false, - "sortingMode" : "byoptionprice" - } \ No newline at end of file diff --git a/apis/product/products/Examples/ProductOptionsResult.raml b/apis/product/products/Examples/ProductOptionsResult.raml deleted file mode 100644 index 658b9d9e..00000000 --- a/apis/product/products/Examples/ProductOptionsResult.raml +++ /dev/null @@ -1,66 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 1, - "data": [ - { - "id": "digitalCameraWarranty", - "values" : - [ - { - "_type" : "product_option_value", - "id" : "001", - "option_price" : - { - "USD" : "9.99" - }, - "value" : - { - "default" : "1 Year Warranty" - } - }, - - { - "_type" : "product_option_value", - "id" : "003", - "option_price" : - { - "USD" : "29.99" - }, - "value" : - { - "default" : "5 Year Warranty" - } - }, - - { - "_type" : "product_option_value", - "id" : "000", - "option_price" : - { - "USD" : "39.99" - }, - "value" : - { - "default" : "None" - } - }, - - { - "_type" : "product_option_value", - "id" : "002", - "option_price" : - { - "USD" : "49.99" - }, - "value" : - { - "default" : "3 Year Warranty" - } - } - ] - } - ], - "offset": 0, - "total": 1 -} \ No newline at end of file diff --git a/apis/product/products/Examples/ProductOptionsValuesRequest.raml b/apis/product/products/Examples/ProductOptionsValuesRequest.raml deleted file mode 100644 index f392d050..00000000 --- a/apis/product/products/Examples/ProductOptionsValuesRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id":"my-option", - "value": { - "default": "value 1", - "en": "value 1(en)", - "en-US": "value 1(en-US)" - }, - "optionPrice": { - "currencyMnemonic": "USD", - "value": 100 - }, - "skuExtension": "s10" - } \ No newline at end of file diff --git a/apis/product/products/Examples/ProductOptionsValuesResult.raml b/apis/product/products/Examples/ProductOptionsValuesResult.raml deleted file mode 100644 index 1beff595..00000000 --- a/apis/product/products/Examples/ProductOptionsValuesResult.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "defaultProductOptionValue": false, - "id": "value1", - "optionPrices": [ - { - - "currencyMnemonic": "USD", - "value": 100.00 - } - ], - "skuExtension": "s10", - "value": { - "default": "value 1", - "en-US": "value 1(en-US)", - "en": "value 1(en)" - } - } \ No newline at end of file diff --git a/apis/product/products/Examples/ProductSearchRequest.raml b/apis/product/products/Examples/ProductSearchRequest.raml deleted file mode 100644 index f2545786..00000000 --- a/apis/product/products/Examples/ProductSearchRequest.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "query" : { - "textQuery": { - "fields": ["id"], - "searchPhrase": "apple-ipod-classic" - } - }, - } \ No newline at end of file diff --git a/apis/product/products/Examples/ProductSearchResult.raml b/apis/product/products/Examples/ProductSearchResult.raml deleted file mode 100644 index faf37193..00000000 --- a/apis/product/products/Examples/ProductSearchResult.raml +++ /dev/null @@ -1,104 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 2, - "hits": [ - { - "brand": "Apple", - "creationDate": "2019-02-21T22:10:02.000Z", - "id": "apple-ipod-classic", - "lastModified": "2019-09-17T19:13:39.000Z", - "longDescription": { - "default": { - "markup": "Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats", - "source": "Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats" - } - }, - "name": { - "default": "Apple iPod Classic" - }, - "onlineFlag": { - "default": true - }, - "owningCatalogId": "electronics-catalog", - "owningCatalogName": { - "default": "Electronics Master Catalog" - }, - "pageDescription": { - "default": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go." - }, - "pageKeywords": { - "default": "Apple, iPod, iPod Classic, MP3, Music Player" - }, - "pageTitle": { - "default": "Apple iPod Nano" - }, - "searchable": { - "default": true - }, - "shortDescription": { - "default": { - "markup": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go.", - "source": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go." - } - }, - "type": { - "master": true - } - }, - { - "brand": "Apple", - "creationDate": "2019-09-04T16:07:43.000Z", - "id": "apple-ipod-classic-1", - "lastModified": "2019-09-04T16:19:03.000Z", - "longDescription": { - "default": { - "markup": "Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats", - "source": "Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats" - } - }, - "name": { - "default": "Apple iPod Classic" - }, - "onlineFlag": { - "default": false - }, - "owningCatalogId": "electronics-catalog", - "owningCatalogName": { - "default": "Electronics Master Catalog" - }, - "pageDescription": { - "default": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go." - }, - "pageKeywords": { - "default": "Apple, iPod, iPod Classic, MP3, Music Player" - }, - "pageTitle": { - "default": "Apple iPod Nano" - }, - "searchable": { - "default": false - }, - "shortDescription": { - "default": { - "markup": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go.", - "source": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go." - } - }, - "type": { - "variationGroup": true, - "master": false - } - } - ], - "query": { - "textQuery": { - "fields": [ - "id" - ], - "searchPhrase": "apple-ipod-classic" - } - }, - "offset": 0, - "total": 2 - } \ No newline at end of file diff --git a/apis/product/products/Examples/VariantSearchRequest.raml b/apis/product/products/Examples/VariantSearchRequest.raml deleted file mode 100644 index 16d37e07..00000000 --- a/apis/product/products/Examples/VariantSearchRequest.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "query" : { - "textQuery": { - "fields": ["id"], - "searchPhrase": "ipod" - } - }, - "expand": ["variations"] - } \ No newline at end of file diff --git a/apis/product/products/Examples/VariantSearchResult.raml b/apis/product/products/Examples/VariantSearchResult.raml deleted file mode 100644 index 6e401305..00000000 --- a/apis/product/products/Examples/VariantSearchResult.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 2, - "expand": [ - "variations" - ], - "hits": [ - { - "defaultProductVariation": false, - "productId": "apple-ipod-classic-silver-120g", - "variationValues": { - "color": "Silver", - "memorySize": "120 GB" - } - }, - { - "defaultProductVariation": false, - "productId": "apple-ipod-classic-black-120g", - "variationValues": { - "color": "Black", - "memorySize": "120 GB" - } - } - ], - "query": { - "textQuery": { - "fields": [ - "id" - ], - "searchPhrase": "ipod" - } - }, - "offset": 0, - "total": 2 -} \ No newline at end of file diff --git a/apis/product/products/Examples/VariantsResult.raml b/apis/product/products/Examples/VariantsResult.raml deleted file mode 100644 index ce236227..00000000 --- a/apis/product/products/Examples/VariantsResult.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 4, - "data": [ - { - "productId": "apple-ipod-classic-silver-120g", - "variation_values": { - "color": "Silver", - "memorySize": "120 GB" - } - }, - { - "productId": "apple-ipod-classic-black-120g", - "variation_values": { - "color": "Black", - "memorySize": "120 GB" - } - }, - { - "productId": "apple-ipod-classic-2" - }, - { - "productId": "apple-ipod-classic-blue-32g", - "variation_values": { - "color": "Blue", - "memorySize": "32 GB" - } - } - ], - "offset": 0, - "total": 4 -} \ No newline at end of file diff --git a/apis/product/products/Examples/VariationAttributeRequest.raml b/apis/product/products/Examples/VariationAttributeRequest.raml deleted file mode 100644 index 95dccb6e..00000000 --- a/apis/product/products/Examples/VariationAttributeRequest.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "attributeDefinitionId":"size", - "attributeDefinitionName": { - "default": "Screen Size" - } - } \ No newline at end of file diff --git a/apis/product/products/Examples/VariationAttributeResult.raml b/apis/product/products/Examples/VariationAttributeResult.raml deleted file mode 100644 index a12b892d..00000000 --- a/apis/product/products/Examples/VariationAttributeResult.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "attributeDefinitionId": "size", - "attributeDefinitionName": { - "default": "Size" - }, - "id": "screenSize", - "name": { - "default": "Size" - }, - "shared": false, - "slicing": false, - "variationAttributeType": "string" - } \ No newline at end of file diff --git a/apis/product/products/Examples/VariationAttributeValuesIdRequest.raml b/apis/product/products/Examples/VariationAttributeValuesIdRequest.raml deleted file mode 100644 index 5ac44003..00000000 --- a/apis/product/products/Examples/VariationAttributeValuesIdRequest.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "value":"8" , - "description": { - "default" : "desc of 8 (default)", - "en": "desc of 8 (en)", - "en-US": "desc of 8 (en-US)" - } - } \ No newline at end of file diff --git a/apis/product/products/Examples/VariationAttributeValuesIdResult.raml b/apis/product/products/Examples/VariationAttributeValuesIdResult.raml deleted file mode 100644 index b50d0683..00000000 --- a/apis/product/products/Examples/VariationAttributeValuesIdResult.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "description": { - "default": "desc of 8 (default)", - "en-US": "desc of 8 (en-US)", - "en": "desc of 8 (en)" - }, - "position": 1.0, - "value": "8" - } \ No newline at end of file diff --git a/apis/product/products/Examples/VariationAttributesResult.raml b/apis/product/products/Examples/VariationAttributesResult.raml deleted file mode 100644 index 6970f58e..00000000 --- a/apis/product/products/Examples/VariationAttributesResult.raml +++ /dev/null @@ -1,168 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 3, - "data": [ - { - "attributeDefinitionId": "color", - "attributeDefinitionName": { - "default": "Color" - }, - "id": "color", - "name": { - "default": "Color" - }, - "shared": true, - "slicing": false, - "values": [ - { - "name": { - "default": "Silver" - }, - "position": 1.0, - "value": "Silver" - }, - { - "name": { - "default": "Black" - }, - "position": 2.0, - "value": "Black" - }, - { - "name": { - "default": "Purple" - }, - "position": 3.0, - "value": "Purple" - }, - { - "name": { - "default": "Blue" - }, - "position": 4.0, - "value": "Blue" - }, - { - "name": { - "default": "Green" - }, - "position": 5.0, - "value": "Green" - }, - { - "name": { - "default": "Yellow" - }, - "position": 6.0, - "value": "Yellow" - }, - { - "name": { - "default": "Orange" - }, - "position": 7.0, - "value": "Orange" - }, - { - "name": { - "default": "Red" - }, - "position": 8.0, - "value": "Red" - }, - { - "name": { - "default": "Fuscia" - }, - "position": 9.0, - "value": "Fuscia" - } - ], - "variationAttributeType": "string" - }, - { - "attributeDefinitionId": "memorySize", - "attributeDefinitionName": { - "default": "Memory Size" - }, - "id": "memorySize", - "name": { - "default": "Memory Size" - }, - "shared": true, - "slicing": false, - "values": [ - { - "name": { - "default": "1 GB" - }, - "position": 1.0, - "value": "1 GB" - }, - { - "name": { - "default": "2 GB" - }, - "position": 2.0, - "value": "2 GB" - }, - { - "name": { - "default": "8 GB" - }, - "position": 3.0, - "value": "8 GB" - }, - { - "name": { - "default": "16 GB" - }, - "position": 4.0, - "value": "16 GB" - }, - { - "name": { - "default": "32 GB" - }, - "position": 5.0, - "value": "32 GB" - }, - { - "name": { - "default": "120 GB" - }, - "position": 6.0, - "value": "120 GB" - } - ], - "variationAttributeType": "string" - }, - { - "attributeDefinitionId": "size", - "attributeDefinitionName": { - "default": "Size" - }, - "id": "screenSize", - "name": { - "default": "Size" - }, - "shared": false, - "slicing": false, - "values": [ - { - "description": { - "default": "desc of 8 (default)", - "en-US": "desc of 8 (en-US)", - "en": "desc of 8 (en)" - }, - "position": 1.0, - "value": "8" - } - ], - "variationAttributeType": "string" - } - ], - "offset": 0, - "total": 3 -} \ No newline at end of file diff --git a/apis/product/products/Examples/VariationGroupsIdRequest.raml b/apis/product/products/Examples/VariationGroupsIdRequest.raml deleted file mode 100644 index 196df359..00000000 --- a/apis/product/products/Examples/VariationGroupsIdRequest.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "orderable": true, - "price": 500.00, - "productId": "apple-ipod-classic-1", - "variationValues": { - "color": "Silver", - "memorySize": "120 GB" - } - } \ No newline at end of file diff --git a/apis/product/products/Examples/VariationGroupsIdResult.raml b/apis/product/products/Examples/VariationGroupsIdResult.raml deleted file mode 100644 index d40d4998..00000000 --- a/apis/product/products/Examples/VariationGroupsIdResult.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "productId": "apple-ipod-classic-1", - "variationValues": { - "color": "Silver", - "memorySize": "120 GB" - } - } \ No newline at end of file diff --git a/apis/product/products/Examples/VariationGroupsResult.raml b/apis/product/products/Examples/VariationGroupsResult.raml deleted file mode 100644 index 6f69d1a0..00000000 --- a/apis/product/products/Examples/VariationGroupsResult.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 1, - "data": [ - { - "productId": "apple-ipod-classic-1", - "variationValues": { - "color": "Silver", - "memorySize": "120 GB" - } - } - ], - "offset": 0, - "total": 1 - } \ No newline at end of file diff --git a/apis/product/products/Examples/VariationsIdRequest.raml b/apis/product/products/Examples/VariationsIdRequest.raml deleted file mode 100644 index b34fc10f..00000000 --- a/apis/product/products/Examples/VariationsIdRequest.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "orderable": true, - "price": 500.00, - "productId": "apple-ipod-classic-blue-32g", - "variationValues": { - "color": "Blue", - "memorySize": "32 GB" - } - } \ No newline at end of file diff --git a/apis/product/products/Examples/VariationsIdResult.raml b/apis/product/products/Examples/VariationsIdResult.raml deleted file mode 100644 index f363fd3e..00000000 --- a/apis/product/products/Examples/VariationsIdResult.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "defaultProductVariation": false, - "productId": "apple-ipod-classic-blue-32g", - "variationValues": { - "color": "Blue", - "memorySize": "32 GB" - } - } \ No newline at end of file diff --git a/apis/product/products/Traits/BadRequest.raml b/apis/product/products/Traits/BadRequest.raml deleted file mode 100644 index 87efa0a8..00000000 --- a/apis/product/products/Traits/BadRequest.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Products API. -responses: - 400: - description: | - Bad Request. Thrown in case a specified expand parameter value is unknown. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Unqueryable Field", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unqueryable-field", - "detail": "The field 'link' can't be queried.", - "field": "link" - } \ No newline at end of file diff --git a/apis/product/products/Traits/NotFound.raml b/apis/product/products/Traits/NotFound.raml deleted file mode 100644 index 614bf796..00000000 --- a/apis/product/products/Traits/NotFound.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in when Product with the given Product Id could not be found.. - -responses: - 404: - description: | - Resource requested not found. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Product Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/product-not-found", - "detail": "No product with ID '1585183329877' could be found.", - "productId": "1585183329877" - } \ No newline at end of file diff --git a/apis/product/products/Traits/Unauthorized.raml b/apis/product/products/Traits/Unauthorized.raml deleted file mode 100644 index e30f3967..00000000 --- a/apis/product/products/Traits/Unauthorized.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 401 response when an invalid client_id is passed. - -responses: - 401: - description: | - Unauthorized. Your Client ID is invalid, or you are not allowed to access - the content provided by the requested URL. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "hbGciOiJIUzI1NiIsInR5cCI6Ikp" - } \ No newline at end of file diff --git a/apis/product/products/data-products-library.raml b/apis/product/products/data-products-library.raml deleted file mode 100644 index df2f088a..00000000 --- a/apis/product/products/data-products-library.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -types: - types: - ErrorResponse: ApiStandards.ErrorResponse - -traits: - Unauthorized: !include Traits/Unauthorized.raml - BadRequest: !include Traits/BadRequest.raml - ProductNotFound: !include Traits/NotFound.raml - offset-paginated: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml - - \ No newline at end of file diff --git a/apis/product/products/exchange.json b/apis/product/products/exchange.json deleted file mode 100644 index b9652a72..00000000 --- a/apis/product/products/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "0.0.36", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "products.raml", - "backwardsCompatible": false, - "assetId": "products", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Products", - "tags": [] -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/product/products/products-description.md b/apis/product/products/products-description.md deleted file mode 100644 index bbf57265..00000000 --- a/apis/product/products/products-description.md +++ /dev/null @@ -1,65 +0,0 @@ -# API Overview - -The Products API enables you to build merchandising apps that merchandisers use to add products to catalogs, configure products for your storefront, and manage products in their ecommerce channels. - -For more information, see [Products](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_products.html) in the Salesforce B2C Commerce Infocenter. - -## Authentication & Authorization - -The client managing product information must have access to the Products resource. This API requires a bearer token in the header of the request. The client accessing the API must first authenticate against Account Manager to get the bearer token. - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Add Products - -Use the Products API to add new products to a catalog. You can add or update product details like attributes, variations, variation attributes, and images. You can also use the API to change a product’s catalog assignment. - -If you are adding products from an external product information management (PIM) system, use the Mulesoft Accelerator component created for Commerce Cloud. - -For more detail, see [Variation Groups](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_variation_groups.html) in the Salesforce B2C Commerce Infocenter. - -![b2c-commerce-products-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-1.png) - -### Create & Validate Variation Groups - -Use the API to enable a shopper to switch between different variants on a product page. You can group variation products into variation groups or group master products by one or more attributes. The variants within a variation group are linked. Linked variants allow a shopper to switch between different variants. - -For more detail, see [Variation Groups](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_variation_groups.html) in the Salesforce B2C Commerce Infocenter. - -![b2c-commerce-products-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-2.png) - -### Search for Variants - -Use the Product API to enable merchants to use a set of filtering and sorting criteria to search for variants assigned to a master product, or variation group. - -For more detail, see [Product Variations](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_product_variations.html) in the Salesforce B2C Commerce Infocenter. - -![b2c-commerce-products-screenshot-3.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-3.png) - -### Manage Product Options - -Use the API to view and manage product options for a given product so that optional accessories, upgrades, or services can be sold with the product. For example, a product warranty or monogramming. - -For more detail, see [Product Options](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_product_options.html) in the Salesforce B2C Commerce Infocenter. - -![b2c-commerce-products-screenshot-4.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-4.png) - -## Resources - -### Master Product - -Represents all the variations of a particular product. The master product is a non-buyable entity that provides inheritable attributes for buyable product variants. The master product is also used as a navigation entity. - -### Variation Group - -Represents a group of variation products that share a common attribute, such as color or size. The variation group is a non-buyable entity that provides inheritable attributes for buyable product variants. The variation group is also used as a navigation entity. - -### Variation Product - -A product that is a specific variation of a master product. For example, a brand X t-shirt in size XL of the color blue. The variation product is buyable and shares most of the attributes defined for the master product. The variation product has its own product ID and can have its own images. - -### Product Option - -A product configured with optional accessories, upgrades, or services. For example, a laptop with different service warranties or with different size hard drives. Options are always purchased with a product and can’t be purchased separately. \ No newline at end of file diff --git a/apis/product/products/products.raml b/apis/product/products/products.raml deleted file mode 100644 index 5f1d9b48..00000000 --- a/apis/product/products/products.raml +++ /dev/null @@ -1,1978 +0,0 @@ -#%RAML 1.0 -title: Products -version: v1 -protocols: HTTPS -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/product/products/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include products-description.md - -uses: - ProductTraits: data-products-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - CatalogCategoryId: - description: Document representing a catalog category ID. - properties: - catalogId: - description: The ID of the catalog that owns the category. - maxLength: 256 - minLength: 1 - type: string - example: "storefront-catalog" - categoryId: - description: The ID of the category. - maxLength: 256 - minLength: 1 - type: string - example: "new-arrivals" - ImageGroup: - description: Document representing an image group containing a list of images for a particular view type and an optional variation value. - properties: - images: - description: The images of the image group. - type: MediaFile[] - variationAttributes: - description: Returns a list of variation attributes applying to this image group. - required: false - type: VariationAttribute[] - viewType: - description: The image view type. - type: string - example: "hi-res" - MarkupText: - description: Document representing markup text. - properties: - markup: - description: The rendered HTML. - type: string - example: "" - source: - description: The raw markup text. - type: string - example: "" - Master: - description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Does'nt have a SKU.* - properties: - masterId: - maxLength: 100 - minLength: 1 - type: string - description: The ID (SKU) of the master product. - example: "apple-ipod-classic" - orderable: - type: boolean - required: false - description: A flag indicating whether at least one of the variants is orderable. - example: true - price: - type: number - format: double - required: false - description: The minimum sales price of the related variants. - example: 199.99 - priceMax: - type: number - format: double - required: false - description: The maximum sales of related variants. - example: 219.99 - prices: - type: object - properties: - //: - type: number - format: double - required: false - description: prices - - MediaFile: - description: Document representing media file. - properties: - absUrl: - description: The absolute URL with request protocol. - required: false - type: string - example: "https://www.example-image.com/images/apple-ipod-classic.jpg" - alt: - description: The alternative image text. - required: false - type: object - properties: - //: - type: string - example: {"en_US" : "iPod"} - disBaseUrl: - description: The Dynamic Image Service (DIS) base URL for product images only. - required: false - type: string - example: "https://www.dis-base-url/images/apple-ipod-clasic.jpg" - path: - description: The raw media file path. - type: string - example: "/images/apple-ipod-classic.jpg" - title: - description: The image title. - required: false - type: object - properties: - //: - type: string - example: {"en_US":"iPod"} - Money: - description: Document representing money. - properties: - currencyMnemonic: - description: The currency mnemonic for the money. - type: string - example: "USD" - value: - description: The value for the money. - type: number - format: double - example: 199.99 - Product: - description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. Product that has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. - properties: - assignedCategories: - description: The catalog categories that the product is assigned to. It is read only. - type: CatalogCategoryId[] - required: false - ats: - description: The Available To Sell (ATS) inventory value of the product. This is a calculated value. - type: number - format: double - required: false - example: 15 - brand: - description: The brand of the product. - type: string - required: false - example: "Apple" - bundledProducts: - description: The array of bundled products which the product includes. It is read only. - type: Product[] - required: false - classificationCategory: - description: The catalog category that the product is assigned to for classification. This is a read only field. - type: CatalogCategoryId - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. It is read only. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - defaultVariantId: - description: The ID of the product's default variant. It is read only. - type: string - required: false - example: "apple-ipod-classic-8gb-black" - ean: - description: The European Article Number of the product. - type: string - required: false - example: "ksdf69w4" - id: - description: The ID (SKU) of the product. - maxLength: 100 - minLength: 1 - type: string - example: "apple-ipod-classic" - image: - description: The image(s) assigned to the product. It is read only. - type: MediaFile - required: false - imageGroups: - description: The array of product image groups. It is read only. - type: ImageGroup[] - required: false - inStock: - description: The flag that indicates if the product is in stock, or not. This is a calculated value. - type: boolean - required: false - example: true - lastModified: - description: Returns the value of attribute 'lastModified'. It is read only. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - localizedTaxClassId: - description: The localized tax class identifier of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"exempt"} - longDescription: - description: The localized long description of the product. - type: object - properties: - //: - type: MarkupText - required: false - manufacturerName: - description: The name of the product's manufacturer. - type: string - required: false - example: "Apple" - manufacturerSku: - description: The SKU of the product's manufacturer. - type: string - required: false - example: "HSD68J" - master: - description: The master of the product. This is applicable for product types "variationGroup" and "variant" only. - type: Master - required: false - name: - description: The localized name of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Apple Ipod Classic"} - online: - description: The flag that indicates if the product is online, or not. This is a calculated value. - type: boolean - required: false - example: true - onlineFlag: - description: The site-specific online status of the product. - type: object - properties: - //: - type: boolean - required: false - example: {"Site1":true} - owningCatalogId: - description: The ID of the catalog that owns the product. - type: string - required: false - example: "apple-master-catalog" - owningCatalogName: - description: The localized name of the catalog that owns the product. It is read only. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Apple Master Catalog"} - pageDescription: - description: The localized page description of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Page Description"} - pageKeywords: - description: The localized page keywords of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Keywords"} - pageTitle: - description: The localized page title of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Page Title"} - price: - description: The price of the product. - type: number - format: double - required: false - example: 219.99 - priceCurrency: - description: The currency code for a product's price. - type: string - required: false - example: "USD" - pricePerUnit: - description: The price per unit of the product. This is a read only field. - type: number - format: double - required: false - example: 1 - primaryCategories: - description: The primary catalog categories that the product is assigned to. It is read only. - type: CatalogCategoryId[] - required: false - primaryCategoryId: - description: The ID of the products primary category. This is a read only field. It is read only. - type: string - required: false - example: "electronics-media-players" - productBundles: - description: The array of product bundles which the product belongs to. It is read only. - type: Product[] - required: false - productOptions: - description: The array of product options. This is applicable for products of type "option". It is read only. - type: ProductOption[] - required: false - productSets: - description: The array of product sets which the product belongs to. It is read only. - type: Product[] - required: false - searchable: - description: The site-specific searchable status of the product. - type: object - properties: - //: - type: boolean - required: false - example: {"Site1":true} - setProducts: - description: The array of set products which the product includes. It is read only. - type: Product[] - required: false - shortDescription: - description: The localized short description of the product. - type: object - properties: - //: - type: MarkupText - required: false - taxClassId: - description: The tax class identifier of the product. - type: string - required: false - example: "standard" - type: - description: The type of the product. It can have one or more of the values "item", "master", "variationGroup", "variant", "bundle", and "set". It is read only. - type: ProductType - required: false - unit: - description: The sales unit of the product. - type: string - required: false - example: "single" - unitMeasure: - description: The unitMeasure of the product. - type: string - required: false - example: "each" - unitQuantity: - description: The unitQuantity of the product. - type: number - format: double - required: false - example: 15 - upc: - description: The Universal Product Code (UPC) of the product. - type: string - required: false - example: "66JSD88JASD" - validFrom: - description: The valid/online from date of the product. - type: object - properties: - //: - type: string - required: false - example: {"default@SiteGenesis":"2000-05-11T00:00:00.000Z"} - validTo: - description: The valid/online to date of the product. - type: object - properties: - //: - type: string - required: false - example: {"default@SiteGenesis":"2050-05-11T00:00:00.000Z"} - variants: - description: The array of variants of the product. This is applicable for product types "master" and "variationGroup" only. It is read only. - type: Variant[] - required: false - variationAttributes: - description: |- - The sorted array of variation attributes assigned to the product. This is applicable for product types "master", - "variationGroup" and "variant" only. It is read only. - type: VariationAttribute[] - required: false - variationGroups: - description: The array of variation groups in the product. This is applicable for product type "master" only. It is read only. - type: VariationGroup[] - required: false - variationValues: - description: |- - The variation values selected for the product in variation attribute id and value pairs. This is applicable for product types "Variant" and - "VariationGroup" only. It is read only. - type: object - properties: - //: - type: string - required: false - example: {"color":"red","size":"8gb"} - ProductOption: - description: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can't be purchased separately. - properties: - customName: - description: The localized custom name of the product option. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Warranty"} - defaultProductOptionValue: - description: The default product option value. - required: false - type: string - example: "5-years" - description: - description: The localized description of the product option. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Option Description"} - id: - description: The object attribute definition ID which is also the identifier for the product option. - minLength: 1 - type: string - example: "warranty" - image: - description: The image assigned to the product option. - type: MediaFile - required: false - name: - description: The name of the object attribute definition. - required: false - type: string - example: "Warranty" - selectedOptionValue: - description: The selected option value of the product option. - required: false - type: string - example: "2-years" - shared: - description: The flag that indicates if the product option is shared or local. - required: false - type: boolean - example: false - sortingMode: - description: The sorting mode for the product option values. - required: false - type: string - enum: - - byexplicitorder - - byoptionprice - example: byoptionprice - values: - description: The sorted array of values of the product option. - required: false - type: ProductOptionValue[] - ProductOptionValue: - description: Document representing a product option Value - properties: - defaultProductOptionValue: - description: Flag indicating if the product option value is the default value for the product option. - required: false - type: boolean - example: true - id: - description: The ID of the product option value. - minLength: 1 - type: string - example: "5-year" - optionPrices: - description: The list of prices in the product option value. - required: false - type: Money[] - skuExtension: - description: The SKU extension of the product option value. - type: string - required: false - example: "extension" - value: - description: The localized value of the product option. - type: object - properties: - //: - type: string - example: {"en_US":"5 Year Warranty"} - - ProductOptionValues: - description: Document representing an unfiltered list of product option values. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: The array of product option value objects. - type: ProductOptionValue[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 1 - total: - description: The total number of documents. - type: integer - format: int32 - example: 10 - ProductOptions: - description: Document representing an unfiltered list of product options. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: The array of product option objects. - type: ProductOption[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 1 - total: - description: The total number of documents. - type: integer - format: int32 - example: 10 - ProductSearchRequest: - type: CommerceCloudStandards.SearchRequest - example: !include Examples/ProductSearchRequest.raml - ProductSearchResult: - description: Document representing a product search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: A sorted array of search hits (`Product` objects). The array can be empty. - type: Product[] - ProductType: - description: Document representing a product type. - properties: - bundle: - description: A flag indicating whether the product is a bundle. - required: false - type: boolean - example: false - bundled: - description: A flag indicating whether the product is bundled. - required: false - type: boolean - example: false - item: - description: A flag indicating whether the product is a standard item. - required: false - type: boolean - example: false - master: - description: A flag indicating whether the product is a master. - type: boolean - example: true - option: - description: A flag indicating whether the product is an option. - required: false - type: boolean - example: false - partOfProductSet: - description: A flag indicating whether the product is part of product set. - required: false - type: boolean - example: false - partOfRetailSet: - description: A flag indicating whether the product is part of retail set. - required: false - type: boolean - example: false - retailSet: - description: A flag indicating whether the product is a retail set. - required: false - type: boolean - example: false - set: - description: A flag indicating whether the product is a set. - required: false - type: boolean - example: false - variant: - description: A flag indicating whether the product is a variant. - required: false - type: boolean - example: false - variationGroup: - description: A flag indicating whether the product is a variation group. - required: false - type: boolean - example: false - Variant: - description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU* - properties: - ats: - description: The Available To Sell (ATS) inventory value of the product. This is a calculated value. - type: number - format: double - required: false - example: 10 - defaultProductVariation: - description: A flag indicating whether the variant is a default variant. - type: boolean - required: false - example: true - image: - description: URL to the preview image. - type: MediaFile - required: false - inStock: - description: True if the product is in stock, false if not. - type: boolean - required: false - example: true - online: - description: |- - If the product is currently online. - True if online, false if not. - type: boolean - required: false - example: true - orderable: - description: A flag indicating whether the variant is orderable. - type: boolean - required: false - example: true - price: - description: The sales price of the variant. - type: number - format: double - required: false - example: 29.99 - priceCurrency: - description: Currency code for the price of the product. - type: string - required: false - example: "USD" - productId: - description: The ID (SKU) of the variant. - maxLength: 100 - minLength: 1 - type: string - example: "apple-ipod-classic-8gb-black" - searchable: - description: A flag indicating whether the variant is searchable. - type: object - properties: - //: - type: boolean - required: false - example: {"Site1":true} - variationAttributes: - description: Variation attributes. - type: VariationAttribute[] - required: false - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - required: false - example: {"color":"black"} - VariantSearchRequest: - type: CommerceCloudStandards.SearchRequest - example: !include Examples/VariantSearchRequest.raml - VariantSearchResult: - description: Document that represents a search on certificates and keys. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: An array of search hits (`Variant` objects). - type: Variant[] - Variants: - description: Document representing an unfiltered list of variants. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: An array of variants. - type: Variant[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 1 - total: - description: The total number of documents. - type: integer - format: int32 - example: 10 - VariationAttribute: - description: Document representing a variation attribute. - properties: - attributeDefinitionId: - description: The id of the requested attribute definition. - type: string - example: "color" - attributeDefinitionName: - description: The localized display name of the variation attribute definition. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Color"} - defaultValue: - description: Default variation attribute value. - type: string - required: false - example: "black" - id: - description: The ID of the variation attribute. - minLength: 1 - type: string - required: false - example: "color" - name: - description: The localized display name of the variation attribute. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Color"} - shared: - description: Returns the value of attribute 'shared' if attribute is local or shared. - type: boolean - required: false - example: false - slicing: - description: Returns the value of attribute 'slicing'. - type: boolean - required: false - example: true - values: - description: The sorted array of variation values. This array can be empty. - type: VariationAttributeValue[] - required: false - variationAttributeType: - description: Variation attribute type. - type: string - enum: - - string - - int - - unknown - required: false - example: string - VariationAttributeValue: - description: Document representing a variation attribute value. - properties: - description: - description: The localized description of the variation value. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Red"} - image: - description: The first product image for the configured viewtype and this variation value. - type: MediaFile - required: false - imageSwatch: - description: The first product image for the configured viewtype and this variation value (typically the swatch image). - type: MediaFile - required: false - name: - description: The localized display name of the variation value. - type: object - properties: - //: - type: string - required: false - example: {"color":"Red"} - orderable: - description: A flag indicating whether at least one variant with this variation attribute value is available to sell. - type: boolean - required: false - example: true - position: - description: The position of the value among all values of a variation attribute. - type: number - format: double - required: false - example: 2 - value: - description: The actual variation value. - minLength: 1 - type: string - example: "red" - VariationAttributeValues: - description: Document representing an unfiltered list of variation attribute values. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: An array of variation attribute values. - type: VariationAttributeValue[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 1 - total: - description: The total number of documents. - type: integer - format: int32 - example: 10 - VariationAttributes: - description: Document representing an unfiltered list of variation attributes. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: The array of variation attribute objects. - type: VariationAttribute[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 1 - total: - description: The total number of documents. - type: integer - format: int32 - example: 10 - VariationGroup: - description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Doesn't have a SKU.* - properties: - orderable: - description: A flag indicating whether the variation group is orderable. - required: false - type: boolean - example: true - price: - description: The sales price of the variation group. - required: false - type: number - format: double - example: 229.99 - productId: - description: The ID (SKU) of the variation group. - maxLength: 100 - minLength: 1 - type: string - example: "apple-ipod-classic-black" - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - required: false - properties: - //: - type: string - example: {"color":"red"} - VariationGroups: - description: Document representing an unfiltered list of variation groups. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: The array of variation group objects. - type: VariationGroup[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 1 - total: - description: The total number of documents. - type: integer - format: int32 - example: 10 - CategorizationAttributeDefiniton: - description: The categorization attribute definition. - properties: - id: - description: The ID of the supported attribute. - type: string - example: "producttype" - required: true - attributeName: - description: The display name of the supported attribute. - type: string - example: "Product Type" - required: false - attributeType: - description: | - The type of the attribute (custom/system/categorization). "system" indicates the System Attribute of the Product in ECOM, "custom" indicates the Custom Attribute of the Product in ECOM defined by merchant and "categorization" indicates the attribute used for categorization purposes ONLY and is not a defined attribute on the Product Object. - type: string - example: categorization - required: true - enum: - - custom - - system - - categorization - valueType: - description: The value type of the attribute. - type: string - example: "string" - required: true - allowedOperators: - description: The list of allowed operators for this attribute based on its value type. - type: string[] - example: ["equals","notEquals"] - required: true - allowedValues: - description: The list of allowed values for this attribute IF its attributeType is an ENUM. - type: string[] - example: [ "1", "2" ] - required: false - allowedDisplayValues: - description: | - The list of allowed Localized Display values for this attribute IF its attributeType is an ENUM based on the locale query param requested. If no locale query param value is provided "default" locale is assumed. - type: string[] - example: [ "One", "Two" ] - required: false - CategorizationAttributeDefinitonsResult: - description: The list of categorization attributes supported for rule based categorization. - properties: - limit: - description: The number of returned categorization attribute definition records. - type: integer - format: int32 - example: 10 - data: - description: The list of the categorization attribute definitions. This can be empty. - type: CategorizationAttributeDefiniton[] - required: false - total: - description: The total number of categorization attribute definition records. - type: integer - format: int32 - example: 5 - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /products: - /{productId}: - delete: - description: Deletes the product by ID. - displayName: deleteProduct - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - responses: - '204': - description: Deleted the product successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - get: - description: Action to get product information. - displayName: getProduct - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Retrieved Product Information successfully. - body: - application/json: - type: Product - examples: - productResponse: !include Examples/Data-Product-Expand.raml - queryParameters: - siteId: - description: The site context. - type: string - required: false - example: SiteGenesis - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - patch: - description: |- - Update a product using the information provided. - - Fields that can be updated: - name, pageDescription, longDescripton, pageTitle, - pageKeywords, brand, ean, upc, manufactureSku, - manufactureName, searchable, unit, searchable, - onlineFlag, defaultVariantId. - - Custom Attributes are used to extend a standard Product system object. This endpoint can be used to update custom attribute values for a particular product SKU. If you try to update a non-existent custom attribute, the request won't fail, but no changes are made and the attribute is not created. - displayName: updateProduct - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Updated the product successfully. - body: - application/json: - type: Product - examples: - productResponse: !include Examples/Data-Product-Expand.raml - body: - application/json: - type: Product - examples: - productRequest: !include Examples/Data-Product-Expand.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - put: - description: Creates a product using the information provided. If a product with the same unique identifier exists, it is cleaned and overwritten. - displayName: createProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '201': - description: Product was created successfully. - body: - application/json: - type: Product - examples: - productResponse: !include Examples/Data-Product-Expand.raml - '200': - description: Product was updated successfully. - body: - application/json: - type: Product - examples: - productResponse: !include Examples/Data-Product-Expand.raml - body: - application/json: - type: Product - examples: - productRequest: !include Examples/Data-Product-Expand.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - uriParameters: - productId: - description: The product ID. - maxLength: 100 - minLength: 1 - type: string - example: apple-ipod-shuffle - /variant-search: - post: - description: | - Searches product variations for master product or variation group product. The query attribute specifies a complex query that can be used to narrow down the search. - - This is the list of searchable attributes: - - | Attribute | Type | - |-----------|--------| - | id | String | - | productId | String | - | name | String | - | online | SiteSpecific Boolean | - | inStock | Boolean | - | searchable | SiteSpecific Boolean | - | ats - Actual available quantity to sell | Double | - | variationAttribute.ATTRIBUTE_ID (Ex:variation_attribute.color) | String | - - Sortable Fields: - - | Attribute | Type | - |-----------|--------| - | id | String | - | productId | String | - | name | String | - | online | SiteSpecific Boolean | - | inStock | Boolean | - | searchable | SiteSpecific Boolean | - | ats - Actual available quantity to sell | Double | - - Note: The calculated value of \"online\" and \"searchable\" is used in the search/sort. A search/sort by the site-specific attributes require the Site ID query parameter to be set. They are \"online\", \"inStock\", \"searchable\" and \"ats\". We assume that every field that starts with variationAttribute. is searchable and dot is followed by \"ATTRIBUTE_ID\". - - The list of expansions to retrieve product information. The expand values available are: - - - _base - Basic product information is retrieved. This expand is included by default. - - - all - All product information, including the following properties are retrieved: - - image - - price - siteId must be provided to see this property - - priceCurrency - siteId has to be provided to see this property - - - availability - Information related to the availability of the product variation. This expand is not included by default. - - ats - siteId must be provided to see this property - - inStock - siteId has to be provided to see this property - - online - siteId has to be provided to see this property - - searchable - - - variations - Information related to product variation is retrieved. This expand is included by default. - - - attributes - Information related to product variation attributes is retrieved. This expand is not included by default. - - - - - displayName: searchProductVariations - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Search results returned. - body: - application/json: - type: VariantSearchResult - examples: - variantSearchResult: !include Examples/VariantSearchResult.raml - queryParameters: - siteId: - description: The site context - type: string - required: false - example: SiteGenesis - body: - application/json: - type: VariantSearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - /{masterProductId}/variation-groups: - get: - description: Reads variation groups for a product master. - displayName: getVariationGroupsForMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - - ProductTraits.offset-paginated: - maxLimit: 50 - defaultSize: 25 - responses: - '200': - description: Get VariationGroups for a master product was successful. - body: - application/json: - type: VariationGroups - examples: - variantGroupsResult: !include Examples/VariationGroupsResult.raml - queryParameters: - siteId: - type: string - required: false - description: The site context. - example: SiteGenesis - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - /{id}: - delete: - description: |- - Unassign a variation group product from a product master. The variation group product is not - deleted: it remains as a normal product after unsassign. - displayName: unassignVariationGroupFromMasterProduct - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - responses: - '204': - description: Deleted the variation group successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - get: - description: Read a variation group for a product master. - displayName: getVariationGroupForMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Get VariationGroup by Id for a master product was successful. - body: - application/json: - type: VariationGroup - examples: - variantGroupsIdResult: !include Examples/VariationGroupsIdResult.raml - queryParameters: - siteId: - description: The site context. - type: string - required: false - example: SiteGenesis - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - patch: - description: Update a variation group for a product master. - displayName: updateVariationGroupForMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Update was successful. - body: - application/json: - type: VariationGroup - examples: - variantGroupsIdResult: !include Examples/VariationGroupsIdResult.raml - body: - application/json: - type: VariationGroup - examples: - variantGroupsIdRequest: !include Examples/VariationGroupsIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - put: - description: |- - Assign a variation group for a product master. If the variation group product does not initially exist, - one is created using the body passed in. - displayName: assignVariationGroupToMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Successfully assigned a variation group for given product master. - body: - application/json: - type: VariationGroup - examples: - variantGroupsIdResult: !include Examples/VariationGroupsIdResult.raml - body: - application/json: - type: VariationGroup - examples: - variantGroupsIdRequest: !include Examples/VariationGroupsIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - uriParameters: - masterProductId: - description: The ID of the master product that contains the variation group. - minLength: 1 - type: string - example: apple-ipod-classic - id: - description: The ID of the variation group product. - minLength: 1 - type: string - example: color - /{masterProductId}/variations: - get: - description: Reads variation for a product master. - displayName: getVariationsForMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - - ProductTraits.offset-paginated: - maxLimit: 50 - defaultSize: 25 - responses: - '200': - description: Get Variation by ID successful. - body: - application/json: - type: Variants - examples: - variantsResult: !include Examples/VariantsResult.raml - queryParameters: - siteId: - description: The site context. - type: string - required: false - example: SiteGenesis - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - /{id}: - delete: - description: |- - Unassign a variation product from a product master. The variation product is not deleted: it remains as a - normal product after unsassign. - displayName: unassignVariationFromMasterProduct - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - responses: - '204': - description: Deleted the variation group successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - get: - description: Read a variation for a product master. - displayName: getVariationForMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Get Variation by ID successful. - body: - application/json: - type: Variant - examples: - variantsIdResult: !include Examples/VariationsIdResult.raml - queryParameters: - siteId: - type: string - required: false - description: The site context. - example: SiteGenesis - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - patch: - description: Update a variation for a product master. - displayName: updateVariationForMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Variation updated successfully. - body: - application/json: - type: Variant - examples: - variantsIdResult: !include Examples/VariationsIdResult.raml - body: - application/json: - type: Variant - examples: - variantsIdRequest: !include Examples/VariationsIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - put: - description: |- - Assign a variation for a product master. If the variation product does not initially exist, - one is created using the body passed in. - displayName: assignVariationForMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Variation in master product was updated successfully. - body: - application/json: - type: Variant - examples: - variantsIdResult: !include Examples/VariationsIdResult.raml - body: - application/json: - type: Variant - examples: - variantsIdRequest: !include Examples/VariationsIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - uriParameters: - masterProductId: - description: The ID of the master product that contains the variation group. - minLength: 1 - type: string - example: apple-ipod-classic - id: - description: The ID of the variation product. - minLength: 1 - type: string - example: color - /{productId}/product-options: - get: - description: Read local and shared product options of a product. - displayName: getProductOptions - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - - ProductTraits.offset-paginated: - maxLimit: 50 - defaultSize: 25 - responses: - '200': - description: Get ProductOptions successful. - body: - application/json: - type: ProductOptions - examples: - productOptionsResult: !include Examples/ProductOptionsResult.raml - queryParameters: - currency: - type: string - required: false - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - /{id}: - delete: - description: Deletes a local product option or unbinds a shared product option from the product. - displayName: deleteProductOption - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '204': - description: Deleted product option succesfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - get: - description: Read a local or shared product option of a product. - displayName: getProductOption - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Retrieved product option successfully. - body: - application/json: - type: ProductOption - examples: - productOptionsIdResult: !include Examples/ProductOptionsIdResult.raml - queryParameters: - currency: - type: string - required: false - example: USD - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - patch: - description: Updates a local product option with the information provided. - displayName: updateProductOption - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Update product option successfully. - body: - application/json: - type: ProductOption - examples: - productOptionsIdResult: !include Examples/ProductOptionsIdResult.raml - body: - application/json: - type: ProductOption - examples: - productOptionsIdRequest: !include Examples/ProductOptionsIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - put: - description: Creates a local product option using the information provided or binds a shared product option to the product. - displayName: createProductOption - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '201': - description: Created or binded product option successfully. - body: - application/json: - type: ProductOption - examples: - productOptionsIdResult: !include Examples/ProductOptionsIdResult.raml - '200': - description: Updated product option successfully. - body: - application/json: - type: ProductOption - examples: - productOptionsIdResult: !include Examples/ProductOptionsIdResult.raml - body: - application/json: - type: ProductOption - examples: - productOptionsIdRequest: !include Examples/ProductOptionsIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - uriParameters: - productId: - description: The ID of the product. - minLength: 1 - type: string - example: apple-ipod-classic - id: - description: The ID of the local or shared product option. - minLength: 1 - type: string - example: my-option - - /{productId}/product-options/{optionId}/values/{id}: - delete: - description: Deletes a local product option value by ID. - displayName: deleteProductOptionValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '204': - description: Deleted product option value successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - get: - description: Read a local product option value of a local product option in a product. - displayName: getProductOptionValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Successfully retrieved product option value. - body: - application/json: - type: ProductOptionValue - examples: - productOptionsValueResult: !include Examples/ProductOptionsValuesResult.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - patch: - description: Updates a local product option value with the information provided. - displayName: updateProductOptionValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Product option value was updated successfully. - body: - application/json: - type: ProductOptionValue - examples: - productOptionsValueResult: !include Examples/ProductOptionsValuesResult.raml - body: - application/json: - type: ProductOptionValue - examples: - productOptionsValueRequest: !include Examples/ProductOptionsValuesRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - put: - description: Creates a local product option value using the information provided. - displayName: createProductOptionValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '201': - description: Created product option value successfully. - body: - application/json: - type: ProductOptionValue - examples: - productOptionsValueResult: !include Examples/ProductOptionsValuesResult.raml - '200': - description: Upsated product option value successfully. - body: - application/json: - type: ProductOptionValue - examples: - productOptionsValueResult: !include Examples/ProductOptionsValuesResult.raml - body: - application/json: - type: ProductOptionValue - examples: - productOptionsValueRequest: !include Examples/ProductOptionsValuesRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - uriParameters: - id: - description: The ID of the local product option value. - minLength: 1 - type: string - example: value1 - optionId: - description: The ID of the local product option. - minLength: 1 - type: string - example: size - productId: - description: The ID of the product. - minLength: 1 - type: string - example: apple-ipod-classic - /{productId}/variation-attributes/{attributeId}/values/{id}: - get: - description: Action to get product variation attribute value information. - displayName: getVariationAttributeValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Updated variation attribute value successfully. - body: - application/json: - type: VariationAttributeValue - examples: - variantAttributeValuesResult: !include Examples/VariationAttributeValuesIdResult.raml - queryParameters: - siteId: - type: string - required: false - description: The site context. - example: SiteGenesis - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - delete: - description: Deletes the variation attribute value of a variation attribute bound to a master product. - displayName: deleteVariationAttributeValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '204': - description: Deleted variation attribute value successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - patch: - description: Updates the variation attribute value of a variation attribute of a master product. - displayName: updateVariationAttributeValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Updated variation attribute value successfully. - body: - application/json: - type: VariationAttributeValue - examples: - variantAttributeValuesResult: !include Examples/VariationAttributeValuesIdResult.raml - body: - application/json: - type: VariationAttributeValue - examples: - variantAttributeValuesRequest: !include Examples/VariationAttributeValuesIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - put: - description: Action to create a product variation attribute value. - displayName: createVariationAttributeValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '201': - description: Created product variation attribute value successfully. - body: - application/json: - type: VariationAttributeValue - examples: - variantAttributeValuesResult: !include Examples/VariationAttributeValuesIdResult.raml - '200': - description: Created product variation attribute value successfully. - body: - application/json: - type: VariationAttributeValue - examples: - variantAttributeValuesResult: !include Examples/VariationAttributeValuesIdResult.raml - body: - application/json: - type: VariationAttributeValue - examples: - variantAttributeValuesRequest: !include Examples/VariationAttributeValuesIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - uriParameters: - productId: - description: The ID of the product. - minLength: 1 - type: string - example: apple-ipod-classic - attributeId: - description: The variation attribute ID. - minLength: 1 - type: string - example: screenSize - id: - description: The ID of the variation attribute value. - minLength: 1 - type: string - example: "8" - /{productId}/variation-attributes: - get: - description: Reads variation attributes of a product of type variant, variation master, or variation group. - displayName: getVariationAttributes - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.offset-paginated: - maxLimit: 50 - defaultSize: 25 - responses: - '200': - description: Get list of VariationAttributes for product ID successful. - body: - application/json: - type: VariationAttributes - examples: - variantAttributesResult: !include Examples/VariationAttributesResult.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - /{id}: - get: - description: Action to get variation attribute information only for master product. - displayName: getVariationAttribute - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Get VariationAttribute for product ID successful. - body: - application/json: - type: VariationAttribute - examples: - variantAttributeIdResult: !include Examples/VariationAttributeResult.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - delete: - description: Deletes the variation attribute by ID. - displayName: deleteVariationAttribute - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '204': - description: Deleted variation attribute successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - patch: - description: |- - Updates the variation attribute with the specified information. - name - slicing - - displayName: updateVariationAttribute - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Udpated variation attribute successfully. - body: - application/json: - type: VariationAttribute - examples: - variantAttributeIdResult: !include Examples/VariationAttributeResult.raml - body: - application/json: - type: VariationAttribute - examples: - variantAttributeIdRequest: !include Examples/VariationAttributeRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - put: - description: Creates a variation attribute using the information provided. - displayName: createVariationAttribute - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '201': - description: Created variation attribute successfully. - body: - application/json: - type: VariationAttribute - examples: - variantAttributeIdResult: !include Examples/VariationAttributeResult.raml - '200': - description: Created variation attribute successfully. - body: - application/json: - type: VariationAttribute - examples: - variantAttributeIdResult: !include Examples/VariationAttributeResult.raml - body: - application/json: - type: VariationAttribute - examples: - variantAttributeIdRequest: !include Examples/VariationAttributeRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - uriParameters: - productId: - description: The ID of the product. - minLength: 1 - type: string - example: apple-ipod-classic - id: - description: The ID of the variation attribute to create. - minLength: 1 - type: string - example: screenSize - -/organizations/{organizationId}/categorization-attribute-definitions: - get: - description: | - Gets the list of allowed attributes, values, and operators for creating rule-based categorization conditions. - displayName: getCategorizationAttributeDefinitions - is: - - ProductTraits.BadRequest - - ProductTraits.Unauthorized - queryParameters: - locale: - description: The display locale context for Attribute names and Attribute Value names. - type: string - required: false - example: en-US - responses: - 200: - description: Categorization attribute definitions retrieved successfully. - body: - application/json: - type: CategorizationAttributeDefinitonsResult - examples: - result: !include Examples/CategorizationAttributeDefinitionResult.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - - - - -/organizations/{organizationId}/product-search: - post: - description: | - Searches for products. The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped into different buckets. - - The following is a list of searchable attributes with their corresponding buckets: - - Main: - - | Attribute | Type | - |-----------|--------| - | id | String | - | name | String | - | online | SiteSpecific Boolean | - | searchable | SiteSpecific Boolean | - | validFrom | SiteSpecfic DateTime | - | validTo | SiteSpecfic DateTime | - | type | ProductType | - | creationDate | DateTime | - | lastModified | DateTime | - - Catalog: - - | Attribute | Type | - |-----------|--------| - | catalogId | String | - - Category: - - | Attribute | Type | - |-----------|--------| - | categoryId | String | - - Special: - - type - {\"item\", \"set, \"bundle\", \"master\", \"partOfProductSet\", \"bundled\", \"variant\", \"variationGroup\", \"option\", \"retailSet\", \"partOfRetailSet\"} - - The sortable properties are: - - | Attribute | Type | - |-----------|--------| - | id | String | - | name | String | - | creationDate | DateTime | - - Note that catalogId is the ID of the catalog to which products are assigned to - - Only attributes in the same bucket can be joined using a disjunction (OR). For instance, when joining id and catalogId, only a conjunction is allowed (AND), whereas id and searchable can be joined using a disjunction because they are in the same bucket. If an attribute is used in a disjunction (OR) that violates this rule, an exception is thrown. The product search retrieves additional properties of the product when expansions are used. - - The available expand attribute values are: - - - ‘all' retrieves all the product properties. This is the default used when no expand value is included in the request. - - - 'none' retrieves no expansion properties. - - - ‘availability' retrieves the following properties: - - ats - - inStock - - online - - - ‘categories' retrieves the assignedCategories property. - - - ‘images' retrieves the image property. - - - ‘allImages' used with images retrieves the following properties: - - image - - imageGroups - - - 'prices' retrieves the following properties: - - price - - priceCurrency - - - ‘sets' retrieves the following properties: - - setProducts - - productSets - - - ‘bundles' retrieves the following properties: - - productBundles - - bundledProduct - - displayName: searchProducts - queryParameters: - siteId: - description: The site context. - type: string - required: false - example: SiteGenesis - body: - application/json: - type: ProductSearchRequest - is: - - ProductTraits.BadRequest - - ProductTraits.Unauthorized - responses: - '200': - description: Product search completed successfully. - body: - application/json: - type: ProductSearchResult - examples: - productSearchResult: !include Examples/ProductSearchResult.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - diff --git a/apis/product/shopper-products/.metadata.json b/apis/product/shopper-products/.metadata.json deleted file mode 100644 index 9ffb7f87..00000000 --- a/apis/product/shopper-products/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-products/0.0.37", - "name": "Shopper Products", - "description": "Display product details across your storefront.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-products", - "version": "0.0.37", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Product" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/product/shopper-products/Examples/category-example.raml b/apis/product/shopper-products/Examples/category-example.raml deleted file mode 100644 index 2706ec5a..00000000 --- a/apis/product/shopper-products/Examples/category-example.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the Shop Categories Single Get with expansions -value: - { - "categories": [ - { - "id": "electronics-televisions", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg", - "name": "Televisions", - "onlineSubCategoriesCount": 2, - "pageDescription": "Shop the latest Televisions including LCD, Plasma, Flat Screens, Projection including all the top brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "televisions, tvs, LCD, plasma, flat screen, high definition, HDTV, projection", - "pageTitle": "Televisions Including LCD, Plasma & More in High Definition", - "parentCategoryId": "electronics", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ], - "c_enableCompare": true, - "c_showInMenu": true, - "c_slotBannerImage": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw1d6f6411/images/slot/landing/cat-landing-tv.jpg" - }, - { - "id": "electronics-digital-cameras", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw3535377d/images/slot/sub_banners/cat-banner-electronics-camera.jpg", - "name": "Digital Cameras", - "onlineSubCategoriesCount": 0, - "pageDescription": "Shop the latest digital cameras from all the top brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "cameras, digital camerasm point and shoot, slr", - "pageTitle": "Digital Cameras", - "parentCategoryId": "electronics", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ], - "c_enableCompare": true, - "c_showInMenu": true, - "c_slotBannerImage": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw1a543dc7/images/slot/landing/cat-landing-camera.jpg" - }, - { - "id": "electronics-digital-media-players", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw7e9353db/images/slot/sub_banners/cat-banner-electronics-mp3.jpg", - "name": "iPod & MP3 Players", - "onlineSubCategoriesCount": 0, - "pageDescription": "Shop Digital Media Players including iPods, Creative Zen, Sony & the latest from all the top brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "mp3, iPods, mp3 players", - "pageTitle": "iPod & MP3 Digital Media Players", - "parentCategoryId": "electronics", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ], - "c_enableCompare": true, - "c_showInMenu": true, - "c_slotBannerImage": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw9f3d289a/images/slot/landing/cat-landing-mp3.jpg" - }, - { - "id": "electronics-gps-units", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw6ea864f2/images/slot/sub_banners/cat-banner-electronics-gps.jpg", - "name": "GPS Navigation", - "onlineSubCategoriesCount": 0, - "pageDescription": "Shop the latest in GPS units from Garmin and Tom Tom along with other brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "gps, gps units, garmin, tom tom", - "pageTitle": "GPS Units", - "parentCategoryId": "electronics", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ], - "c_enableCompare": true, - "c_showInMenu": true, - "c_slotBannerImage": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwad4e06f8/images/slot/landing/cat-landing-gps.jpg" - }, - { - "id": "electronics-gaming", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw9da58d91/images/slot/sub_banners/cat-banner-electronics.jpg", - "name": "Gaming", - "onlineSubCategoriesCount": 2, - "pageDescription": "Shop games and game consoles from Xbox, Xbox360, Playstation 2, Playstation 3, Game Cube, Wii, Playstation Portable and Nintento DS at Salesforce Commerce Cloud.", - "pageKeywords": "gaming, xbox, xbox360, ps3, ps2, playstaion 3, psp, game cube, wii, nintendo, nintendo ds", - "pageTitle": "Gaming", - "parentCategoryId": "electronics", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ], - "c_enableCompare": true, - "c_showInMenu": true, - "c_slotBannerImage": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/en_US/v1551233475301/images/slot/landing/cat-landing-gaming.jpg" - } - ], - "id": "electronics", - "name": "Electronics", - "onlineSubCategoriesCount": 5, - "pageDescription": "Shop Electronics including the latest in televisions, digital cameras, camcorders, mp3, ipod, mobil phones, GPS & gaming at Salesforce Commerce Cloud", - "pageKeywords": "televisions, digital cameras, camcorders, mp3, ipod, mobil phones, GPS, gaming", - "pageTitle": "Shop Electronics Including Televisions, Digital Cameras, iPods & More", - "parentCategoryId": "root", - "parent_category_tree": [ - { - "id": "root", - "name": "root" - } - ], - "c_enableCompare": true, - "c_headerMenuOrientation": "Vertical", - "c_showInMenu": true -} \ No newline at end of file diff --git a/apis/product/shopper-products/Examples/category-result-example.raml b/apis/product/shopper-products/Examples/category-result-example.raml deleted file mode 100644 index b949ead7..00000000 --- a/apis/product/shopper-products/Examples/category-result-example.raml +++ /dev/null @@ -1,74 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the Shop Categories Multi Get with expansions -value: - { - "limit": 2, - "data": [ - { - "id": "electronics-digital-cameras", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw3535377d/images/slot/sub_banners/cat-banner-electronics-camera.jpg", - "name": "Digital Cameras", - "onlineSubCategoriesCount": 0, - "pageDescription": "Shop the latest digital cameras from all the top brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "cameras, digital camerasm point and shoot, slr", - "pageTitle": "Digital Cameras", - "parentCategoryId": "electronics", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ] - }, - { - "categories": [ - { - "id": "electronics-televisions-flat-screen", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg", - "name": "Flat Screen", - "pageDescription": "Shop all Flat Screen Televisions including the latest in LCD and Plasma technology from all the latest brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "flat screen, flat screen television, LCD, plasma, HDTV", - "pageTitle": "LCD & Plasma High Definition Flat Screen Televisions", - "parentCategoryId": "electronics-televisions", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ] - }, - { - "id": "electronics-televisions-projection", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg", - "name": "Projection", - "onlineSubCategoriesCount": 0, - "pageDescription": "Shop all Projection Televisions from all the latest brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "projection, projection televisions, HDTV", - "pageTitle": "Projection High Definition Televisions", - "parentCategoryId": "electronics-televisions", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ], - } - ], - "id": "electronics-televisions", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg", - "name": "Televisions", - "onlineSubCategoriesCount": 2, - "pageDescription": "Shop the latest Televisions including LCD, Plasma, Flat Screens, Projection including all the top brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "televisions, tvs, LCD, plasma, flat screen, high definition, HDTV, projection", - "pageTitle": "Televisions Including LCD, Plasma & More in High Definition", - "parentCategoryId": "electronics", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ], - } - ], - "total": 2 -} \ No newline at end of file diff --git a/apis/product/shopper-products/Examples/product-example.raml b/apis/product/shopper-products/Examples/product-example.raml deleted file mode 100644 index 03d2bf7b..00000000 --- a/apis/product/shopper-products/Examples/product-example.raml +++ /dev/null @@ -1,212 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "brand": "Apple", - "currency": "USD", - "id": "apple-ipod-shuffle", - "imageGroups": [ - { - "images": [ - { - "alt": "Apple iPod Shuffle, , large", - "link": "https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dwc2cc65b0/images/large/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "large" - }, - { - "images": [ - { - "alt": "Apple iPod Shuffle, , medium", - "link": "https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dw5f36aab1/images/medium/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "medium" - }, - { - "images": [ - { - "alt": "Apple iPod Shuffle, , small", - "link": "https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dw2b078e02/images/small/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "small" - } - ], - "inventory": { - "ats": 0, - "backorderable": false, - "id": "SiteGenesisList", - "orderable": true, - "preorderable": false, - "stockLevel": 999999 - }, - "longDescription": "Supports AAC, protected AAC, MP3, MP3 VBR, Audible, WAV and AIFF for immediate playback of multiple formats.", - "master": { - "masterId": "apple-ipod-shuffle", - "orderable": false, - "price": 45.99 - }, - "minOrderQuantity": 1, - "name": "Apple iPod Shuffle", - "pageDescription": "With the same size circular control pad as the previous model on a much more compact case with a built-in clip, the updated shuffle is ready to rock and easily tags along when you're on the go.", - "pageKeywords": "Apple, iPod, Shuffle, MP3, Music Player", - "pageMetaTags": [ - { - "id": "description", - "value": "The updated Shuffle features the same-sized circular control pad in a more compact, clip-on case, making it perfect for on-the-go use." - }, - { - "id": "robots", - "value": "index, follow" - }, - { - "id": "title", - "value": "Buy the Apple iPod Shuffle for USD 45.99-69.00." - } - ], - "pageTitle": "Apple iPod Shuffle", - "price": 45.99, - "priceMax": 69, - "primaryCategoryId": "electronics-digital-media-players", - "shortDescription": "With the same size circular control pad as the previous model on a much more compact case with a built-in clip, the updated shuffle is ready to rock and easily tags along when you're on the go.", - "stepQuantity": 1, - "type": { - "master": true - }, - "variants": [ - { - "orderable": true, - "price": 45.99, - "productId": "apple-ipod-shuffle-silver-1g", - "variationValues": { - "color": "Silver", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-blue-1g", - "variationValues": { - "color": "Blue", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-green-1g", - "variationValues": { - "color": "Green", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-red-1g", - "variationValues": { - "color": "Red", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-fuscia-1g", - "variationValues": { - "color": "Fuscia", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 60, - "productId": "apple-ipod-shuffle-silver-2g", - "variationValues": { - "color": "Silver", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 69, - "productId": "apple-ipod-shuffle-green-2g", - "variationValues": { - "color": "Green", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 60, - "productId": "apple-ipod-shuffle-red-2g", - "variationValues": { - "color": "Red", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 69, - "productId": "apple-ipod-shuffle-fuscia-2g", - "variationValues": { - "color": "Fuscia", - "memorySize": "2 GB" - } - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "Silver", - "orderable": false, - "value": "Silver" - }, - { - "name": "Blue", - "orderable": false, - "value": "Blue" - }, - { - "name": "Green", - "orderable": false, - "value": "Green" - }, - { - "name": "Red", - "orderable": false, - "value": "Red" - }, - { - "name": "Fuscia", - "orderable": false, - "value": "Fuscia" - } - ] - }, - { - "id": "memorySize", - "name": "Memory Size", - "values": [ - { - "name": "1 GB", - "orderable": true, - "value": "1 GB" - }, - { - "name": "2 GB", - "orderable": true, - "value": "2 GB" - } - ] - } - ] - } \ No newline at end of file diff --git a/apis/product/shopper-products/Examples/product-result-example.raml b/apis/product/shopper-products/Examples/product-result-example.raml deleted file mode 100644 index 12fb35b2..00000000 --- a/apis/product/shopper-products/Examples/product-result-example.raml +++ /dev/null @@ -1,555 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the Shop Products Multi Get with expansions -value: - { - "limit": 2, - "data": [ - { - "brand": "Apple", - "currency": "USD", - "id": "apple-ipod-shuffle", - "imageGroups": [ - { - "images": [ - { - "alt": "Apple iPod Shuffle, , large", - "link": "https://example.com/dwc2cc65b0/images/large/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "large" - }, - { - "images": [ - { - "alt": "Apple iPod Shuffle, , medium", - "link": "https://example.com/dw5f36aab1/images/medium/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "medium" - }, - { - "images": [ - { - "alt": "Apple iPod Shuffle, , small", - "link": "https://example.com/dw2b078e02/images/small/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "small" - } - ], - "inventory": { - "ats": 900, - "backorderable": false, - "id": "inventory", - "orderable": true, - "preorderable": false, - "stockLevel": 900 - }, - "longDescription": "Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats", - "master": { - "masterId": "apple-ipod-shuffle", - "orderable": true, - "price": 45.99 - }, - "name": "Apple iPod Shuffle", - "options": [ - { - "description": "Product Warranty", - "id": "warranty", - "name": "Warranty", - "values": [ - { - "default": true, - "id": "o1", - "name": "Option One", - "price": 10.00 - }, - { - "default": false, - "id": "o2", - "name": "Option Two", - "price": 20.00 - }, - { - "default": false, - "id": "o3", - "name": "Option Three", - "price": 30.00 - } - ] - } - ], - "pageDescription": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go.", - "pageKeywords": "Apple, iPod, iPod Classic, MP3, Music Player", - "pageMetaTags": [ - { - "id": "description", - "value": "The updated Shuffle features the same-sized circular control pad in a more compact, clip-on case, making it perfect for on-the-go use." - }, - { - "id": "robots", - "value": "index, follow" - }, - { - "id": "title", - "value": "Buy the Apple iPod Shuffle for USD 45.99-69.00." - } - ], - "pageTitle": "Apple iPod Nano", - "price": 45.99, - "priceMax": 69.00, - "primaryCategoryId": "electronics-digital-media-players", - "shortDescription": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go.", - "type": { - "master": true - }, - "variants": [ - { - "orderable": true, - "price": 45.99, - "productId": "apple-ipod-shuffle-silver-1g", - "variationValues": { - "color": "Silver", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49.00, - "productId": "apple-ipod-shuffle-blue-1g", - "variationValues": { - "color": "Blue", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49.00, - "productId": "apple-ipod-shuffle-green-1g", - "variationValues": { - "color": "Green", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49.00, - "productId": "apple-ipod-shuffle-red-1g", - "variationValues": { - "color": "Red", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49.00, - "productId": "apple-ipod-shuffle-fuscia-1g", - "variationValues": { - "color": "Fuscia", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 60.00, - "productId": "apple-ipod-shuffle-silver-2g", - "variationValues": { - "color": "Silver", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 69.00, - "productId": "apple-ipod-shuffle-green-2g", - "variationValues": { - "color": "Green", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 60.00, - "productId": "apple-ipod-shuffle-red-2g", - "variationValues": { - "color": "Red", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 69.00, - "productId": "apple-ipod-shuffle-fuscia-2g", - "variationValues": { - "color": "Fuscia", - "memorySize": "2 GB" - } - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "Silver", - "orderable": true, - "value": "Silver" - }, - { - "name": "Blue", - "orderable": true, - "value": "Blue" - }, - { - "name": "Green", - "orderable": true, - "value": "Green" - }, - { - "name": "Red", - "orderable": true, - "value": "Red" - }, - { - "name": "Fuscia", - "orderable": true, - "value": "Fuscia" - } - ] - }, - { - "id": "memorySize", - "name": "Memory Size", - "values": [ - { - "name": "1 GB", - "orderable": true, - "value": "1 GB" - }, - { - "name": "2 GB", - "orderable": true, - "value": "2 GB" - } - ] - } - ] - }, - { - "brand": "Apple", - "currency": "USD", - "id": "apple-ipod-nano", - "imageGroups": [ - { - "images": [ - { - "alt": "Apple iPod Nano, , large", - "link": "https://example.com/dw6228cf42/images/large/ipod-nano-silver.jpg", - "title": "Apple iPod Nano, " - } - ], - "viewType": "large" - }, - { - "images": [ - { - "alt": "Apple iPod Nano, , medium", - "link": "https://example.com/dw6d95bfcf/images/medium/ipod-nano-silver.jpg", - "title": "Apple iPod Nano, " - } - ], - "viewType": "medium" - }, - { - "images": [ - { - "alt": "Apple iPod Nano, , small", - "link": "https://example.com/default/dwc0ba7002/images/small/ipod-nano-silver.jpg", - "title": "Apple iPod Nano, " - } - ], - "viewType": "small" - } - ], - "inventory": { - "ats": 1710, - "backorderable": false, - "id": "inventory", - "orderable": true, - "preorderable": false, - "stockLevel": 1700 - }, - "longDescription": "Supports MP3 (up to 320 Kbps), MP3 VBR, AAC (up to 320 Kbps), Protected AAC (iTunes Music Store), Audible (formats 2, 3, 4), AIFF, Apple Lossless and WAV audio formats, plus BMP, JPEG, GIF, TIFF, PNG and PSD (Mac only) image formats; podcasting support", - "master": { - "masterId": "apple-ipod-nano", - "orderable": true, - "price": 119.00 - }, - "minOrderQuantity": 1, - "name": "Apple iPod Nano", - "pageDescription": "The all new iPod nano has a curved aluminum and glass design and stunning new features. The Genius music feature helps you find music to fit your mood. With the built-in accelerometer, you can rotate the nano to flip through album art with Cover Flow. Plus, view photos and videos in either portrait or landscape.", - "pageKeywords": "Apple, iPod, Nano, MP3, Music Player", - "pageMetaTags": [ - { - "id": "description", - "value": "The new iPod nano features a curved aluminum and glass design along with great new features. Genius music helps you find songs that match your mood, and the built-in accelerometer lets you rotate the nano to flip through album art using Cover Flow. You can also view photos and videos in both portrait and landscape orientations." - }, - { - "id": "robots", - "value": "index, follow" - }, - { - "id": "title", - "value": "Buy the Apple iPod Nano for USD 119.00-199.00." - } - ], - "pageTitle": "Apple iPod Nano", - "price": 119.00, - "priceMax": 199.00, - "primaryCategoryId": "electronics-digital-media-players", - "shortDescription": "The all new iPod nano has a curved aluminum and glass design and stunning new features. The Genius music \r\nfeature helps you find music to fit your mood. With the built-in accelerometer, you can rotate the nano to flip through album art with \r\nCover Flow. Plus, view photos and videos in either portrait or landscape.", - "stepQuantity": 1, - "type": { - "master": true - }, - "variants": [ - { - "orderable": true, - "price": 149.00, - "productId": "apple-ipod-nano-silver-8g", - "variationValues": { - "color": "Silver", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 149.00, - "productId": "apple-ipod-nano-black-8g", - "variationValues": { - "color": "Black", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 149.00, - "productId": "apple-ipod-nano-purple-8g", - "variationValues": { - "color": "Purple", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 149.00, - "productId": "apple-ipod-nano-blue-8g", - "variationValues": { - "color": "Blue", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 149.00, - "productId": "apple-ipod-nano-green-8g", - "variationValues": { - "color": "Green", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 119.00, - "productId": "apple-ipod-nano-yellow-8g", - "variationValues": { - "color": "Yellow", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 149.00, - "productId": "apple-ipod-nano-orange-8g", - "variationValues": { - "color": "Orange", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 119.00, - "productId": "apple-ipod-nano-red-8g", - "variationValues": { - "color": "Red", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 149.00, - "productId": "apple-ipod-nano-fuscia-8g", - "variationValues": { - "color": "Fuscia", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 199.00, - "productId": "apple-ipod-nano-silver-16g", - "variationValues": { - "color": "Silver", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 199.00, - "productId": "apple-ipod-nano-black-16g", - "variationValues": { - "color": "Black", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 199.00, - "productId": "apple-ipod-nano-purple-16g", - "variationValues": { - "color": "Purple", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 159.00, - "productId": "apple-ipod-nano-blue-16g", - "variationValues": { - "color": "Blue", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 199.00, - "productId": "apple-ipod-nano-green-16g", - "variationValues": { - "color": "Green", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 199.00, - "productId": "apple-ipod-nano-yellow-16g", - "variationValues": { - "color": "Yellow", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 159.00, - "productId": "apple-ipod-nano-orange-16g", - "variationValues": { - "color": "Orange", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 199.00, - "productId": "apple-ipod-nano-red-16g", - "variationValues": { - "color": "Red", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 199.00, - "productId": "apple-ipod-nano-fuscia-16g", - "variationValues": { - "color": "Fuscia", - "memorySize": "16 GB" - } - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "Silver", - "orderable": true, - "value": "Silver" - }, - { - "name": "Black", - "orderable": true, - "value": "Black" - }, - { - "name": "Purple", - "orderable": true, - "value": "Purple" - }, - { - "name": "Blue", - "orderable": true, - "value": "Blue" - }, - { - "name": "Green", - "orderable": true, - "value": "Green" - }, - { - "name": "Yellow", - "orderable": true, - "value": "Yellow" - }, - { - "name": "Orange", - "orderable": true, - "value": "Orange" - }, - { - "name": "Red", - "orderable": true, - "value": "Red" - }, - { - "name": "Fuscia", - "orderable": true, - "value": "Fuscia" - } - ] - }, - { - "id": "memorySize", - "name": "Memory Size", - "values": [ - { - "name": "8 GB", - "orderable": true, - "value": "8 GB" - }, - { - "name": "16 GB", - "orderable": true, - "value": "16 GB" - } - ] - } - ] - } - ], - "total": 2 - } \ No newline at end of file diff --git a/apis/product/shopper-products/Traits/BadRequest.raml b/apis/product/shopper-products/Traits/BadRequest.raml deleted file mode 100644 index 3bdfe1ce..00000000 --- a/apis/product/shopper-products/Traits/BadRequest.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response. -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Bad Request", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/validation", - "detail": "Maximum number of products you can request in one call is 25." - } \ No newline at end of file diff --git a/apis/product/shopper-products/Traits/GetProductBadRequest.raml b/apis/product/shopper-products/Traits/GetProductBadRequest.raml deleted file mode 100644 index dc15930f..00000000 --- a/apis/product/shopper-products/Traits/GetProductBadRequest.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response. -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorResponse - examples: - BadRequest: | - { - "title": "Bad Request", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/validation", - "detail": "Maximum number of products you can request in one call is 25." - } - MalformedSelector: | - { - "title": "Malformed Selector", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-selector", - "detail": "The property selector '(brand,imageGroups.(**)' is malformed.", - "selector": "(brand,imageGroups.(**)" - } \ No newline at end of file diff --git a/apis/product/shopper-products/Traits/GetProductsBadRequest.raml b/apis/product/shopper-products/Traits/GetProductsBadRequest.raml deleted file mode 100644 index c9bcc1c9..00000000 --- a/apis/product/shopper-products/Traits/GetProductsBadRequest.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response. -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorResponse - examples: - MalformedSelectorGetProducts: | - { - "title": "Malformed Selector", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-selector", - "detail": "The property selector '(data.(name, imageGroups.(**))' is malformed.", - "selector": "(data.(name, imageGroups.(**))" - } - \ No newline at end of file diff --git a/apis/product/shopper-products/Traits/NotFound.raml b/apis/product/shopper-products/Traits/NotFound.raml deleted file mode 100644 index 67f0522c..00000000 --- a/apis/product/shopper-products/Traits/NotFound.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response. - -responses: - 404: - description: Not Found. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Product Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/product-not-found", - "detail": "No product with ID 'pple-ipod-shuffle' for site 'SiteGenesis' could be found.", - "productId": "pple-ipod-shuffle", - "siteId": "SiteGenesis" - } \ No newline at end of file diff --git a/apis/product/shopper-products/Traits/Unauthorized.raml b/apis/product/shopper-products/Traits/Unauthorized.raml deleted file mode 100644 index c795d6c8..00000000 --- a/apis/product/shopper-products/Traits/Unauthorized.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 401 response in case of authorization failure. - -responses: - 401: - description: Unauthorized. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "hbGciOiJIUzI1NiIsInR5cCI6Ikp" - } \ No newline at end of file diff --git a/apis/product/shopper-products/Traits/product-example.raml b/apis/product/shopper-products/Traits/product-example.raml deleted file mode 100644 index de98aa19..00000000 --- a/apis/product/shopper-products/Traits/product-example.raml +++ /dev/null @@ -1,198 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "brand": "Apple", - "currency": "USD", - "id": "apple-ipod-shuffle", - "imageGroups": [ - { - "images": [ - { - "alt": "Apple iPod Shuffle, , large", - "link": "https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dwc2cc65b0/images/large/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "large" - }, - { - "images": [ - { - "alt": "Apple iPod Shuffle, , medium", - "link": "https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dw5f36aab1/images/medium/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "medium" - }, - { - "images": [ - { - "alt": "Apple iPod Shuffle, , small", - "link": "https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dw2b078e02/images/small/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "small" - } - ], - "inventory": { - "ats": 0, - "backorderable": false, - "id": "SiteGenesisList", - "orderable": true, - "preorderable": false, - "stockLevel": 999999 - }, - "longDescription": "Supports AAC, protected AAC, MP3, MP3 VBR, Audible, WAV and AIFF for immediate playback of multiple formats.", - "master": { - "masterId": "apple-ipod-shuffle", - "orderable": false, - "price": 45.99 - }, - "minOrderQuantity": 1, - "name": "Apple iPod Shuffle", - "pageDescription": "With the same size circular control pad as the previous model on a much more compact case with a built-in clip, the updated shuffle is ready to rock and easily tags along when you're on the go.", - "pageKeywords": "Apple, iPod, Shuffle, MP3, Music Player", - "pageTitle": "Apple iPod Shuffle", - "price": 45.99, - "priceMax": 69, - "primaryCategoryId": "electronics-digital-media-players", - "shortDescription": "With the same size circular control pad as the previous model on a much more compact case with a built-in clip, the updated shuffle is ready to rock and easily tags along when you're on the go.", - "stepQuantity": 1, - "type": { - "master": true - }, - "variants": [ - { - "orderable": true, - "price": 45.99, - "productId": "apple-ipod-shuffle-silver-1g", - "variationValues": { - "color": "Silver", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-blue-1g", - "variationValues": { - "color": "Blue", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-green-1g", - "variationValues": { - "color": "Green", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-red-1g", - "variationValues": { - "color": "Red", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-fuscia-1g", - "variationValues": { - "color": "Fuscia", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 60, - "productId": "apple-ipod-shuffle-silver-2g", - "variationValues": { - "color": "Silver", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 69, - "productId": "apple-ipod-shuffle-green-2g", - "variationValues": { - "color": "Green", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 60, - "productId": "apple-ipod-shuffle-red-2g", - "variationValues": { - "color": "Red", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 69, - "productId": "apple-ipod-shuffle-fuscia-2g", - "variationValues": { - "color": "Fuscia", - "memorySize": "2 GB" - } - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "Silver", - "orderable": false, - "value": "Silver" - }, - { - "name": "Blue", - "orderable": false, - "value": "Blue" - }, - { - "name": "Green", - "orderable": false, - "value": "Green" - }, - { - "name": "Red", - "orderable": false, - "value": "Red" - }, - { - "name": "Fuscia", - "orderable": false, - "value": "Fuscia" - } - ] - }, - { - "id": "memorySize", - "name": "Memory Size", - "values": [ - { - "name": "1 GB", - "orderable": true, - "value": "1 GB" - }, - { - "name": "2 GB", - "orderable": true, - "value": "2 GB" - } - ] - } - ] - } \ No newline at end of file diff --git a/apis/product/shopper-products/exchange.json b/apis/product/shopper-products/exchange.json deleted file mode 100644 index bdcca292..00000000 --- a/apis/product/shopper-products/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "0.0.37", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-products.raml", - "backwardsCompatible": false, - "assetId": "shopper-products", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Products", - "tags": [] -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/product/shopper-products/products-traits-library.raml b/apis/product/shopper-products/products-traits-library.raml deleted file mode 100644 index a0df7045..00000000 --- a/apis/product/shopper-products/products-traits-library.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml -types: - ErrorResponse: ApiStandards.ErrorResponse - -traits: - Unauthorized: !include Traits/Unauthorized.raml - BadRequest1: !include Traits/GetProductBadRequest.raml - BadRequest2: !include Traits/GetProductsBadRequest.raml - BadRequest: !include Traits/BadRequest.raml - NotFound: !include Traits/NotFound.raml \ No newline at end of file diff --git a/apis/product/shopper-products/shopper-products-description.md b/apis/product/shopper-products/shopper-products-description.md deleted file mode 100644 index 5826f541..00000000 --- a/apis/product/shopper-products/shopper-products-description.md +++ /dev/null @@ -1,88 +0,0 @@ -# API Overview - -The Shopper Products API enables you to access product details for products that are online, merchandised to a particular site catalog, and ready to be sold. You can use these product details to merchandise the product on other ecommerce channels. To set up category navigation paths on other commerce apps or storefronts, you can use the Categories API. - -Caching is provided for the Shopper Products API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) - -## Authentication & Authorization - -The client requesting the product information must have access to the Products resource. The Shopper Products API requires a shopper access token from the Shopper Login and API Access Service (SLAS). - -For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Populate Product Listing Pages - -Use the Shopper Product API so that a customer, browsing on a commerce shopping app built using Commerce Cloud APIs, can see a list of products. For example, hydrate a list of products (max 24). The API returns product details including images, prices, promotions, and product availability. - -![b2c-commerce-shopper-products-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-products-screenshot-1.png) - -### Get Variation Product Details on an Ecommerce Channel - -Use the API so that a customer, browsing on a commerce shopping app built using Commerce Cloud APIs, can switch between different variation products. The API returns product details including images, prices, promotions, and available to sell inventory. - -![b2c-commerce-shopper-products-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-products-screenshot-2.png) - -### Retrieve Promotion Information - -Promotions provide discounts to shoppers when they meet certain purchase requirements. - -Promotion information is described in detail in [Promotion Details](https://developer.salesforce.com/docs/commerce/commerce-api/guide/promotion-details.html), but the following list provides several key points: - -- Pricing discounts for basket and shipping promotions are NEVER returned by the 'getProduct' or 'getProducts' endpoint. -- Promotional pricing is ONLY returned for products that are included with non-conditional promotions. -- Callout messages are ALWAYS returned by the 'getProduct' and 'getProducts' endpoints. - -By default, 'getProduct' and 'getProducts' return promotion information for a queried product. Promotion information includes both pricing and callout message information. However, the specific pricing and callout information that is fetched is determined by: - -- Promotion Type -- Product Type -- Product Purchase Requirements - -Some promotions can be displayed on a Product Data Page (PDP) or Product Listing page (PLP), while other promotions are displayed in the context of a basket, such as an order level promotion: "add the product to your basket to view price information". It is important to understand what is included in the response when designing a PDP or PLP on top of SCAPI to ensure your design aligns with implementable features. - -#### Shopper Personalization -The SCAPI response can be personalized using the Shopper Context API or hooks. By setting specific values in the Shopper Context API, you can modify the response of the 'getProduct' or 'getProducts' endpoint based on the shopper's context. For instance, you can offer a 5% discount or free shipping to shoppers using mobile devices. - -#### JWA Caching -The response is cached in JWA, which means promotion data contained in the response is also cached based on the TTL (Time to Live) specified in the Business Manager [Feature Switches](https://help.salesforce.com/s/articleView?id=cc.b2c_feature_switches.htm&type=5) configuration. -When the shopper context value is updated, a check is conducted to see if the updated shopper context affects the retrieval of product-promotion data. If it does, then the response is fetched from the source and cached in the JWA. - -For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) - -### Use Hooks - -For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) - -## Resources - -### Product - -A full representation of a product or service that is to merchandise. A ready to merchandise product is one that is online, categorized, and published to a channel. The information associated with a product includes, the product name, description, custom and system attributes, variations, price, availability, and images. - -### Category - -Categories and subcategories are the structure by which products are organized and grouped in a catalog and on a storefront. Categories can have relationships to other categories. Further, each category can provide context that is inherited by subcategories. For example, a category can have an assigned attribute. A product assigned to that category or any subcategory inherits the categories’s attribute value. Once the product is removed from the category, the attribute value is no longer inherited by the product. You can also use category linking for site hierarchical navigation. For example, inside the Clothing category you may have Men’s, and inside the Men’s category you may have Pants. - -Categories are not tags. - -## Endpoints - -### GET /products - -Returns product details for up to 24 products in one API request. You can use this API for use cases that require populating or hydrating multiple products at a time, such as populating the Product Listing Pages. - -The response data includes availability, promotions, images, and prices, along with the basic product information for the products requested. - -### GET /products/{id} - -Returns product details about a single product. Use this API for use cases that require populating or hydrating one product at a time, such as the Product Detail Pages. - -The response data includes availability, promotions, options, images, prices, variations, bundled_products, set_products, recommendations, and the basic product information for the product requested. - -### GET /categories - -Returns category details including the parent child relationships for one or more categories. The limit on depth for the parent-child relationship is 2. \ No newline at end of file diff --git a/apis/product/shopper-products/shopper-products.raml b/apis/product/shopper-products/shopper-products.raml deleted file mode 100644 index d9dadd36..00000000 --- a/apis/product/shopper-products/shopper-products.raml +++ /dev/null @@ -1,1068 +0,0 @@ -#%RAML 1.0 -title: Shopper Products -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/product/shopper-products/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include shopper-products-description.md - -uses: - ProdTraits: products-traits-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - BundledProduct: - description: A bundle of products that can be bought together (all or nothing). Each product in the bundle can itself be bought independently, but this is outside of the context of the bundle. A bundle is a purchasing convenience. *Product bundle has a SKU and price.* - properties: - id: - type: string - example: "823476" - product: - description: The product being bundled. - type: Product - quantity: - description: For the product being bundled, the quantity added to the bundle. - type: number - format: double - example: 5 - Image: - description: Product image - properties: - alt: - description: The localized alternative text of the image. - type: string - required: false - example: "Apple iPod Shuffle, large" - disBaseLink: - description: Base URL for the Dynamic Image Service (DIS) address. This is only shown if the image is stored on the server and DIS is enabled. - type: string - required: false - example: "https://example.com/images/large/ipod-shuffle-silver.jpg" - link: - description: The URL of the actual image. - minLength: 1 - type: string - example: "https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dwc2/images/large/ipod-shuffle.jpg" - title: - description: The localized title of the image. - type: string - required: false - example: "Apple iPod Shuffle" - ImageGroup: - description: Document representing an image group containing a list of images for a particular view type and an optional variation value. - properties: - images: - description: The images of the image group. - type: array - items: - type: Image - variationAttributes: - description: Returns a list of variation attributes applying to this image group. - type: array - items: - type: VariationAttribute - required: false - viewType: - description: The image view type. - type: string - example: "hi-res" - Inventory: - description: Document representing inventory information of the current product for a particular inventory list. - properties: - ats: - description: |- - The Available To Sell (ATS) of the product. If it is infinity, the return value is 999999. The value can be overwritten by the - OCAPI setting 'product.inventory.ats.max_threshold'. - type: number - format: double - required: false - example: 15 - backorderable: - description: A flag indicating whether the product is backorderable. - type: boolean - required: false - example: true - id: - description: The inventory ID. - type: string - example: "SiteList" - inStockDate: - description: A flag indicating the date when the product will be in stock. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - orderable: - description: A flag indicating whether at least one of the products is available to sell. - type: boolean - required: false - example: true - preorderable: - description: A flag indicating whether the product is preorderable. - type: boolean - required: false - example: false - stockLevel: - description: |- - The stock level of the product. If it is infinity, the return value is 999999. The value can be overwritten by the - OCAPI setting 'product.inventory.stock_level.max_threshold'. - type: number - format: double - required: false - example: 10 - Master: - description: The master product is a representation of a group of variant products. This is a non-buyable entity, provides inheritable attributes for its product variants, and is used for navigation. *Doesn't have a SKU.* - properties: - masterId: - description: The ID (SKU) of the master product. - maxLength: 100 - minLength: 1 - type: string - example: "82349" - orderable: - description: A flag indicating whether at least one of the variants can be ordered. - type: boolean - required: false - example: true - price: - description: The minimum sales price of the related variants. - type: number - format: double - required: false - example: 15.99 - priceMax: - description: The maximum sales price of the related variants. - type: number - format: double - required: false - example: 25.99 - prices: - description: List of sale prices. - type: object - properties: - //: - type: number - format: double - required: false - Option: - description: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can't be purchased separately. *Product Option has a SKU and a price associated with it.* - properties: - description: - description: The localized description of the option. - type: string - required: false - example: "Get this Option" - id: - description: The ID of the option. - maxLength: 100 - minLength: 1 - type: string - example: "Warranty" - image: - description: The URL to the option image. - type: string - required: false - example: "https://www.exampleimage.com/images/optionImage.jpg" - name: - description: The localized name of the option. - type: string - required: false - example: "Warranty" - values: - description: The array of option values. This array can be empty. - type: array - items: - type: OptionValue - required: false - OptionValue: - description: Document representing an option value. - properties: - default: - description: A flag indicating whether this option value is the default one. - type: boolean - required: false - example: true - id: - description: The ID of the option value. - maxLength: 100 - minLength: 1 - type: string - example: "5YR" - name: - description: The localized name of the option value. - type: string - required: false - example: "5 Year Warranty" - price: - description: The effective price of the option value. - type: number - format: double - required: false - example: 15.99 - PageMetaTag: - description: Document representing a Page Meta Tag object. - properties: - id: - description: The ID of the Page Meta Tag. - type: string - required: false - example: "title" - value: - description: Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID. - type: string - required: false - example: "Buy the Long Sleeve Covered Placket Blouse for USD 61.99." - PriceRange: - description: Document representing price ranges for a product which happens to be a master product (per Pricebook) - properties: - maxPrice: - description: Maximum price for the given pricebook (usually for a master Product would be the price for the Variant which has the highest price out of all Variants in that pricebook) - type: number - format: double - required: false - example: 10.89 - minPrice: - description: Minimum price for the given pricebook (usually for a master Product would be the price for the Variant which has the least price out of all Variants in that pricebook) - type: number - format: double - required: false - example: 10.89 - pricebook: - description: The active pricebook from which the min and the max prices are calculated. The pricebook is based on the site context of the request as defined in ECOM. - type: string - required: false - example: usd-list-pricebook - Product: - description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. A product has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. - properties: - brand: - description: The product's brand. - type: string - required: false - example: "Apple" - bundledProducts: - description: The array of all bundled products of this product. - type: array - items: - type: BundledProduct - required: false - currency: - description: The ISO 4217 mnemonic code of the currency. - type: string - required: false - example: "USD" - ean: - description: The European Article Number of the product. - type: string - required: false - example: "8essdf9w3" - fetchDate: - type: integer - format: int32 - required: false - example: 5 - id: - description: The ID (SKU) of the product. - maxLength: 24 - minLength: 1 - type: string - example: "apple-ipod-classic" - imageGroups: - description: The array of product image groups. - type: array - items: - type: ImageGroup - required: false - inventories: - description: |- - The array of product inventories explicitly requested via the 'inventory_ids' query parameter. This property - is only returned in context of the 'availability' expansion. - type: array - items: - type: Inventory - required: false - inventory: - description: |- - The site default inventory information. This property is only - returned in context of the 'availability' expansion. - type: Inventory - required: false - longDescription: - description: The localized product's long description. - type: string - required: false - example: "Awesome long description of product" - manufacturerName: - description: The product's manufacturer name. - type: string - required: false - example: "Apple" - manufacturerSku: - description: The product's manufacturer SKU. - type: string - required: false - example: "2ND8834" - master: - description: 'The master product information, only for types: master, variation group, and variant.' - type: Master - required: false - minOrderQuantity: - description: The minimum order quantity for this product. - type: number - format: double - required: false - example: 2 - name: - description: The localized product name. - type: string - required: false - example: "Apple IPod Classic" - options: - description: The array of product options, only for type option. This array can be empty. - type: array - items: - type: Option - required: false - pageDescription: - description: The localized product's page description. - type: string - required: false - example: "Really good Product" - pageKeywords: - description: The localized product's page description. - type: string - required: false - example: "Ipod, Music Player" - pageMetaTags: - description: Page Meta tags associated with the given product. - type: array - items: - PageMetaTag - required: false - pageTitle: - description: The localized product's page title. - type: string - required: false - example: "Apple IPod Classic" - price: - description: |- - The sales price of the product. In case of complex products, like master or set, this is the minimum price of - related child products. - type: number - format: double - required: false - example: 59.99 - pricePerUnit: - description: The price per unit if defined for the product - type: number - format: double - required: false - example: 19.99 - pricePerUnitMax: - description: The max price per unit typically for a master product's variant. - type: number - format: double - required: false - example: 29.99 - priceMax: - description: The maximum sales of related child products in complex products like master or set. - type: number - format: double - required: false - example: 69.99 - priceRanges: - description: Array of one or more price range objects representing one or more Pricebooks in context for the site. - type: PriceRange[] - required: false - prices: - description: The prices map with pricebook IDs and their values. - type: object - properties: - //: - type: number - format: double - required: false - primaryCategoryId: - description: The ID of the products primary category. - type: string - required: false - example: "electronics" - productLinks: - description: The array of source and target product links information. - type: array - items: - type: ProductLink - required: false - productPromotions: - description: |- - The array of active customer product promotions for this product. This array can be empty. - Coupon promotions are not returned in this array. - type: array - items: - type: ProductPromotion - required: false - recommendations: - description: Returns a list of recommendations. - type: array - items: - type: Recommendation - required: false - setProducts: - description: The array of set products of this product. - type: array - items: - type: Product - required: false - shortDescription: - description: The localized product short description. - type: string - required: false - example: "Awesome Product" - slugUrl: - description: The complete link to this product's storefront page. - type: string - required: false - example: "https://www.example.com/on/store/Sites-MySite/default/Product-Show?pid=MyProduct" - stepQuantity: - description: |- - The steps in which the order amount of the product can be - increased. - type: number - format: double - required: false - example: 2 - tieredPrices: - description: The document represents list of tiered prices if the product is a variant - type: ProductPriceTable[] - required: false - type: - description: 'The product type information. Can be one or more of the following values: item, master, variation_group, variant, bundle, and set.' - type: ProductType - required: false - unit: - description: The sales unit of the product. - type: string - required: false - example: "lbs" - upc: - description: The Universal Product Code (UPC). - type: string - required: false - example: "JSDU876" - validFrom: - description: The time a product is valid from. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - validTo: - description: The time a product is valid to. - type: datetime - required: false - example: 9999-12-31T23:59:59.0Z - variants: - description: The array of actual variants. Only for master, variation group, and variant types. This array can be empty. - type: array - items: - type: Variant - required: false - variationAttributes: - description: |- - Sorted array of variation attributes information. Only for master, - variation group, and variant types. This array can be empty. - type: array - items: - type: VariationAttribute - required: false - variationGroups: - description: The array of actual variation groups. Only for master, variation group, and variant types. This array can be empty. - type: array - items: - type: VariationGroup - required: false - variationValues: - description: |- - The actual variation attribute ID - value pairs. Only for variant and - variation group types. - type: object - properties: - //: - type: string - required: false - ProductLink: - description: |- - Document representing a link between two products. It contains the ID of the source and target products, the type of - product link, and the URLs to retrieve product data. - properties: - sourceProductId: - description: The semantic ID of the product this product link is coming from. - type: string - example: "824756924" - sourceProductLink: - description: The URL addressing the product this product link is coming from. - type: string - example: "Link" - targetProductId: - description: The semantic ID of the product this product link is pointing to. - type: string - example: "2TR93459" - targetProductLink: - description: The URL addressing the product this product link is pointing to. - type: string - example: "Link" - type: - description: The type of product link. - type: string - enum: - - cross_sell - - replacement - - up_sell - - accessory - - newer_version - - alt_orderunit - - spare_part - - other - example: up_sell - ProductPriceTable: - description: Tiered Price Level Object - properties: - price: - description: Price for the product for the specified tier for the specified pricebook - type: number - format: double - required: false - example: 12.99 - pricebook: - description: The active pricebook for which this price is defined - type: string - required: false - example: usd-list-pricebook - quantity: - description: Quantity tier for which the price is defined. - type: number - format: double - required: false - example: 1.00 - ProductPromotion: - description: Document representing a product promotion. - properties: - calloutMsg: - description: The localized call-out message of the promotion. - type: string - example: "Fantastic promotion" - promotionId: - description: The unique ID of the promotion. - type: string - example: "summerSale" - promotionalPrice: - description: The promotional price for this product. - type: number - format: double - example: 12.99 - ProductResult: - description: Result document containing an array of products. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 12 - data: - description: The array of product documents. - type: Product[] - total: - description: The total number of documents. - type: integer - format: int32 - example: 12 - ProductType: - description: Document representing a product type. - properties: - bundle: - description: A flag indicating whether the product is a bundle. - type: boolean - required: false - example: true - item: - description: A flag indicating whether the product is a standard item. - type: boolean - required: false - example: false - master: - description: A flag indicating whether the product is a master. - type: boolean - required: false - example: true - option: - description: A flag indicating whether the product is an option. - type: boolean - required: false - example: false - set: - description: A flag indicating whether the product is a set. - type: boolean - required: false - example: true - variant: - description: A flag indicating whether the product is a variant. - type: boolean - required: false - example: false - variationGroup: - description: A flag indicating whether the product is a variation group. - type: boolean - required: false - example: false - Recommendation: - description: Document representing a product recommendation. - properties: - calloutMsg: - description: The localized callout message of the recommendation. - type: string - required: false - example: "Absolutely recommended" - image: - description: The image of the recommendation. - type: Image - required: false - longDescription: - description: The localized long description of the recommendation. - type: string - required: false - example: "Really good detailed product description" - name: - description: The localized name of the recommendation. - type: string - required: false - example: "Apple Ipod Shuffle" - recommendationType: - description: The recommendation type of the recommendation. - type: RecommendationType - recommendedItemId: - description: The recommended item ID of the recommendation. - type: string - required: false - example: "apple-ipod-shuffle" - shortDescription: - description: The localized short description of the recommendation. - type: string - required: false - example: "Product description" - RecommendationType: - description: Document representing a recommendation type. - properties: - displayValue: - description: The localized display value of the recommendation type. - type: string - example: "UpSell" - value: - description: The value of the recommendation type. - type: integer - format: int32 - example: 2 - Variant: - description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU.* - properties: - orderable: - description: A flag indicating whether the variant is orderable. - type: boolean - required: false - example: true - price: - description: The sales price of the variant. - type: number - format: double - required: false - example: 25.99 - productId: - description: The ID (SKU) of the variant. - maxLength: 100 - minLength: 1 - type: string - example: "8W4756834" - tieredPrices: - description: List of tiered prices if the product is a variant - type: ProductPriceTable[] - required: false - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - required: false - VariationAttribute: - description: Document representing a variation attribute. - properties: - id: - description: The ID of the variation attribute. - minLength: 1 - type: string - example: "color" - name: - description: The localized display name of the variation attribute. - type: string - required: false - example: "Color" - values: - description: The sorted array of variation values. This array can be empty. - type: array - items: - type: VariationAttributeValue - required: false - VariationAttributeValue: - description: Document representing a variation attribute value. - properties: - description: - description: The localized description of the variation value. - type: string - required: false - example: "Color of the product" - image: - description: The first product image for the configured viewtype and this variation value. - type: Image - required: false - imageSwatch: - description: The first product image for the configured viewtype and this variation value (typically the swatch image). - type: Image - required: false - name: - description: The localized display name of the variation value. - type: string - required: false - example: "Red" - orderable: - description: A flag indicating whether at least one variant with this variation attribute value is available to sell. - type: boolean - required: false - example: true - value: - description: The actual variation value. - minLength: 1 - type: string - example: "red" - VariationGroup: - description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for its product variants, and is used for navigation. *Doesn't have a SKU.* - properties: - orderable: - description: A flag indicating whether the variation group is orderable. - type: boolean - example: false - price: - description: The sales price of the variation group. - type: number - format: double - example: 24.99 - productId: - description: The ID (SKU) of the variation group. - maxLength: 100 - minLength: 1 - type: string - example: "49345VG" - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - Category: - description: Categories allow products to be organized into hierarchical structures. Categories can have relationships to other parent categories. Each category can also provide a context inherited by subcategories. For example, a category may have an attribute value assigned to it, and any product assigned to the category or a subcategory would inherit the attribute value as long as the product is assigned. Once the product is removed from the category those attribute values would no longer be in the context of the product. Linking of categories is also used for Site hierarchical navigation. For example, inside 'Clothing' you may have 'Mens', and inside 'Mens' you may have 'Pants'. Categories are not *Tags.* - properties: - categories: - description: Array of subcategories. Can be empty. - type: array - items: - type: Category - required: false - description: - description: The localized description of the category. - type: string - required: false - example: "Category description for Men's Category" - id: - description: The ID of the category. - type: string - example: "mens" - image: - description: The URL of the category image. - type: string - required: false - name: - description: The localized name of the category. - type: string - required: false - example: "Men's Category" - onlineSubCategoriesCount: - description: The total number of online sub-categories. This information will be available from B2C Commerce version 24.5. - type: integer - format: int64 - required: false - pageDescription: - description: The localized page description of the category. - type: string - required: false - example: "This category ahs all men's clothing" - pageKeywords: - description: The localized page keywords of the category. - type: string - required: false - example: "Mens, shirts" - pageTitle: - description: The localized page title of the category. - type: string - required: false - example: "Men's Category" - parentCategoryId: - description: The ID of the parent category. - type: string - required: false - example: "apparel" - parentCategoryTree: - description: The List of the parent categories. - type: array - items: - type: PathRecord - required: false - thumbnail: - description: The URL of the category thumbnail. - type: string - required: false - example: "https://www.exampleimage.com/images/categoryImage.jpg" - PathRecord: - description: Document representing most basic info (id and name) of a category or catalog. - properties: - id: - description: The id of the category path. - type: string - example: "mens" - required: false - name: - description: The name of the category path. - type: string - example: "mens" - required: false - CategoryResult: - description: Result document containing an array of categories. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: The array of category documents. - type: array - items: - type: Category - total: - description: The total number of documents. - type: integer - format: int32 - example: 5 - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /products: - get: - description: 'Allows access to multiple products by a single request. Only products that are online and assigned to a site catalog are returned. The maximum number of productIDs that can be requested are 24. Along with product details, the availability, product options, images, price, promotions, and variations for the valid products will be included, as appropriate.' - displayName: getProducts - is: - - CommerceCloudStandards.SiteSpecific: - - ProdTraits.Unauthorized - - ProdTraits.BadRequest2 - queryParameters: - select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names, or work with wildcards.You can also sepcify Array Operations and filter expressions.The actual selector value must be enclosed within parentheses. - type: CommerceCloudStandards.Select - required: false - example: (data.(name,id,variationAttributes.(**))) - ids: - description: The IDs of the requested products (comma-separated, max 24 IDs). - type: string - required: true - example: "apple-ipod-shuffle,apple-ipod-nano" - inventoryIds: - description: The optional inventory list IDs, for which the availability should be shown (comma-separated, max 5 inventoryListIDs). - type: string - required: false - example: "Site1InventoryList,Site2InventoryList" - currency: - description: The currency mnemonic specified for price. - type: string - required: false - example: USD - expand: - description: The expand parameter. A comma separated list with the allowed values (availability, links, promotions, options, images, prices, variations, recommendations, page_meta_tags). All expand parameters except page_meta_tags are used for the request when no expand parameter is provided. The value "none" may be used to turn off all expand options. **The `page_meta_tags` expand value is optional and available starting from B2C Commerce version 25.2.** - type: array - items: - enum: [none,availability,links,promotions,options,images,prices,variations,recommendations,page_meta_tags] - required: false - example: [prices,promotions] - locale: - description: The locale context. - type: string - required: false - example: default - allImages: - description: The flag that indicates whether to retrieve the whole image model for the requested product. - type: boolean - required: false - example: false - perPricebook: - description: The flag that indicates whether to retrieve the per PriceBook prices and tiered prices (if available) for requested Products. Available end of June, 2021. - type: boolean - required: false - example: false - responses: - '200': - description: Success. - body: - application/json: - type: ProductResult - examples: - product_result: !include Examples/product-result-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-products] } - /{id}: - get: - description: 'Allows access to product details for a single product ID. Only products that are online and assigned to a site catalog are returned. Along with product details, the availability, images, price, bundled_products, set_products, recommedations, product options, variations, and promotions for the products will be included, as appropriate.' - displayName: getProduct - is: - - CommerceCloudStandards.SiteSpecific: - - ProdTraits.Unauthorized - - ProdTraits.BadRequest1 - - ProdTraits.NotFound - responses: - '200': - description: Success. - body: - application/json: - type: Product - examples: - product: !include Examples/product-example.raml - queryParameters: - select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names, or work with wildcards.You can also sepcify Array Operations and filter expressions.The actual selector value must be enclosed within parentheses. - type: CommerceCloudStandards.Select - required: false - example: (name,id,variationAttributes.(**)) - inventoryIds: - description: The optional inventory list IDs, for which the availability should be shown (comma-separated, max 5 inventoryListIDs). - type: string - required: false - example: "Site1InventoryList,Site2InventoryList" - currency: - description: The currency mnemonic specified for price. - type: string - required: false - example: USD - expand: - description: The expand parameter. A comma separated list with the allowed values (availability, bundled_products, links, promotions, options, images, prices, variations, set_products, recommendations, page_meta_tags). All expand parameters except page_meta_tags are used for the request when no expand parameter is provided. The value "none" may be used to turn off all expand options. **The `page_meta_tags` expand value is optional and available starting from B2C Commerce version 25.2.** - type: array - items: - enum: [none,availability,bundled_products,links,promotions,options,images,prices,variations,set_products,recommendations,page_meta_tags] - required: false - example: [prices,promotions] - locale: - description: The locale context. - type: string - required: false - example: default - allImages: - description: The flag that indicates whether to retrieve the whole image model for the requested product. - type: boolean - required: false - example: false - perPricebook: - description: The flag that indicates whether to retrieve the per PriceBook prices and tiered prices (if available) for requested Products. Available end of June, 2021. - type: boolean - required: false - example: false - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-products] } - uriParameters: - id: - description: The ID of the requested product. - maxLength: 100 - type: string - example: apple-ipod-shuffle - - /categories: - get: - description: When you use the URL template, the server returns multiple categories (a result object of category documents). You can use this template as a convenient way of obtaining multiple categories in a single request, instead of issuing separate requests for each category. You can specify up to 50 multiple IDs. You must enclose the list of IDs in parentheses. If a category identifier contains parenthesis or the separator sign, you must URL encode the character. - displayName: getCategories - is: - - CommerceCloudStandards.SiteSpecific: - - ProdTraits.BadRequest - - ProdTraits.Unauthorized - queryParameters: - ids: - description: The comma separated list of category IDs (max 50). - type: string - required: true - example: "electronics-digital-cameras,electronics-televisions" - levels: - minimum: 0 - description: Specifies how many levels of nested subcategories you want the server to return. The default value is 1. Valid values are 0, 1, or 2. Only online subcategories are returned. - type: integer - required: false - format: int32 - enum: [0,1,2] - example: 0 - locale: - description: The locale context. - example: default - type: string - required: false - responses: - '200': - description: Success. - body: - application/json: - type: CategoryResult - examples: - category: !include Examples/category-result-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-categories] } - /{id}: - get: - description: |- - When you use the URL template below, the server returns a category identified by its ID; by default, the server - also returns the first level of subcategories, but you can specify another level by setting the levels - parameter. - displayName: getCategory - is: - - CommerceCloudStandards.SiteSpecific: - - ProdTraits.Unauthorized - - ProdTraits.BadRequest - - ProdTraits.NotFound - responses: - '200': - description: Success. - body: - application/json: - type: Category - examples: - category: !include Examples/category-example.raml - queryParameters: - levels: - minimum: 0 - type: integer - required: false - format: int32 - locale: - type: string - required: false - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-categories] } - uriParameters: - id: - description: The ID of the requested category. - maxLength: 256 - type: string - example: electronics \ No newline at end of file diff --git a/apis/products-oas/products-oas-1.0.39/.metadata.json b/apis/products-oas/products-oas-1.0.39/.metadata.json new file mode 100644 index 00000000..b6d0b534 --- /dev/null +++ b/apis/products-oas/products-oas-1.0.39/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/products-oas/1.0.39", + "name": "Products OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "products-oas", + "version": "1.0.39", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/products-oas/products-oas-1.0.39/exchange.json b/apis/products-oas/products-oas-1.0.39/exchange.json new file mode 100644 index 00000000..71f64cc3 --- /dev/null +++ b/apis/products-oas/products-oas-1.0.39/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "products-oas-v1-public.yaml", + "name": "Products OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "products-oas", + "version": "1.0.39", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/products-oas/products-oas-1.0.39/products-oas-v1-internal.yaml b/apis/products-oas/products-oas-1.0.39/products-oas-v1-internal.yaml new file mode 100644 index 00000000..638f683a --- /dev/null +++ b/apis/products-oas/products-oas-1.0.39/products-oas-v1-internal.yaml @@ -0,0 +1,4573 @@ +openapi: 3.0.3 +info: + title: Products + version: v1 + description: |- + # API Overview + + The Products API enables you to build merchandising apps that merchandisers use to add products to catalogs, configure products for your storefront, and manage products in their ecommerce channels. + + For more information, see [Products](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_products.html) in the Salesforce B2C Commerce Infocenter. + + ## Authentication & Authorization + + The client managing product information must have access to the Products resource. This API requires a bearer token in the header of the request. The client accessing the API must first authenticate against Account Manager to get the bearer token. + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + ### Add Products + + Use the Products API to add new products to a catalog. You can add or update product details like attributes, variations, variation attributes, and images. You can also use the API to change a product’s catalog assignment. + + If you are adding products from an external product information management (PIM) system, use the Mulesoft Accelerator component created for Commerce Cloud. + + For more detail, see [Variation Groups](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_variation_groups.html) in the Salesforce B2C Commerce Infocenter. + + ![b2c-commerce-products-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-1.png) + + ### Create & Validate Variation Groups + + Use the API to enable a shopper to switch between different variants on a product page. You can group variation products into variation groups or group master products by one or more attributes. The variants within a variation group are linked. Linked variants allow a shopper to switch between different variants. + + For more detail, see [Variation Groups](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_variation_groups.html) in the Salesforce B2C Commerce Infocenter. + + ![b2c-commerce-products-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-2.png) + + ### Search for Variants + + Use the Product API to enable merchants to use a set of filtering and sorting criteria to search for variants assigned to a master product, or variation group. + + For more detail, see [Product Variations](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_product_variations.html) in the Salesforce B2C Commerce Infocenter. + + ![b2c-commerce-products-screenshot-3.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-3.png) + + ### Manage Product Options + + Use the API to view and manage product options for a given product so that optional accessories, upgrades, or services can be sold with the product. For example, a product warranty or monogramming. + + For more detail, see [Product Options](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_product_options.html) in the Salesforce B2C Commerce Infocenter. + + ![b2c-commerce-products-screenshot-4.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-4.png) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/product/products/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/products/{productId}: + get: + summary: Get product information. + description: Retrieve detailed information about a specific product. + operationId: getProduct + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Retrieved product information successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Product' + examples: + DataProductExpand: + $ref: '#/components/examples/DataProductExpandResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + put: + summary: Create or overwrite a product with provided data. + description: Create a product using the information provided. If a product with the same unique identifier exists, it is overwritten. + operationId: createProduct + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Product' + examples: + DataProductExpand: + $ref: '#/components/examples/DataProductExpandRequestBody' + required: true + responses: + '200': + description: Product was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Product' + examples: + DataProductExpand: + $ref: '#/components/examples/DataProductExpandResult' + '201': + description: Product was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Product' + examples: + DataProductExpand: + $ref: '#/components/examples/DataProductExpandResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + delete: + summary: Deletes the product by ID. + description: Permanently remove a product by ID. + operationId: deleteProduct + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted the product successfully. + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + patch: + summary: Partially update fields of an existing product. + description: |- + Update a product using the information provided. + Fields that can be updated: + name, pageDescription, longDescription, pageTitle, + pageKeywords, brand, ean, upc, manufactureSku, + manufactureName, searchable, unit, searchable, + onlineFlag, defaultVariantId. + Custom attributes are used to extend a standard Product system object. This endpoint can be used to update custom attribute values for a particular product SKU. If you try to update a non-existent custom attribute, the request won't fail, but no changes are made and the attribute is not created. + operationId: updateProduct + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Product' + examples: + DataProductExpand: + $ref: '#/components/examples/DataProductExpandRequestBody' + required: true + responses: + '200': + description: Updated the product successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Product' + examples: + DataProductExpand: + $ref: '#/components/examples/DataProductExpandResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + /organizations/{organizationId}/products/{productId}/variant-search: + post: + summary: Search product variations using complex queries and filters. + description: "Search product variations for master product or variation group product. The query attribute specifies a complex query that can be used to narrow down the search.\n\nThis is the list of searchable attributes:\n\n | Attribute | Type |\n |-----------|--------|\n | id | String |\n | productId | String |\n | name | String |\n | online | SiteSpecific Boolean |\n | inStock | Boolean |\n | searchable | SiteSpecific Boolean |\n | ats - Available quantity to sell | Double |\n | variationAttribute.ATTRIBUTE_ID (Ex:variation_attribute.color) | String |\n\nSortable Fields:\n\n | Attribute | Type |\n |-----------|--------|\n | id | String |\n | productId | String |\n | name | String |\n | online | SiteSpecific Boolean |\n | inStock | Boolean |\n | searchable | SiteSpecific Boolean |\n | ats - Available quantity to sell | Double |\n\n Note: The calculated value of \\\"online\\\" and \\\"searchable\\\" is used in the search/sort. A search/sort by the site-specific attributes require the Site ID query parameter to be set. They are \\\"online\\\", \\\"inStock\\\", \\\"searchable\\\" and \\\"ats\\\". We assume that every field that starts with variationAttribute. is searchable and dot is followed by \\\"ATTRIBUTE_ID\\\".\n\n The list of expansions to retrieve product information. The expand values available are:\n\n - _base - Basic product information is retrieved. This expand is included by default.\n\n - all - All product information, including the following properties are retrieved:\n - image\n - price - siteId must be provided to see this property\n - priceCurrency - siteId must be provided to see this property\n\n - availability - Information related to the availability of the product variation. This expand is not included by default.\n - ats - siteId must be provided to see this property\n - inStock - siteId must be provided to see this property\n - online - siteId must be provided to see this property \n - searchable \n\n - variations - Information related to product variations is retrieved. This expand is included by default.\n\n - attributes - Information related to product variation attributes is retrieved. This expand is not included by default." + operationId: searchProductVariations + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VariantSearchRequest' + examples: + VariantSearchRequestBody: + $ref: '#/components/examples/VariantSearchRequestBody' + required: true + responses: + '200': + description: Search results returned. + content: + application/json: + schema: + $ref: '#/components/schemas/VariantSearchResult' + examples: + VariantSearchResult: + $ref: '#/components/examples/VariantSearchResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + /organizations/{organizationId}/products/{masterProductId}/variation-groups: + get: + summary: List all variation groups of a product. + description: List all variation groups of a product. + operationId: getVariationGroupsForMasterProduct + parameters: + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Get VariationGroups for a product was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationGroups' + examples: + VariationGroupsResult: + $ref: '#/components/examples/VariationGroupsResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + /organizations/{organizationId}/products/{masterProductId}/variation-groups/{id}: + get: + summary: Get a specific variation group. + description: Read a variation group for a product. + operationId: getVariationGroupForMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Get VariationGroup by Id for a product was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationGroup' + examples: + VariationGroupsIdResult: + $ref: '#/components/examples/VariationGroupsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + put: + summary: Assign or create a variation group for a product. + description: |- + Assign a variation group for a product. If the variation group product does not initially exist, + one is created using the body passed in. + operationId: assignVariationGroupToMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VariationGroup' + examples: + VariationGroupsIdRequestBody: + $ref: '#/components/examples/VariationGroupsIdRequestBody' + required: true + responses: + '200': + description: Successfully assigned a variation group for given product. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationGroup' + examples: + VariationGroupsIdResult: + $ref: '#/components/examples/VariationGroupsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + delete: + summary: Unassign a variation group (product not deleted). + description: |- + Unassign a variation group product from a product. The variation group product is not + deleted: it remains as a typical product after unassign. + operationId: unassignVariationGroupFromMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted the variation group successfully. + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + patch: + summary: Update an existing variation group. + description: Update a variation group for a product master. + operationId: updateVariationGroupForMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VariationGroup' + examples: + VariationGroupsIdRequestBody: + $ref: '#/components/examples/VariationGroupsIdRequestBody' + required: true + responses: + '200': + description: Update was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationGroup' + examples: + VariationGroupsIdResult: + $ref: '#/components/examples/VariationGroupsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + /organizations/{organizationId}/products/{masterProductId}/variations: + get: + summary: List all variations of a master product. + description: List all variations of a master product. + operationId: getVariationsForMasterProduct + parameters: + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Get variation by ID successful. + content: + application/json: + schema: + $ref: '#/components/schemas/Variants' + examples: + getProduct400: + $ref: '#/components/examples/VariantsResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + /organizations/{organizationId}/products/{masterProductId}/variations/{id}: + get: + summary: Get details of a specific variation. + description: Get details of a specific variation. + operationId: getVariationForMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Get variation by ID successful. + content: + application/json: + schema: + $ref: '#/components/schemas/Variant' + examples: + VariationsIdResult: + $ref: '#/components/examples/VariationsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + put: + summary: Assign a variation to a master product (creates if not exists). + description: |- + Assign a variation for a product master. If the variation product does not initially exist, + one is created using the body that is passed. + operationId: assignVariationForMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Variant' + examples: + VariationsIdRequestBody: + $ref: '#/components/examples/VariationsIdRequestBody' + required: true + responses: + '200': + description: Updated the variation product successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Variant' + examples: + VariationsIdResult: + $ref: '#/components/examples/VariationsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + delete: + summary: Unassign a variation from a product (does not delete it). + description: |- + Unassign a variation product from a product. The variation product is not deleted: it remains as a + typical product after unassign. + operationId: unassignVariationFromMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted the variation group successfully. + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + patch: + summary: Update a specific product variation. + description: Update a variation for a product. + operationId: updateVariationForMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Variant' + examples: + VariationsIdRequestBody: + $ref: '#/components/examples/VariationsIdRequestBody' + required: true + responses: + '200': + description: Variation updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Variant' + examples: + VariationsIdResult: + $ref: '#/components/examples/VariationsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + /organizations/{organizationId}/products/{productId}/product-options: + get: + summary: Retrieve product options for a product. + description: Read local and shared product options for a specified product. + operationId: getProductOptions + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/currency' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Retrieved product options successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOptions' + examples: + ProductOptionsResult: + $ref: '#/components/examples/ProductOptionsResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + /organizations/{organizationId}/products/{productId}/product-options/{id}: + get: + summary: Retrieve a specific product option. + description: Read a local or shared product option for a specified product. + operationId: getProductOption + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/currency' + responses: + '200': + description: Retrieved product options successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOption' + examples: + ProductOptionsIdResult: + $ref: '#/components/examples/ProductOptionsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + put: + summary: Create or bind a product option. + description: Creates a local product option using the information provided or binds a shared product option to the product. + operationId: createProductOption + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOption' + examples: + ProductOptionsIdRequestBody: + $ref: '#/components/examples/ProductOptionsIdRequestBody' + required: true + responses: + '200': + description: Updated product option successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOption' + examples: + ProductOptionsIdResult: + $ref: '#/components/examples/ProductOptionsIdResult' + '201': + description: Created or binded product option successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOption' + examples: + ProductOptionsIdResult: + $ref: '#/components/examples/ProductOptionsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + delete: + summary: Delete or unbind a product option. + description: Delete a local product option or unbind a shared product option from the product. + operationId: deleteProductOption + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted product option successfully. + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + patch: + summary: Update a product option. + description: Update a local product option with the information provided. + operationId: updateProductOption + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOption' + examples: + ProductOptionsIdRequestBody: + $ref: '#/components/examples/ProductOptionsIdRequestBody' + required: true + responses: + '200': + description: Updated product option successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOption' + examples: + ProductOptionsIdResult: + $ref: '#/components/examples/ProductOptionsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + /organizations/{organizationId}/products/{productId}/product-options/{optionId}/values/{id}: + get: + summary: Retrieve a product option value. + description: Read a local product option value for a specified product. + operationId: getProductOptionValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/optionId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved product option value. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOptionValue' + examples: + ProductOptionsValuesResult: + $ref: '#/components/examples/ProductOptionsValuesResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + put: + summary: Create a product option value. + description: Create a local product option value using the information provided. + operationId: createProductOptionValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/optionId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOptionValue' + examples: + ProductOptionsValuesRequestBody: + $ref: '#/components/examples/ProductOptionsValuesRequestBody' + required: true + responses: + '200': + description: Updated product option value successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOptionValue' + examples: + ProductOptionsValuesResult: + $ref: '#/components/examples/ProductOptionsValuesResult' + '201': + description: Created product option value successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOptionValue' + examples: + ProductOptionsValuesResult: + $ref: '#/components/examples/ProductOptionsValuesResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + delete: + summary: Delete a product option value. + description: Delete a local product option value by ID. + operationId: deleteProductOptionValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/optionId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted product option value successfully. + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + patch: + summary: Update a product option value. + description: Update a local product option value using the information provided. + operationId: updateProductOptionValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/optionId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOptionValue' + examples: + ProductOptionsValuesRequestBody: + $ref: '#/components/examples/ProductOptionsValuesRequestBody' + required: true + responses: + '200': + description: Product option value updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOptionValue' + examples: + ProductOptionsValuesResult: + $ref: '#/components/examples/ProductOptionsValuesResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + /organizations/{organizationId}/products/{productId}/variation-attributes/{attributeId}/values/{id}: + get: + summary: Retrieve a variation attribute value. + description: Get product variation attribute information. + operationId: getVariationAttributeValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/attributeId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Retrieved variation attribute value successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttributeValue' + examples: + VariationAttributeValuesIdResult: + $ref: '#/components/examples/VariationAttributeValuesIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + put: + summary: Create a variation attribute value. + description: Create a product variation attribute value. + operationId: createVariationAttributeValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/attributeId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttributeValue' + examples: + VariationAttributeValuesIdRequestBody: + $ref: '#/components/examples/VariationAttributeValuesIdRequestBody' + required: true + responses: + '200': + description: Created product variation attribute value successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttributeValue' + examples: + VariationAttributeValuesIdResult: + $ref: '#/components/examples/VariationAttributeValuesIdResult' + '201': + description: Created product variation attribute value successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttributeValue' + examples: + VariationAttributeValuesIdResult: + $ref: '#/components/examples/VariationAttributeValuesIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + delete: + summary: Delete a variation attribute value. + description: Delete the variation attribute value of a variation attribute bound to a product. + operationId: deleteVariationAttributeValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/attributeId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted variation attribute value successfully. + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + patch: + summary: Update a variation attribute value. + description: Update the variation attribute value of a variation attribute of a product. + operationId: updateVariationAttributeValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/attributeId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttributeValue' + examples: + VariationAttributeValuesIdRequestBody: + $ref: '#/components/examples/VariationAttributeValuesIdRequestBody' + required: true + responses: + '200': + description: Updated variation attribute value successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttributeValue' + examples: + VariationAttributeValuesIdResult: + $ref: '#/components/examples/VariationAttributeValuesIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + /organizations/{organizationId}/products/{productId}/variation-attributes: + get: + summary: Retrieve variation attributes of a product. + description: Read variation attributes of a product of type variant, variation master, or variation group. + operationId: getVariationAttributes + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Retrieved the list of VariationAttributes for the product ID successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttributes' + examples: + VariationAttributesResult: + $ref: '#/components/examples/VariationAttributesResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + /organizations/{organizationId}/products/{productId}/variation-attributes/{id}: + get: + summary: Retrieve a specific variation attribute. + description: Get variation attribute information only for master product. + operationId: getVariationAttribute + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Retrieved the VariationAttribute for the product ID successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttribute' + examples: + VariationAttributeResult: + $ref: '#/components/examples/VariationAttributeResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + put: + summary: Create a variation attribute. + description: Create a variation attribute using the information provided. + operationId: createVariationAttribute + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttribute' + examples: + VariationAttributeRequestBody: + $ref: '#/components/examples/VariationAttributeRequestBody' + required: true + responses: + '200': + description: Created variation attribute successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttribute' + examples: + VariationAttributeResult: + $ref: '#/components/examples/VariationAttributeResult' + '201': + description: Created variation attribute successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttribute' + examples: + VariationAttributeResult: + $ref: '#/components/examples/VariationAttributeResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + delete: + summary: Remove a variation attribute. + description: Delete the variation attribute by ID. + operationId: deleteVariationAttribute + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted variation attribute successfully. + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + patch: + summary: Update a variation attribute. + description: |- + Update the variation attribute with the specified information. + name + slicing + operationId: updateVariationAttribute + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttribute' + examples: + VariationAttributeRequestBody: + $ref: '#/components/examples/VariationAttributeRequestBody' + required: true + responses: + '200': + description: Updated variation attribute successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttribute' + examples: + VariationAttributeResult: + $ref: '#/components/examples/VariationAttributeResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + /organizations/{organizationId}/categorization-attribute-definitions: + get: + summary: Get allowed attributes, values, and operators for creating rule-based categorization conditions. + description: | + Get the list of allowed attributes, values, and operators for creating rule-based categorization conditions. + operationId: getCategorizationAttributeDefinitions + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Categorization attribute definitions retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategorizationAttributeDefinitionsResult' + examples: + CategorizationAttributeDefinitionResult: + $ref: '#/components/examples/CategorizationAttributeDefinitionResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + /organizations/{organizationId}/product-search: + post: + summary: Search products. + description: "Search for products. The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped into different buckets.\n\nThe following is a list of searchable attributes with their corresponding buckets:\n\nMain: \n\n | Attribute | Type |\n |-----------|--------|\n | id | String |\n | name | String |\n | online | SiteSpecific Boolean |\n | searchable | SiteSpecific Boolean |\n | validFrom | SiteSpecfic DateTime |\n | validTo | SiteSpecfic DateTime |\n | type | ProductType |\n | creationDate | DateTime |\n | lastModified | DateTime |\n\nCatalog:\n\n | Attribute | Type |\n |-----------|--------|\n | catalogId | String |\n\n Category:\n\n | Attribute | Type |\n |-----------|--------|\n | categoryId | String |\n\n Special:\n\n type - {\\\"item\\\", \\\"set, \\\"bundle\\\", \\\"master\\\", \\\"partOfProductSet\\\", \\\"bundled\\\", \\\"variant\\\", \\\"variationGroup\\\", \\\"option\\\", \\\"retailSet\\\", \\\"partOfRetailSet\\\"}\n\n The sortable properties are:\n\n | Attribute | Type |\n |-----------|--------|\n | id | String |\n | name | String |\n | creationDate | DateTime |\n\nNote that catalogId is the ID of the catalog to which products are assigned \n\nOnly attributes in the same bucket can be joined using a disjunction (OR). For instance, when joining id and catalogId, only a conjunction is allowed (AND), whereas id and searchable can be joined using a disjunction because they are in the same bucket. If an attribute is used in a disjunction (OR) that violates this rule, an exception is thrown. The product search retrieves additional properties of the product when expansions are used.\n\nThe available expand attribute values are:\n\n- ‘all' retrieves all product properties. This is the default when no expand value is included in the request.\n\n- 'none' retrieves no expansion properties.\n\n- ‘availability' retrieves the following properties:\n - ats\n - inStock\n - online\n\n- ‘categories' retrieves the assignedCategories property. \n\n- ‘images' retrieves the image property. \n\n- ‘allImages' when used with images retrieves the following properties:\n - image\n - imageGroups\n\n- 'prices' retrieves the following properties:\n - price\n - priceCurrency\n\n- ‘sets' retrieves the following properties:\n - setProducts\n - productSets\n\n- ‘bundles' retrieves the following properties:\n - productBundles\n - bundledProduct" + operationId: searchProducts + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProductSearchRequest' + examples: + ProductSearchRequestBody: + $ref: '#/components/examples/ProductSearchRequestBody' + required: true + responses: + '200': + description: Product search completed successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductSearchResult' + examples: + ProductSearchResult: + $ref: '#/components/examples/ProductSearchResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.products: Product scope READONLY + sfcc.products.rw: Product scope + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.products: Product scope READONLY + sfcc.products.rw: Product scope + schemas: + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + CatalogId: + maxLength: 256 + minLength: 1 + type: string + description: The ID of the catalog. + example: apparel-catalog + CategoryId: + maxLength: 256 + minLength: 1 + type: string + description: The ID of the category. + example: mens + CatalogCategoryId: + required: + - catalogId + - categoryId + type: object + properties: + catalogId: + $ref: '#/components/schemas/CatalogId' + categoryId: + $ref: '#/components/schemas/CategoryId' + description: Document representing a catalog category ID. + Product: + required: + - id + type: object + properties: + assignedCategories: + items: + $ref: '#/components/schemas/CatalogCategoryId' + type: array + description: The catalog categories that the product is assigned to. It is read only. + ats: + type: number + description: The Available To Sell (ATS) inventory value of the product. This is a calculated value. + format: double + example: 15 + brand: + type: string + description: The brand of the product. + example: Apple + bundledProducts: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of bundled products which the product includes. It is read only. + classificationCategory: + $ref: '#/components/schemas/CatalogCategoryId' + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. It is read only. + format: date-time + example: 253402214400 + defaultVariantId: + type: string + description: The ID of the product's default variant. It is read only. + example: apple-ipod-classic-8gb-black + ean: + type: string + description: The European Article Number of the product. + example: ksdf69w4 + id: + $ref: '#/components/schemas/ProductId' + image: + $ref: '#/components/schemas/MediaFile' + imageGroups: + items: + $ref: '#/components/schemas/ImageGroup' + type: array + description: The array of product image groups. It is read only. + inStock: + type: boolean + description: The flag that indicates if the product is in stock, or not. This is a calculated value. + example: true + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. It is read only. + format: date-time + example: 253402214400 + localizedTaxClassId: + type: object + additionalProperties: false + description: The localized tax class identifier of the product. + example: + en_US: exempt + longDescription: + type: object + additionalProperties: + $ref: '#/components/schemas/MarkupText' + description: The localized long description of the product. + manufacturerName: + type: string + description: The name of the product's manufacturer. + example: Apple + manufacturerSku: + type: string + description: The SKU of the product's manufacturer. + example: HSD68J + master: + $ref: '#/components/schemas/Master' + name: + type: object + additionalProperties: false + description: The localized name of the product. + example: + en_US: Apple Ipod Classic + online: + type: boolean + description: The flag that indicates if the product is online, or not. This is a calculated value. + example: true + onlineFlag: + type: object + additionalProperties: false + description: The site-specific online status of the product. + example: + Site1: true + owningCatalogId: + type: string + description: The ID of the catalog that owns the product. + example: apple-master-catalog + owningCatalogName: + type: object + additionalProperties: false + description: The localized name of the catalog that owns the product. It is read only. + example: + en_US: Apple Master Catalog + pageDescription: + type: object + additionalProperties: false + description: The localized page description of the product. + example: + en_US: Page Description + pageKeywords: + type: object + additionalProperties: false + description: The localized page keywords of the product. + example: + en_US: Keywords + pageTitle: + type: object + additionalProperties: false + description: The localized page title of the product. + example: + en_US: Page Title + price: + type: number + description: The price of the product. + format: double + example: 219.99 + priceCurrency: + type: string + description: The currency code for a product's price. + example: USD + pricePerUnit: + type: number + description: The price per unit of the product. This is a read only field. + format: double + example: 1 + primaryCategories: + items: + $ref: '#/components/schemas/CatalogCategoryId' + type: array + description: The primary catalog categories that the product is assigned to. It is read only. + primaryCategoryId: + type: string + description: The ID of the products primary category. This is a read only field. It is read only. + example: electronics-media-players + productBundles: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of product bundles which the product belongs to. It is read only. + productOptions: + items: + $ref: '#/components/schemas/ProductOption' + type: array + description: The array of product options. This is applicable for products of type "option". It is read only. + productSets: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of product sets which the product belongs to. It is read only. + searchable: + type: object + additionalProperties: false + description: The site-specific searchable status of the product. + example: + Site1: true + setProducts: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of set products which the product includes. It is read only. + shortDescription: + type: object + additionalProperties: + $ref: '#/components/schemas/MarkupText' + description: The localized short description of the product. + taxClassId: + type: string + description: The tax class identifier of the product. + example: standard + type: + $ref: '#/components/schemas/ProductType' + unit: + type: string + description: The sales unit of the product. + example: single + unitMeasure: + type: string + description: The unitMeasure of the product. + example: each + unitQuantity: + type: number + description: The unitQuantity of the product. + format: double + example: 15 + upc: + type: string + description: The Universal Product Code (UPC) of the product. + example: 66JSD88JASD + validFrom: + type: object + additionalProperties: false + description: The valid/online from date of the product. + example: + default@SiteGenesis: '2000-05-11T00:00:00.000Z' + validTo: + type: object + additionalProperties: false + description: The valid/online to date of the product. + example: + default@SiteGenesis: '2050-05-11T00:00:00.000Z' + variants: + items: + $ref: '#/components/schemas/Variant' + type: array + description: The array of variants of the product. This is applicable for product types "master" and "variationGroup" only. It is read only. + variationAttributes: + items: + $ref: '#/components/schemas/VariationAttribute' + type: array + description: |- + The sorted array of variation attributes assigned to the product. This is applicable for product types "master", + "variationGroup" and "variant" only. It is read only. + variationGroups: + items: + $ref: '#/components/schemas/VariationGroup' + type: array + description: The array of variation groups in the product. This is applicable for product type "master" only. It is read only. + variationValues: + type: object + additionalProperties: false + description: |- + The variation values selected for the product in variation attribute id and value pairs. This is applicable for product types "Variant" and + "VariationGroup" only. It is read only. + example: + color: red + size: 8gb + description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. Product that has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. + MediaFile: + required: + - path + type: object + properties: + absUrl: + type: string + description: The absolute URL with request protocol. + example: https://www.example-image.com/images/apple-ipod-classic.jpg + alt: + type: object + additionalProperties: false + description: The alternative image text. + example: + en_US: iPod + disBaseUrl: + type: string + description: The Dynamic Image Service (DIS) base URL for product images only. + example: https://www.dis-base-url/images/apple-ipod-clasic.jpg + path: + type: string + description: The raw media file path. + example: /images/apple-ipod-classic.jpg + title: + type: object + additionalProperties: false + description: The image title. + example: + en_US: iPod + description: Document representing media file. + VariationAttributeValue: + required: + - value + type: object + properties: + description: + type: object + additionalProperties: false + description: The localized description of the variation value. + example: + en_US: Red + image: + $ref: '#/components/schemas/MediaFile' + imageSwatch: + $ref: '#/components/schemas/MediaFile' + name: + type: object + additionalProperties: false + description: The localized display name of the variation value. + example: + color: Red + orderable: + type: boolean + description: A flag indicating whether at least one variant with this variation attribute value is available to sell. + example: true + position: + type: number + description: The position of the value among all values of a variation attribute. + format: double + example: 2 + value: + minLength: 1 + type: string + description: The actual variation value. + example: red + description: Document representing a variation attribute value. + VariationAttribute: + required: + - attributeDefinitionId + type: object + properties: + attributeDefinitionId: + type: string + description: The id of the requested attribute definition. + example: color + attributeDefinitionName: + type: object + additionalProperties: false + description: The localized display name of the variation attribute definition. + example: + en_US: Color + defaultValue: + type: string + description: Default variation attribute value. + example: black + id: + minLength: 1 + type: string + description: The ID of the variation attribute. + example: color + name: + type: object + additionalProperties: false + description: The localized display name of the variation attribute. + example: + en_US: Color + shared: + type: boolean + description: Returns the value of attribute 'shared' if attribute is local or shared. + example: false + slicing: + type: boolean + description: Returns the value of attribute 'slicing'. + example: true + values: + items: + $ref: '#/components/schemas/VariationAttributeValue' + type: array + description: The sorted array of variation values. This array can be empty. + variationAttributeType: + type: string + description: Variation attribute type. + example: string + enum: + - string + - int + - unknown + description: Document representing a variation attribute. + ImageGroup: + required: + - images + - viewType + type: object + properties: + images: + items: + $ref: '#/components/schemas/MediaFile' + type: array + description: The images of the image group. + variationAttributes: + items: + $ref: '#/components/schemas/VariationAttribute' + type: array + description: Returns a list of variation attributes applying to this image group. + viewType: + type: string + description: The image view type. + example: hi-res + description: Document representing an image group containing a list of images for a particular view type and an optional variation value. + MarkupText: + required: + - markup + - source + type: object + properties: + markup: + type: string + description: The rendered HTML. + example: '' + source: + type: string + description: The raw markup text. + example: '' + description: Document representing markup text. + Master: + required: + - masterId + type: object + properties: + masterId: + $ref: '#/components/schemas/ProductId' + orderable: + type: boolean + description: A flag indicating whether at least one of the variants is orderable. + example: true + price: + type: number + description: The minimum sales price of the related variants. + format: double + example: 199.99 + priceMax: + type: number + description: The maximum sales of related variants. + format: double + example: 219.99 + prices: + type: object + additionalProperties: + type: number + format: double + description: prices + description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Does'nt have a SKU.* + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + Money: + description: A combination of a Currency and an amount of that Currency. + type: object + properties: + currencyMnemonic: + $ref: '#/components/schemas/CurrencyCode' + value: + format: double + description: The amount of money for the given currency. + example: 1234.56 + type: number + ProductOptionValue: + required: + - id + - value + type: object + properties: + defaultProductOptionValue: + type: boolean + description: Flag indicating if the product option value is the default value for the product option. + example: true + id: + minLength: 1 + type: string + description: The ID of the product option value. + example: 5-year + optionPrices: + items: + $ref: '#/components/schemas/Money' + type: array + description: The list of prices in the product option value. + skuExtension: + type: string + description: The SKU extension of the product option value. + example: extension + value: + type: object + additionalProperties: false + description: The localized value of the product option. + example: + en_US: 5 Year Warranty + description: Document representing a product option Value + ProductOption: + required: + - id + type: object + properties: + customName: + type: object + additionalProperties: false + description: The localized custom name of the product option. + example: + en_US: Warranty + defaultProductOptionValue: + type: string + description: The default product option value. + example: 5-years + description: + type: object + additionalProperties: false + description: The localized description of the product option. + example: + en_US: Option Description + id: + minLength: 1 + type: string + description: The object attribute definition ID which is also the identifier for the product option. + example: warranty + image: + $ref: '#/components/schemas/MediaFile' + name: + type: string + description: The name of the object attribute definition. + example: Warranty + selectedOptionValue: + type: string + description: The selected option value of the product option. + example: 2-years + shared: + type: boolean + description: The flag that indicates if the product option is shared or local. + example: false + sortingMode: + type: string + description: The sorting mode for the product option values. + example: byoptionprice + enum: + - byexplicitorder + - byoptionprice + values: + items: + $ref: '#/components/schemas/ProductOptionValue' + type: array + description: The sorted array of values of the product option. + description: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can't be purchased separately. + ProductType: + required: + - master + type: object + properties: + bundle: + type: boolean + description: A flag indicating whether the product is a bundle. + example: false + bundled: + type: boolean + description: A flag indicating whether the product is bundled. + example: false + item: + type: boolean + description: A flag indicating whether the product is a standard item. + example: false + master: + type: boolean + description: A flag indicating whether the product is a master. + example: true + option: + type: boolean + description: A flag indicating whether the product is an option. + example: false + partOfProductSet: + type: boolean + description: A flag indicating whether the product is part of product set. + example: false + partOfRetailSet: + type: boolean + description: A flag indicating whether the product is part of retail set. + example: false + retailSet: + type: boolean + description: A flag indicating whether the product is a retail set. + example: false + set: + type: boolean + description: A flag indicating whether the product is a set. + example: false + variant: + type: boolean + description: A flag indicating whether the product is a variant. + example: false + variationGroup: + type: boolean + description: A flag indicating whether the product is a variation group. + example: false + description: Document representing a product type. + Variant: + required: + - productId + type: object + properties: + ats: + type: number + description: The Available To Sell (ATS) inventory value of the product. This is a calculated value. + format: double + example: 10 + defaultProductVariation: + type: boolean + description: A flag indicating whether the variant is a default variant. + example: true + image: + $ref: '#/components/schemas/MediaFile' + inStock: + type: boolean + description: True if the product is in stock, false if not. + example: true + online: + type: boolean + description: |- + If the product is currently online. + True if online, false if not. + example: true + orderable: + type: boolean + description: A flag indicating whether the variant is orderable. + example: true + price: + type: number + description: The sales price of the variant. + format: double + example: 29.99 + priceCurrency: + type: string + description: Currency code for the price of the product. + example: USD + productId: + $ref: '#/components/schemas/ProductId' + searchable: + type: object + additionalProperties: false + description: A flag indicating whether the variant is searchable. + example: + Site1: true + variationAttributes: + items: + $ref: '#/components/schemas/VariationAttribute' + type: array + description: Variation attributes. + variationValues: + type: object + additionalProperties: false + description: The actual variation attribute ID - value pairs. + example: + color: black + description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU* + VariationGroup: + required: + - productId + type: object + properties: + orderable: + type: boolean + description: A flag indicating whether the variation group is orderable. + example: true + price: + type: number + description: The sales price of the variation group. + format: double + example: 229.99 + productId: + maxLength: 100 + minLength: 1 + type: string + description: The ID (SKU) of the variation group. + example: apple-ipod-classic-black + variationValues: + type: object + additionalProperties: false + description: The actual variation attribute ID - value pairs. + example: + color: red + description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Doesn't have a SKU.* + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + VariantSearchRequest: + required: + - query + type: object + allOf: + - $ref: '#/components/schemas/SearchRequest' + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + example: + limit: 4 + query: + textQuery: + fields: + - id + - description + searchPhrase: campaign + offset: 2 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + VariantSearchResult: + required: + - limit + - offset + - total + - hits + type: object + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + items: + $ref: '#/components/schemas/Variant' + type: array + description: An array of search hits (`Variant` objects). + description: Document that represents a search on certificates and keys. + VariationGroups: + required: + - data + - limit + - offset + - total + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/VariationGroup' + type: array + description: The array of variation group objects. + description: Document representing an unfiltered list of variation groups. + Variants: + required: + - data + - limit + - offset + - total + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/Variant' + type: array + description: An array of variants. + description: Document representing an unfiltered list of variants. + ProductOptions: + required: + - data + - limit + - offset + - total + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/ProductOption' + type: array + description: The array of product option objects. + description: Document representing an unfiltered list of product options. + VariationAttributes: + required: + - data + - limit + - offset + - total + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/VariationAttribute' + type: array + description: The array of variation attribute objects. + description: Document representing an unfiltered list of variation attributes. + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + String4000: + type: string + maxLength: 4000 + description: "The String4000 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 4000 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 4000 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 2000 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 1333 characters." + example: This is a detailed description of an Excellent Product. It includes all the features, specifications, and benefits of the product. The Excellent Product is designed to provide exceptional performance and reliability. It is made from high-quality materials and has been rigorously tested to ensure it meets the highest standards. Whether you are using it for personal or professional purposes, the Excellent Product is the perfect choice. With its advanced technology and user-friendly design, it offers unparalleled convenience and efficiency. Order your Excellent Product today and experience the difference it can make. + CategorizationAttributeDefinition: + required: + - allowedOperators + - attributeType + - id + - valueType + type: object + properties: + id: + description: The ID of the supported attribute. + allOf: + - $ref: '#/components/schemas/String256' + example: producttype + attributeName: + description: The display name of the supported attribute. + allOf: + - $ref: '#/components/schemas/String4000' + example: Product Type + attributeType: + type: string + description: | + The type of the attribute (custom/system/categorization). "system" indicates the System Attribute of the Product in ECOM, "custom" indicates the Custom Attribute of the Product in ECOM defined by merchant and "categorization" indicates the attribute used for categorization purposes ONLY and is not a defined attribute on the Product Object. + example: categorization + enum: + - custom + - system + - categorization + valueType: + type: string + description: The value type of the attribute. + enum: + - string + - int + - double + - text + - html + - date + - datetime + - image + - boolean + - money + - quantity + - email + - password + - set-of-string + - set-of-int + - set-of-double + - enum-of-string + - enum-of-int + example: string + allowedOperators: + items: + type: string + enum: + - starts_with + - contains + - equals + - not_equals + - greater_than + - less_than + - is_one_of + - not_one_of + - is_defined + - is_not_defined + example: equals + type: array + description: The list of allowed operators for this attribute based on its value type. + example: + - equals + - notEquals + allowedValues: + items: + allOf: + - $ref: '#/components/schemas/String4000' + example: 1 + type: array + description: The list of allowed values for this attribute IF its attributeType is an ENUM. + example: + - 1 + - 2 + allowedDisplayValues: + items: + allOf: + - $ref: '#/components/schemas/String4000' + example: One + type: array + description: | + The list of allowed Localized Display values for this attribute IF its attributeType is an ENUM based on the locale query param requested. If no locale query param value is provided "default" locale is assumed. + example: + - One + - Two + description: The categorization attribute definition. + CategorizationAttributeDefinitionsResult: + description: The list of categorization attributes supported for rule based categorization. + required: + - data + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + data: + type: array + items: + $ref: '#/components/schemas/CategorizationAttributeDefinition' + description: The list of the categorization attribute definitions. This can be empty. + ProductSearchRequest: + required: + - query + type: object + allOf: + - $ref: '#/components/schemas/SearchRequest' + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + example: + limit: 4 + query: + textQuery: + fields: + - id + - description + searchPhrase: campaign + offset: 2 + ProductSearchResult: + required: + - limit + - offset + - total + - hits + type: object + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + description: Document representing a product search result. + properties: + hits: + description: A sorted array of search hits (`Product` objects). The array can be empty. + items: + $ref: '#/components/schemas/Product' + parameters: + productId: + name: productId + in: path + required: true + schema: + $ref: '#/components/schemas/ProductId' + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The site context. + name: siteId + in: query + required: false + schema: + $ref: '#/components/schemas/SiteId' + masterProductId: + name: masterProductId + in: path + description: The ID of the master product that contains the variation group. + required: true + schema: + minLength: 1 + maxLength: 100 + type: string + example: sony-ps3-bundle + id: + name: id + in: path + description: The ID of the variation attribute to create. + required: true + schema: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + currency: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + name: currency + in: query + examples: + CurrencyCode: + value: USD + schema: + $ref: '#/components/schemas/CurrencyCode' + optionId: + name: optionId + in: path + description: The ID of the local product option. + required: true + schema: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + example: sony-ps3-bundle + attributeId: + name: attributeId + in: path + description: The variation attribute ID. + required: true + schema: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + examples: + DataProductExpandResult: + value: + assignedCategories: + - catalogId: apparel-catalog + categoryId: mens-accessories + - catalogId: storefront-catalog-en + categoryId: top-seller + - catalogId: storefront-catalog-en + categoryId: electronics-gaming + brand: Apple + classificationCategory: + catalogId: storefront-catalog-en + categoryId: top-seller + creationDate: '2019-02-21T22:10:02.000Z' + id: apple-ipod-classic + image: + absUrl: https://example.com/images/large/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , large + path: large/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + imageGroups: + - images: + - absUrl: https://example.com/images/large/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , large + path: large/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + viewType: large + - images: + - absUrl: https://example.com/images/medium/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , medium + path: medium/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + viewType: medium + - images: + - absUrl: https://example.com/images/small/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , small + path: small/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + viewType: small + lastModified: '2019-08-28T18:49:09.000Z' + localizedTaxClassId: + de: exempt + default: standard + en-US: exempt + longDescription: + default: + markup: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + source: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + name: + default: Apple iPod Classic + onlineFlag: + default: true + owningCatalogId: electronics-catalog + owningCatalogName: + default: Electronics Master Catalog + pageDescription: + default: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + pageKeywords: + default: Apple, iPod, iPod Classic, MP3, Music Player + pageTitle: + default: Apple iPod Nano + primaryCategories: + - catalogId: apparel-catalog + categoryId: mens-accessories + - catalogId: storefront-catalog-en + categoryId: top-seller + primaryCategoryId: top-seller + searchable: + default: true + shortDescription: + default: + markup: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + source: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + taxClassId: standard + type: + master: true + validFrom: + default: '1998-05-03T00:00:00.000Z' + default@SiteGenesis: '1998-05-11T00:00:00.000Z' + validTo: + default: '2028-07-03T00:00:00.000Z' + default@SiteGenesis: '2028-05-30T00:03:00.000Z' + variants: + - productId: apple-ipod-classic-silver-120g + variationValues: + color: Silver + memorySize: 120 GB + - productId: apple-ipod-classic-black-120g + variationValues: + color: Black + memorySize: 120 GB + variationAttributes: + - attributeDefinitionId: color + attributeDefinitionName: + default: Color + id: color + name: + default: Color + shared: true + slicing: false + values: + - name: + default: Silver + position: 1 + value: Silver + - name: + default: Black + position: 2 + value: Black + - name: + default: Purple + position: 3 + value: Purple + - name: + default: Blue + position: 4 + value: Blue + - name: + default: Green + position: 5 + value: Green + - name: + default: Yellow + position: 6 + value: Yellow + - name: + default: Orange + position: 7 + value: Orange + - name: + default: Red + position: 8 + value: Red + - name: + default: Fuscia + position: 9 + value: Fuscia + variationAttributeType: string + - attributeDefinitionId: memorySize + attributeDefinitionName: + default: Memory Size + id: memorySize + name: + default: Memory Size + shared: true + slicing: false + values: + - name: + default: 1 GB + position: 1 + value: 1 GB + - name: + default: 2 GB + position: 2 + value: 2 GB + - name: + default: 8 GB + position: 3 + value: 8 GB + - name: + default: 16 GB + position: 4 + value: 16 GB + - name: + default: 32 GB + position: 5 + value: 32 GB + - name: + default: 120 GB + position: 6 + value: 120 GB + variationAttributeType: string + getProduct400: + value: + title: Unqueryable Field + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unqueryable-field + detail: The field 'link' can't be queried. + field: link + getProduct401: + value: + title: Invalid Access Token + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token + detail: The request is unauthorized, the access token is invalid. + accessToken: hbGciOiJIUzI1NiIsInR5cCI6Ikp + getProduct404: + value: + title: Product Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/product-not-found + detail: No product with ID '1585183329877' could be found. + productId: '1585183329877' + DataProductExpandRequestBody: + value: + assignedCategories: + - catalogId: apparel-catalog + categoryId: mens-accessories + - catalogId: storefront-catalog-en + categoryId: top-seller + - catalogId: storefront-catalog-en + categoryId: electronics-gaming + brand: Apple + classificationCategory: + catalogId: storefront-catalog-en + categoryId: top-seller + creationDate: '2019-02-21T22:10:02.000Z' + id: apple-ipod-classic + image: + absUrl: https://example.com/images/large/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , large + path: large/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + imageGroups: + - images: + - absUrl: https://example.com/images/large/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , large + path: large/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + viewType: large + - images: + - absUrl: https://example.com/images/medium/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , medium + path: medium/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + viewType: medium + - images: + - absUrl: https://example.com/images/small/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , small + path: small/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + viewType: small + lastModified: '2019-08-28T18:49:09.000Z' + localizedTaxClassId: + de: exempt + default: standard + en-US: exempt + longDescription: + default: + markup: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + source: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + name: + default: Apple iPod Classic + onlineFlag: + default: true + owningCatalogId: electronics-catalog + owningCatalogName: + default: Electronics Master Catalog + pageDescription: + default: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + pageKeywords: + default: Apple, iPod, iPod Classic, MP3, Music Player + pageTitle: + default: Apple iPod Nano + primaryCategories: + - catalogId: apparel-catalog + categoryId: mens-accessories + - catalogId: storefront-catalog-en + categoryId: top-seller + primaryCategoryId: top-seller + searchable: + default: true + shortDescription: + default: + markup: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + source: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + taxClassId: standard + type: + master: true + validFrom: + default: '1998-05-03T00:00:00.000Z' + default@SiteGenesis: '1998-05-11T00:00:00.000Z' + validTo: + default: '2028-07-03T00:00:00.000Z' + default@SiteGenesis: '2028-05-30T00:03:00.000Z' + variants: + - productId: apple-ipod-classic-silver-120g + variationValues: + color: Silver + memorySize: 120 GB + - productId: apple-ipod-classic-black-120g + variationValues: + color: Black + memorySize: 120 GB + variationAttributes: + - attributeDefinitionId: color + attributeDefinitionName: + default: Color + id: color + name: + default: Color + shared: true + slicing: false + values: + - name: + default: Silver + position: 1 + value: Silver + - name: + default: Black + position: 2 + value: Black + - name: + default: Purple + position: 3 + value: Purple + - name: + default: Blue + position: 4 + value: Blue + - name: + default: Green + position: 5 + value: Green + - name: + default: Yellow + position: 6 + value: Yellow + - name: + default: Orange + position: 7 + value: Orange + - name: + default: Red + position: 8 + value: Red + - name: + default: Fuscia + position: 9 + value: Fuscia + variationAttributeType: string + - attributeDefinitionId: memorySize + attributeDefinitionName: + default: Memory Size + id: memorySize + name: + default: Memory Size + shared: true + slicing: false + values: + - name: + default: 1 GB + position: 1 + value: 1 GB + - name: + default: 2 GB + position: 2 + value: 2 GB + - name: + default: 8 GB + position: 3 + value: 8 GB + - name: + default: 16 GB + position: 4 + value: 16 GB + - name: + default: 32 GB + position: 5 + value: 32 GB + - name: + default: 120 GB + position: 6 + value: 120 GB + variationAttributeType: string + VariantSearchRequestBody: + value: + query: + textQuery: + fields: + - id + searchPhrase: ipod + expand: + - variations + VariantSearchResult: + value: + limit: 2 + hits: + - defaultProductVariation: false + productId: apple-ipod-classic-silver-120g + variationValues: + color: Silver + memorySize: 120 GB + - defaultProductVariation: false + productId: apple-ipod-classic-black-120g + variationValues: + color: Black + memorySize: 120 GB + query: + textQuery: + fields: + - id + searchPhrase: ipod + offset: 0 + total: 2 + VariationGroupsResult: + value: + limit: 1 + data: + - productId: apple-ipod-classic-1 + variationValues: + color: Silver + memorySize: 120 GB + offset: 0 + total: 1 + VariationGroupsIdResult: + value: + productId: apple-ipod-classic-1 + variationValues: + color: Silver + memorySize: 120 GB + VariationGroupsIdRequestBody: + value: + orderable: true + price: 500 + productId: apple-ipod-classic-1 + variationValues: + color: Silver + memorySize: 120 GB + VariantsResult: + value: + limit: 4 + data: + - productId: apple-ipod-classic-silver-120g + - productId: apple-ipod-classic-black-120g + - productId: apple-ipod-classic-2 + - productId: apple-ipod-classic-blue-32g + offset: 0 + total: 4 + VariationsIdResult: + value: + defaultProductVariation: false + productId: apple-ipod-classic-blue-32g + variationValues: + color: Blue + memorySize: 32 GB + VariationsIdRequestBody: + value: + orderable: true + price: 500 + productId: apple-ipod-classic-blue-32g + variationValues: + color: Blue + memorySize: 32 GB + ProductOptionsResult: + value: + limit: 1 + data: + - id: digitalCameraWarranty + values: + - id: '001' + optionPrices: + - currencyMnemonic: USD + value: 9.99 + value: + default: 1 Year Warranty + - id: '003' + optionPrices: + - currencyMnemonic: USD + value: 29.99 + value: + default: 5 Year Warranty + - id: '000' + optionPrices: + - currencyMnemonic: USD + value: 39.99 + value: + default: None + - id: '002' + optionPrices: + - currencyMnemonic: USD + value: 49.99 + value: + default: 3 Year Warranty + offset: 0 + total: 1 + ProductOptionsIdResult: + value: + customName: + default: My Option + description: + default: Description for my option. + id: my-option + image: + absUrl: https://example.com/on/demandware.static/-/Sites-XMaster/default/aaaaaaaabbbbbbbbbabababba/option.jpg + disBaseUrl: https://example.com/dw/image/v2/zzzz_s01/on/demandware.static/-/Sites-XMaster/default/aaaaaaaabbbbbbbbbabababba/option.jpg + path: option.jpg + name: option + shared: false + sortingMode: byoptionprice + ProductOptionsIdRequestBody: + value: + id: my-option + customName: + default: My Option + description: + default: Description for my option. + image: + path: option.jpg + ProductOptionsValuesResult: + value: + defaultProductOptionValue: false + id: value1 + optionPrices: + - currencyMnemonic: USD + value: 100 + skuExtension: s10 + value: + default: value 1 + en-US: value 1(en-US) + en: value 1(en) + ProductOptionsValuesRequestBody: + value: + id: my-option + value: + default: value 1 + en: value 1(en) + en-US: value 1(en-US) + optionPrices: + - currencyMnemonic: USD + value: 100 + skuExtension: s10 + VariationAttributeValuesIdResult: + value: + description: + default: desc of 8 (default) + en-US: desc of 8 (en-US) + en: desc of 8 (en) + position: 1 + value: '8' + VariationAttributeValuesIdRequestBody: + value: + value: '8' + description: + default: desc of 8 (default) + en: desc of 8 (en) + en-US: desc of 8 (en-US) + VariationAttributesResult: + value: + limit: 3 + data: + - attributeDefinitionId: color + attributeDefinitionName: + default: Color + id: color + name: + default: Color + shared: true + slicing: false + values: + - name: + default: Silver + position: 1 + value: Silver + - name: + default: Black + position: 2 + value: Black + - name: + default: Purple + position: 3 + value: Purple + - name: + default: Blue + position: 4 + value: Blue + - name: + default: Green + position: 5 + value: Green + - name: + default: Yellow + position: 6 + value: Yellow + - name: + default: Orange + position: 7 + value: Orange + - name: + default: Red + position: 8 + value: Red + - name: + default: Fuscia + position: 9 + value: Fuscia + variationAttributeType: string + - attributeDefinitionId: memorySize + attributeDefinitionName: + default: Memory Size + id: memorySize + name: + default: Memory Size + shared: true + slicing: false + values: + - name: + default: 1 GB + position: 1 + value: 1 GB + - name: + default: 2 GB + position: 2 + value: 2 GB + - name: + default: 8 GB + position: 3 + value: 8 GB + - name: + default: 16 GB + position: 4 + value: 16 GB + - name: + default: 32 GB + position: 5 + value: 32 GB + - name: + default: 120 GB + position: 6 + value: 120 GB + variationAttributeType: string + - attributeDefinitionId: size + attributeDefinitionName: + default: Size + id: screenSize + name: + default: Size + shared: false + slicing: false + values: + - description: + default: desc of 8 (default) + en-US: desc of 8 (en-US) + en: desc of 8 (en) + position: 1 + value: '8' + variationAttributeType: string + offset: 0 + total: 3 + VariationAttributeResult: + value: + attributeDefinitionId: size + attributeDefinitionName: + default: Size + id: screenSize + name: + default: Size + shared: false + slicing: false + variationAttributeType: string + VariationAttributeRequestBody: + value: + attributeDefinitionId: size + attributeDefinitionName: + default: Screen Size + CategorizationAttributeDefinitionResult: + value: + limit: 1 + data: + - id: ProductType + attributeName: Categorization Product Type + allowedOperators: + - equals + - not_equals + allowedValues: + - Item + - Master + - BundledProduct + - ProductSet + - SetProduct + - VariationGroup + - VariationProduct + allowedDisplayValues: + - Item + - Master + - BundledProduct + - ProductSet + - SetProduct + - VariationGroup + - VariationProduct + attributeType: categorization + valueType: enum-of-string + - id: CategoryId + attributeName: Categorization Category Id + allowedOperators: + - equals + attributeType: categorization + valueType: string + - id: OwningCatalogId + attributeName: Categorization Owning Catalog Id + allowedOperators: + - equals + attributeType: categorization + valueType: string + - id: brand + attributeName: Brand + allowedOperators: + - equals + - not_equals + - contains + - starts_with + - is_defined + - is_not_defined + - is_one_of + - not_one_of + attributeType: system + valueType: string + - id: RelevanceAttribute1 + attributeName: RelevanceAttribute1 + allowedOperators: + - equals + - not_equals + - contains + - starts_with + - is_defined + - is_not_defined + - is_one_of + - not_one_of + attributeType: custom + valueType: string + total: 5 + ProductSearchRequestBody: + value: + query: + textQuery: + fields: + - id + searchPhrase: apple-ipod-classic + ProductSearchResult: + value: + limit: 2 + hits: + - brand: Apple + creationDate: '2019-02-21T22:10:02.000Z' + id: apple-ipod-classic + lastModified: '2019-09-17T19:13:39.000Z' + longDescription: + default: + markup: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + source: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + name: + default: Apple iPod Classic + onlineFlag: + default: true + owningCatalogId: electronics-catalog + owningCatalogName: + default: Electronics Master Catalog + pageDescription: + default: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + pageKeywords: + default: Apple, iPod, iPod Classic, MP3, Music Player + pageTitle: + default: Apple iPod Nano + searchable: + default: true + shortDescription: + default: + markup: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + source: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + type: + master: true + - brand: Apple + creationDate: '2019-09-04T16:07:43.000Z' + id: apple-ipod-classic-1 + lastModified: '2019-09-04T16:19:03.000Z' + longDescription: + default: + markup: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + source: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + name: + default: Apple iPod Classic + onlineFlag: + default: false + owningCatalogId: electronics-catalog + owningCatalogName: + default: Electronics Master Catalog + pageDescription: + default: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + pageKeywords: + default: Apple, iPod, iPod Classic, MP3, Music Player + pageTitle: + default: Apple iPod Nano + searchable: + default: false + shortDescription: + default: + markup: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + source: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + type: + variationGroup: true + master: false + query: + textQuery: + fields: + - id + searchPhrase: apple-ipod-classic + offset: 0 + total: 2 diff --git a/apis/products-oas/products-oas-1.0.39/products-oas-v1-public.yaml b/apis/products-oas/products-oas-1.0.39/products-oas-v1-public.yaml new file mode 100644 index 00000000..638f683a --- /dev/null +++ b/apis/products-oas/products-oas-1.0.39/products-oas-v1-public.yaml @@ -0,0 +1,4573 @@ +openapi: 3.0.3 +info: + title: Products + version: v1 + description: |- + # API Overview + + The Products API enables you to build merchandising apps that merchandisers use to add products to catalogs, configure products for your storefront, and manage products in their ecommerce channels. + + For more information, see [Products](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_products.html) in the Salesforce B2C Commerce Infocenter. + + ## Authentication & Authorization + + The client managing product information must have access to the Products resource. This API requires a bearer token in the header of the request. The client accessing the API must first authenticate against Account Manager to get the bearer token. + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + ### Add Products + + Use the Products API to add new products to a catalog. You can add or update product details like attributes, variations, variation attributes, and images. You can also use the API to change a product’s catalog assignment. + + If you are adding products from an external product information management (PIM) system, use the Mulesoft Accelerator component created for Commerce Cloud. + + For more detail, see [Variation Groups](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_variation_groups.html) in the Salesforce B2C Commerce Infocenter. + + ![b2c-commerce-products-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-1.png) + + ### Create & Validate Variation Groups + + Use the API to enable a shopper to switch between different variants on a product page. You can group variation products into variation groups or group master products by one or more attributes. The variants within a variation group are linked. Linked variants allow a shopper to switch between different variants. + + For more detail, see [Variation Groups](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_variation_groups.html) in the Salesforce B2C Commerce Infocenter. + + ![b2c-commerce-products-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-2.png) + + ### Search for Variants + + Use the Product API to enable merchants to use a set of filtering and sorting criteria to search for variants assigned to a master product, or variation group. + + For more detail, see [Product Variations](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_product_variations.html) in the Salesforce B2C Commerce Infocenter. + + ![b2c-commerce-products-screenshot-3.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-3.png) + + ### Manage Product Options + + Use the API to view and manage product options for a given product so that optional accessories, upgrades, or services can be sold with the product. For example, a product warranty or monogramming. + + For more detail, see [Product Options](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_product_options.html) in the Salesforce B2C Commerce Infocenter. + + ![b2c-commerce-products-screenshot-4.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-4.png) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/product/products/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/products/{productId}: + get: + summary: Get product information. + description: Retrieve detailed information about a specific product. + operationId: getProduct + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Retrieved product information successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Product' + examples: + DataProductExpand: + $ref: '#/components/examples/DataProductExpandResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + put: + summary: Create or overwrite a product with provided data. + description: Create a product using the information provided. If a product with the same unique identifier exists, it is overwritten. + operationId: createProduct + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Product' + examples: + DataProductExpand: + $ref: '#/components/examples/DataProductExpandRequestBody' + required: true + responses: + '200': + description: Product was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Product' + examples: + DataProductExpand: + $ref: '#/components/examples/DataProductExpandResult' + '201': + description: Product was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Product' + examples: + DataProductExpand: + $ref: '#/components/examples/DataProductExpandResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + delete: + summary: Deletes the product by ID. + description: Permanently remove a product by ID. + operationId: deleteProduct + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted the product successfully. + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + patch: + summary: Partially update fields of an existing product. + description: |- + Update a product using the information provided. + Fields that can be updated: + name, pageDescription, longDescription, pageTitle, + pageKeywords, brand, ean, upc, manufactureSku, + manufactureName, searchable, unit, searchable, + onlineFlag, defaultVariantId. + Custom attributes are used to extend a standard Product system object. This endpoint can be used to update custom attribute values for a particular product SKU. If you try to update a non-existent custom attribute, the request won't fail, but no changes are made and the attribute is not created. + operationId: updateProduct + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Product' + examples: + DataProductExpand: + $ref: '#/components/examples/DataProductExpandRequestBody' + required: true + responses: + '200': + description: Updated the product successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Product' + examples: + DataProductExpand: + $ref: '#/components/examples/DataProductExpandResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + /organizations/{organizationId}/products/{productId}/variant-search: + post: + summary: Search product variations using complex queries and filters. + description: "Search product variations for master product or variation group product. The query attribute specifies a complex query that can be used to narrow down the search.\n\nThis is the list of searchable attributes:\n\n | Attribute | Type |\n |-----------|--------|\n | id | String |\n | productId | String |\n | name | String |\n | online | SiteSpecific Boolean |\n | inStock | Boolean |\n | searchable | SiteSpecific Boolean |\n | ats - Available quantity to sell | Double |\n | variationAttribute.ATTRIBUTE_ID (Ex:variation_attribute.color) | String |\n\nSortable Fields:\n\n | Attribute | Type |\n |-----------|--------|\n | id | String |\n | productId | String |\n | name | String |\n | online | SiteSpecific Boolean |\n | inStock | Boolean |\n | searchable | SiteSpecific Boolean |\n | ats - Available quantity to sell | Double |\n\n Note: The calculated value of \\\"online\\\" and \\\"searchable\\\" is used in the search/sort. A search/sort by the site-specific attributes require the Site ID query parameter to be set. They are \\\"online\\\", \\\"inStock\\\", \\\"searchable\\\" and \\\"ats\\\". We assume that every field that starts with variationAttribute. is searchable and dot is followed by \\\"ATTRIBUTE_ID\\\".\n\n The list of expansions to retrieve product information. The expand values available are:\n\n - _base - Basic product information is retrieved. This expand is included by default.\n\n - all - All product information, including the following properties are retrieved:\n - image\n - price - siteId must be provided to see this property\n - priceCurrency - siteId must be provided to see this property\n\n - availability - Information related to the availability of the product variation. This expand is not included by default.\n - ats - siteId must be provided to see this property\n - inStock - siteId must be provided to see this property\n - online - siteId must be provided to see this property \n - searchable \n\n - variations - Information related to product variations is retrieved. This expand is included by default.\n\n - attributes - Information related to product variation attributes is retrieved. This expand is not included by default." + operationId: searchProductVariations + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VariantSearchRequest' + examples: + VariantSearchRequestBody: + $ref: '#/components/examples/VariantSearchRequestBody' + required: true + responses: + '200': + description: Search results returned. + content: + application/json: + schema: + $ref: '#/components/schemas/VariantSearchResult' + examples: + VariantSearchResult: + $ref: '#/components/examples/VariantSearchResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + /organizations/{organizationId}/products/{masterProductId}/variation-groups: + get: + summary: List all variation groups of a product. + description: List all variation groups of a product. + operationId: getVariationGroupsForMasterProduct + parameters: + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Get VariationGroups for a product was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationGroups' + examples: + VariationGroupsResult: + $ref: '#/components/examples/VariationGroupsResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + /organizations/{organizationId}/products/{masterProductId}/variation-groups/{id}: + get: + summary: Get a specific variation group. + description: Read a variation group for a product. + operationId: getVariationGroupForMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Get VariationGroup by Id for a product was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationGroup' + examples: + VariationGroupsIdResult: + $ref: '#/components/examples/VariationGroupsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + put: + summary: Assign or create a variation group for a product. + description: |- + Assign a variation group for a product. If the variation group product does not initially exist, + one is created using the body passed in. + operationId: assignVariationGroupToMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VariationGroup' + examples: + VariationGroupsIdRequestBody: + $ref: '#/components/examples/VariationGroupsIdRequestBody' + required: true + responses: + '200': + description: Successfully assigned a variation group for given product. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationGroup' + examples: + VariationGroupsIdResult: + $ref: '#/components/examples/VariationGroupsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + delete: + summary: Unassign a variation group (product not deleted). + description: |- + Unassign a variation group product from a product. The variation group product is not + deleted: it remains as a typical product after unassign. + operationId: unassignVariationGroupFromMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted the variation group successfully. + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + patch: + summary: Update an existing variation group. + description: Update a variation group for a product master. + operationId: updateVariationGroupForMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VariationGroup' + examples: + VariationGroupsIdRequestBody: + $ref: '#/components/examples/VariationGroupsIdRequestBody' + required: true + responses: + '200': + description: Update was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationGroup' + examples: + VariationGroupsIdResult: + $ref: '#/components/examples/VariationGroupsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + /organizations/{organizationId}/products/{masterProductId}/variations: + get: + summary: List all variations of a master product. + description: List all variations of a master product. + operationId: getVariationsForMasterProduct + parameters: + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Get variation by ID successful. + content: + application/json: + schema: + $ref: '#/components/schemas/Variants' + examples: + getProduct400: + $ref: '#/components/examples/VariantsResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + /organizations/{organizationId}/products/{masterProductId}/variations/{id}: + get: + summary: Get details of a specific variation. + description: Get details of a specific variation. + operationId: getVariationForMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Get variation by ID successful. + content: + application/json: + schema: + $ref: '#/components/schemas/Variant' + examples: + VariationsIdResult: + $ref: '#/components/examples/VariationsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + put: + summary: Assign a variation to a master product (creates if not exists). + description: |- + Assign a variation for a product master. If the variation product does not initially exist, + one is created using the body that is passed. + operationId: assignVariationForMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Variant' + examples: + VariationsIdRequestBody: + $ref: '#/components/examples/VariationsIdRequestBody' + required: true + responses: + '200': + description: Updated the variation product successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Variant' + examples: + VariationsIdResult: + $ref: '#/components/examples/VariationsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + delete: + summary: Unassign a variation from a product (does not delete it). + description: |- + Unassign a variation product from a product. The variation product is not deleted: it remains as a + typical product after unassign. + operationId: unassignVariationFromMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted the variation group successfully. + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + patch: + summary: Update a specific product variation. + description: Update a variation for a product. + operationId: updateVariationForMasterProduct + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/masterProductId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Variant' + examples: + VariationsIdRequestBody: + $ref: '#/components/examples/VariationsIdRequestBody' + required: true + responses: + '200': + description: Variation updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Variant' + examples: + VariationsIdResult: + $ref: '#/components/examples/VariationsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + /organizations/{organizationId}/products/{productId}/product-options: + get: + summary: Retrieve product options for a product. + description: Read local and shared product options for a specified product. + operationId: getProductOptions + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/currency' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Retrieved product options successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOptions' + examples: + ProductOptionsResult: + $ref: '#/components/examples/ProductOptionsResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + /organizations/{organizationId}/products/{productId}/product-options/{id}: + get: + summary: Retrieve a specific product option. + description: Read a local or shared product option for a specified product. + operationId: getProductOption + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/currency' + responses: + '200': + description: Retrieved product options successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOption' + examples: + ProductOptionsIdResult: + $ref: '#/components/examples/ProductOptionsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + put: + summary: Create or bind a product option. + description: Creates a local product option using the information provided or binds a shared product option to the product. + operationId: createProductOption + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOption' + examples: + ProductOptionsIdRequestBody: + $ref: '#/components/examples/ProductOptionsIdRequestBody' + required: true + responses: + '200': + description: Updated product option successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOption' + examples: + ProductOptionsIdResult: + $ref: '#/components/examples/ProductOptionsIdResult' + '201': + description: Created or binded product option successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOption' + examples: + ProductOptionsIdResult: + $ref: '#/components/examples/ProductOptionsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + delete: + summary: Delete or unbind a product option. + description: Delete a local product option or unbind a shared product option from the product. + operationId: deleteProductOption + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted product option successfully. + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + patch: + summary: Update a product option. + description: Update a local product option with the information provided. + operationId: updateProductOption + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOption' + examples: + ProductOptionsIdRequestBody: + $ref: '#/components/examples/ProductOptionsIdRequestBody' + required: true + responses: + '200': + description: Updated product option successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOption' + examples: + ProductOptionsIdResult: + $ref: '#/components/examples/ProductOptionsIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + /organizations/{organizationId}/products/{productId}/product-options/{optionId}/values/{id}: + get: + summary: Retrieve a product option value. + description: Read a local product option value for a specified product. + operationId: getProductOptionValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/optionId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Successfully retrieved product option value. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOptionValue' + examples: + ProductOptionsValuesResult: + $ref: '#/components/examples/ProductOptionsValuesResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + put: + summary: Create a product option value. + description: Create a local product option value using the information provided. + operationId: createProductOptionValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/optionId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOptionValue' + examples: + ProductOptionsValuesRequestBody: + $ref: '#/components/examples/ProductOptionsValuesRequestBody' + required: true + responses: + '200': + description: Updated product option value successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOptionValue' + examples: + ProductOptionsValuesResult: + $ref: '#/components/examples/ProductOptionsValuesResult' + '201': + description: Created product option value successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOptionValue' + examples: + ProductOptionsValuesResult: + $ref: '#/components/examples/ProductOptionsValuesResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + delete: + summary: Delete a product option value. + description: Delete a local product option value by ID. + operationId: deleteProductOptionValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/optionId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted product option value successfully. + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + patch: + summary: Update a product option value. + description: Update a local product option value using the information provided. + operationId: updateProductOptionValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/optionId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOptionValue' + examples: + ProductOptionsValuesRequestBody: + $ref: '#/components/examples/ProductOptionsValuesRequestBody' + required: true + responses: + '200': + description: Product option value updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductOptionValue' + examples: + ProductOptionsValuesResult: + $ref: '#/components/examples/ProductOptionsValuesResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + /organizations/{organizationId}/products/{productId}/variation-attributes/{attributeId}/values/{id}: + get: + summary: Retrieve a variation attribute value. + description: Get product variation attribute information. + operationId: getVariationAttributeValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/attributeId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Retrieved variation attribute value successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttributeValue' + examples: + VariationAttributeValuesIdResult: + $ref: '#/components/examples/VariationAttributeValuesIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + put: + summary: Create a variation attribute value. + description: Create a product variation attribute value. + operationId: createVariationAttributeValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/attributeId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttributeValue' + examples: + VariationAttributeValuesIdRequestBody: + $ref: '#/components/examples/VariationAttributeValuesIdRequestBody' + required: true + responses: + '200': + description: Created product variation attribute value successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttributeValue' + examples: + VariationAttributeValuesIdResult: + $ref: '#/components/examples/VariationAttributeValuesIdResult' + '201': + description: Created product variation attribute value successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttributeValue' + examples: + VariationAttributeValuesIdResult: + $ref: '#/components/examples/VariationAttributeValuesIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + delete: + summary: Delete a variation attribute value. + description: Delete the variation attribute value of a variation attribute bound to a product. + operationId: deleteVariationAttributeValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/attributeId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted variation attribute value successfully. + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + patch: + summary: Update a variation attribute value. + description: Update the variation attribute value of a variation attribute of a product. + operationId: updateVariationAttributeValue + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/attributeId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttributeValue' + examples: + VariationAttributeValuesIdRequestBody: + $ref: '#/components/examples/VariationAttributeValuesIdRequestBody' + required: true + responses: + '200': + description: Updated variation attribute value successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttributeValue' + examples: + VariationAttributeValuesIdResult: + $ref: '#/components/examples/VariationAttributeValuesIdResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + /organizations/{organizationId}/products/{productId}/variation-attributes: + get: + summary: Retrieve variation attributes of a product. + description: Read variation attributes of a product of type variant, variation master, or variation group. + operationId: getVariationAttributes + parameters: + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 50 + description: Maximum records to retrieve per request, not to exceed 50. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Retrieved the list of VariationAttributes for the product ID successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttributes' + examples: + VariationAttributesResult: + $ref: '#/components/examples/VariationAttributesResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + /organizations/{organizationId}/products/{productId}/variation-attributes/{id}: + get: + summary: Retrieve a specific variation attribute. + description: Get variation attribute information only for master product. + operationId: getVariationAttribute + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: Retrieved the VariationAttribute for the product ID successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttribute' + examples: + VariationAttributeResult: + $ref: '#/components/examples/VariationAttributeResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + put: + summary: Create a variation attribute. + description: Create a variation attribute using the information provided. + operationId: createVariationAttribute + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttribute' + examples: + VariationAttributeRequestBody: + $ref: '#/components/examples/VariationAttributeRequestBody' + required: true + responses: + '200': + description: Created variation attribute successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttribute' + examples: + VariationAttributeResult: + $ref: '#/components/examples/VariationAttributeResult' + '201': + description: Created variation attribute successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttribute' + examples: + VariationAttributeResult: + $ref: '#/components/examples/VariationAttributeResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + delete: + summary: Remove a variation attribute. + description: Delete the variation attribute by ID. + operationId: deleteVariationAttribute + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + responses: + '204': + description: Deleted variation attribute successfully. + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + patch: + summary: Update a variation attribute. + description: |- + Update the variation attribute with the specified information. + name + slicing + operationId: updateVariationAttribute + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttribute' + examples: + VariationAttributeRequestBody: + $ref: '#/components/examples/VariationAttributeRequestBody' + required: true + responses: + '200': + description: Updated variation attribute successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VariationAttribute' + examples: + VariationAttributeResult: + $ref: '#/components/examples/VariationAttributeResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + '404': + description: | + Resource requested not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct404: + $ref: '#/components/examples/getProduct404' + security: + - AmOAuth2: + - sfcc.products.rw + /organizations/{organizationId}/categorization-attribute-definitions: + get: + summary: Get allowed attributes, values, and operators for creating rule-based categorization conditions. + description: | + Get the list of allowed attributes, values, and operators for creating rule-based categorization conditions. + operationId: getCategorizationAttributeDefinitions + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Categorization attribute definitions retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CategorizationAttributeDefinitionsResult' + examples: + CategorizationAttributeDefinitionResult: + $ref: '#/components/examples/CategorizationAttributeDefinitionResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw + /organizations/{organizationId}/product-search: + post: + summary: Search products. + description: "Search for products. The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped into different buckets.\n\nThe following is a list of searchable attributes with their corresponding buckets:\n\nMain: \n\n | Attribute | Type |\n |-----------|--------|\n | id | String |\n | name | String |\n | online | SiteSpecific Boolean |\n | searchable | SiteSpecific Boolean |\n | validFrom | SiteSpecfic DateTime |\n | validTo | SiteSpecfic DateTime |\n | type | ProductType |\n | creationDate | DateTime |\n | lastModified | DateTime |\n\nCatalog:\n\n | Attribute | Type |\n |-----------|--------|\n | catalogId | String |\n\n Category:\n\n | Attribute | Type |\n |-----------|--------|\n | categoryId | String |\n\n Special:\n\n type - {\\\"item\\\", \\\"set, \\\"bundle\\\", \\\"master\\\", \\\"partOfProductSet\\\", \\\"bundled\\\", \\\"variant\\\", \\\"variationGroup\\\", \\\"option\\\", \\\"retailSet\\\", \\\"partOfRetailSet\\\"}\n\n The sortable properties are:\n\n | Attribute | Type |\n |-----------|--------|\n | id | String |\n | name | String |\n | creationDate | DateTime |\n\nNote that catalogId is the ID of the catalog to which products are assigned \n\nOnly attributes in the same bucket can be joined using a disjunction (OR). For instance, when joining id and catalogId, only a conjunction is allowed (AND), whereas id and searchable can be joined using a disjunction because they are in the same bucket. If an attribute is used in a disjunction (OR) that violates this rule, an exception is thrown. The product search retrieves additional properties of the product when expansions are used.\n\nThe available expand attribute values are:\n\n- ‘all' retrieves all product properties. This is the default when no expand value is included in the request.\n\n- 'none' retrieves no expansion properties.\n\n- ‘availability' retrieves the following properties:\n - ats\n - inStock\n - online\n\n- ‘categories' retrieves the assignedCategories property. \n\n- ‘images' retrieves the image property. \n\n- ‘allImages' when used with images retrieves the following properties:\n - image\n - imageGroups\n\n- 'prices' retrieves the following properties:\n - price\n - priceCurrency\n\n- ‘sets' retrieves the following properties:\n - setProducts\n - productSets\n\n- ‘bundles' retrieves the following properties:\n - productBundles\n - bundledProduct" + operationId: searchProducts + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProductSearchRequest' + examples: + ProductSearchRequestBody: + $ref: '#/components/examples/ProductSearchRequestBody' + required: true + responses: + '200': + description: Product search completed successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductSearchResult' + examples: + ProductSearchResult: + $ref: '#/components/examples/ProductSearchResult' + '400': + description: | + Bad Request. Thrown when a specified expand parameter value is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct400: + $ref: '#/components/examples/getProduct400' + '401': + description: | + Unauthorized. Your Client ID is invalid, or you are not allowed to access + the content provided by the requested URL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getProduct401: + $ref: '#/components/examples/getProduct401' + security: + - AmOAuth2: + - sfcc.products + - sfcc.products.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.products: Product scope READONLY + sfcc.products.rw: Product scope + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.products: Product scope READONLY + sfcc.products.rw: Product scope + schemas: + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + CatalogId: + maxLength: 256 + minLength: 1 + type: string + description: The ID of the catalog. + example: apparel-catalog + CategoryId: + maxLength: 256 + minLength: 1 + type: string + description: The ID of the category. + example: mens + CatalogCategoryId: + required: + - catalogId + - categoryId + type: object + properties: + catalogId: + $ref: '#/components/schemas/CatalogId' + categoryId: + $ref: '#/components/schemas/CategoryId' + description: Document representing a catalog category ID. + Product: + required: + - id + type: object + properties: + assignedCategories: + items: + $ref: '#/components/schemas/CatalogCategoryId' + type: array + description: The catalog categories that the product is assigned to. It is read only. + ats: + type: number + description: The Available To Sell (ATS) inventory value of the product. This is a calculated value. + format: double + example: 15 + brand: + type: string + description: The brand of the product. + example: Apple + bundledProducts: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of bundled products which the product includes. It is read only. + classificationCategory: + $ref: '#/components/schemas/CatalogCategoryId' + creationDate: + type: string + description: Returns the value of attribute 'creationDate'. It is read only. + format: date-time + example: 253402214400 + defaultVariantId: + type: string + description: The ID of the product's default variant. It is read only. + example: apple-ipod-classic-8gb-black + ean: + type: string + description: The European Article Number of the product. + example: ksdf69w4 + id: + $ref: '#/components/schemas/ProductId' + image: + $ref: '#/components/schemas/MediaFile' + imageGroups: + items: + $ref: '#/components/schemas/ImageGroup' + type: array + description: The array of product image groups. It is read only. + inStock: + type: boolean + description: The flag that indicates if the product is in stock, or not. This is a calculated value. + example: true + lastModified: + type: string + description: Returns the value of attribute 'lastModified'. It is read only. + format: date-time + example: 253402214400 + localizedTaxClassId: + type: object + additionalProperties: false + description: The localized tax class identifier of the product. + example: + en_US: exempt + longDescription: + type: object + additionalProperties: + $ref: '#/components/schemas/MarkupText' + description: The localized long description of the product. + manufacturerName: + type: string + description: The name of the product's manufacturer. + example: Apple + manufacturerSku: + type: string + description: The SKU of the product's manufacturer. + example: HSD68J + master: + $ref: '#/components/schemas/Master' + name: + type: object + additionalProperties: false + description: The localized name of the product. + example: + en_US: Apple Ipod Classic + online: + type: boolean + description: The flag that indicates if the product is online, or not. This is a calculated value. + example: true + onlineFlag: + type: object + additionalProperties: false + description: The site-specific online status of the product. + example: + Site1: true + owningCatalogId: + type: string + description: The ID of the catalog that owns the product. + example: apple-master-catalog + owningCatalogName: + type: object + additionalProperties: false + description: The localized name of the catalog that owns the product. It is read only. + example: + en_US: Apple Master Catalog + pageDescription: + type: object + additionalProperties: false + description: The localized page description of the product. + example: + en_US: Page Description + pageKeywords: + type: object + additionalProperties: false + description: The localized page keywords of the product. + example: + en_US: Keywords + pageTitle: + type: object + additionalProperties: false + description: The localized page title of the product. + example: + en_US: Page Title + price: + type: number + description: The price of the product. + format: double + example: 219.99 + priceCurrency: + type: string + description: The currency code for a product's price. + example: USD + pricePerUnit: + type: number + description: The price per unit of the product. This is a read only field. + format: double + example: 1 + primaryCategories: + items: + $ref: '#/components/schemas/CatalogCategoryId' + type: array + description: The primary catalog categories that the product is assigned to. It is read only. + primaryCategoryId: + type: string + description: The ID of the products primary category. This is a read only field. It is read only. + example: electronics-media-players + productBundles: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of product bundles which the product belongs to. It is read only. + productOptions: + items: + $ref: '#/components/schemas/ProductOption' + type: array + description: The array of product options. This is applicable for products of type "option". It is read only. + productSets: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of product sets which the product belongs to. It is read only. + searchable: + type: object + additionalProperties: false + description: The site-specific searchable status of the product. + example: + Site1: true + setProducts: + items: + $ref: '#/components/schemas/Product' + type: array + description: The array of set products which the product includes. It is read only. + shortDescription: + type: object + additionalProperties: + $ref: '#/components/schemas/MarkupText' + description: The localized short description of the product. + taxClassId: + type: string + description: The tax class identifier of the product. + example: standard + type: + $ref: '#/components/schemas/ProductType' + unit: + type: string + description: The sales unit of the product. + example: single + unitMeasure: + type: string + description: The unitMeasure of the product. + example: each + unitQuantity: + type: number + description: The unitQuantity of the product. + format: double + example: 15 + upc: + type: string + description: The Universal Product Code (UPC) of the product. + example: 66JSD88JASD + validFrom: + type: object + additionalProperties: false + description: The valid/online from date of the product. + example: + default@SiteGenesis: '2000-05-11T00:00:00.000Z' + validTo: + type: object + additionalProperties: false + description: The valid/online to date of the product. + example: + default@SiteGenesis: '2050-05-11T00:00:00.000Z' + variants: + items: + $ref: '#/components/schemas/Variant' + type: array + description: The array of variants of the product. This is applicable for product types "master" and "variationGroup" only. It is read only. + variationAttributes: + items: + $ref: '#/components/schemas/VariationAttribute' + type: array + description: |- + The sorted array of variation attributes assigned to the product. This is applicable for product types "master", + "variationGroup" and "variant" only. It is read only. + variationGroups: + items: + $ref: '#/components/schemas/VariationGroup' + type: array + description: The array of variation groups in the product. This is applicable for product type "master" only. It is read only. + variationValues: + type: object + additionalProperties: false + description: |- + The variation values selected for the product in variation attribute id and value pairs. This is applicable for product types "Variant" and + "VariationGroup" only. It is read only. + example: + color: red + size: 8gb + description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. Product that has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. + MediaFile: + required: + - path + type: object + properties: + absUrl: + type: string + description: The absolute URL with request protocol. + example: https://www.example-image.com/images/apple-ipod-classic.jpg + alt: + type: object + additionalProperties: false + description: The alternative image text. + example: + en_US: iPod + disBaseUrl: + type: string + description: The Dynamic Image Service (DIS) base URL for product images only. + example: https://www.dis-base-url/images/apple-ipod-clasic.jpg + path: + type: string + description: The raw media file path. + example: /images/apple-ipod-classic.jpg + title: + type: object + additionalProperties: false + description: The image title. + example: + en_US: iPod + description: Document representing media file. + VariationAttributeValue: + required: + - value + type: object + properties: + description: + type: object + additionalProperties: false + description: The localized description of the variation value. + example: + en_US: Red + image: + $ref: '#/components/schemas/MediaFile' + imageSwatch: + $ref: '#/components/schemas/MediaFile' + name: + type: object + additionalProperties: false + description: The localized display name of the variation value. + example: + color: Red + orderable: + type: boolean + description: A flag indicating whether at least one variant with this variation attribute value is available to sell. + example: true + position: + type: number + description: The position of the value among all values of a variation attribute. + format: double + example: 2 + value: + minLength: 1 + type: string + description: The actual variation value. + example: red + description: Document representing a variation attribute value. + VariationAttribute: + required: + - attributeDefinitionId + type: object + properties: + attributeDefinitionId: + type: string + description: The id of the requested attribute definition. + example: color + attributeDefinitionName: + type: object + additionalProperties: false + description: The localized display name of the variation attribute definition. + example: + en_US: Color + defaultValue: + type: string + description: Default variation attribute value. + example: black + id: + minLength: 1 + type: string + description: The ID of the variation attribute. + example: color + name: + type: object + additionalProperties: false + description: The localized display name of the variation attribute. + example: + en_US: Color + shared: + type: boolean + description: Returns the value of attribute 'shared' if attribute is local or shared. + example: false + slicing: + type: boolean + description: Returns the value of attribute 'slicing'. + example: true + values: + items: + $ref: '#/components/schemas/VariationAttributeValue' + type: array + description: The sorted array of variation values. This array can be empty. + variationAttributeType: + type: string + description: Variation attribute type. + example: string + enum: + - string + - int + - unknown + description: Document representing a variation attribute. + ImageGroup: + required: + - images + - viewType + type: object + properties: + images: + items: + $ref: '#/components/schemas/MediaFile' + type: array + description: The images of the image group. + variationAttributes: + items: + $ref: '#/components/schemas/VariationAttribute' + type: array + description: Returns a list of variation attributes applying to this image group. + viewType: + type: string + description: The image view type. + example: hi-res + description: Document representing an image group containing a list of images for a particular view type and an optional variation value. + MarkupText: + required: + - markup + - source + type: object + properties: + markup: + type: string + description: The rendered HTML. + example: '' + source: + type: string + description: The raw markup text. + example: '' + description: Document representing markup text. + Master: + required: + - masterId + type: object + properties: + masterId: + $ref: '#/components/schemas/ProductId' + orderable: + type: boolean + description: A flag indicating whether at least one of the variants is orderable. + example: true + price: + type: number + description: The minimum sales price of the related variants. + format: double + example: 199.99 + priceMax: + type: number + description: The maximum sales of related variants. + format: double + example: 219.99 + prices: + type: object + additionalProperties: + type: number + format: double + description: prices + description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Does'nt have a SKU.* + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + Money: + description: A combination of a Currency and an amount of that Currency. + type: object + properties: + currencyMnemonic: + $ref: '#/components/schemas/CurrencyCode' + value: + format: double + description: The amount of money for the given currency. + example: 1234.56 + type: number + ProductOptionValue: + required: + - id + - value + type: object + properties: + defaultProductOptionValue: + type: boolean + description: Flag indicating if the product option value is the default value for the product option. + example: true + id: + minLength: 1 + type: string + description: The ID of the product option value. + example: 5-year + optionPrices: + items: + $ref: '#/components/schemas/Money' + type: array + description: The list of prices in the product option value. + skuExtension: + type: string + description: The SKU extension of the product option value. + example: extension + value: + type: object + additionalProperties: false + description: The localized value of the product option. + example: + en_US: 5 Year Warranty + description: Document representing a product option Value + ProductOption: + required: + - id + type: object + properties: + customName: + type: object + additionalProperties: false + description: The localized custom name of the product option. + example: + en_US: Warranty + defaultProductOptionValue: + type: string + description: The default product option value. + example: 5-years + description: + type: object + additionalProperties: false + description: The localized description of the product option. + example: + en_US: Option Description + id: + minLength: 1 + type: string + description: The object attribute definition ID which is also the identifier for the product option. + example: warranty + image: + $ref: '#/components/schemas/MediaFile' + name: + type: string + description: The name of the object attribute definition. + example: Warranty + selectedOptionValue: + type: string + description: The selected option value of the product option. + example: 2-years + shared: + type: boolean + description: The flag that indicates if the product option is shared or local. + example: false + sortingMode: + type: string + description: The sorting mode for the product option values. + example: byoptionprice + enum: + - byexplicitorder + - byoptionprice + values: + items: + $ref: '#/components/schemas/ProductOptionValue' + type: array + description: The sorted array of values of the product option. + description: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can't be purchased separately. + ProductType: + required: + - master + type: object + properties: + bundle: + type: boolean + description: A flag indicating whether the product is a bundle. + example: false + bundled: + type: boolean + description: A flag indicating whether the product is bundled. + example: false + item: + type: boolean + description: A flag indicating whether the product is a standard item. + example: false + master: + type: boolean + description: A flag indicating whether the product is a master. + example: true + option: + type: boolean + description: A flag indicating whether the product is an option. + example: false + partOfProductSet: + type: boolean + description: A flag indicating whether the product is part of product set. + example: false + partOfRetailSet: + type: boolean + description: A flag indicating whether the product is part of retail set. + example: false + retailSet: + type: boolean + description: A flag indicating whether the product is a retail set. + example: false + set: + type: boolean + description: A flag indicating whether the product is a set. + example: false + variant: + type: boolean + description: A flag indicating whether the product is a variant. + example: false + variationGroup: + type: boolean + description: A flag indicating whether the product is a variation group. + example: false + description: Document representing a product type. + Variant: + required: + - productId + type: object + properties: + ats: + type: number + description: The Available To Sell (ATS) inventory value of the product. This is a calculated value. + format: double + example: 10 + defaultProductVariation: + type: boolean + description: A flag indicating whether the variant is a default variant. + example: true + image: + $ref: '#/components/schemas/MediaFile' + inStock: + type: boolean + description: True if the product is in stock, false if not. + example: true + online: + type: boolean + description: |- + If the product is currently online. + True if online, false if not. + example: true + orderable: + type: boolean + description: A flag indicating whether the variant is orderable. + example: true + price: + type: number + description: The sales price of the variant. + format: double + example: 29.99 + priceCurrency: + type: string + description: Currency code for the price of the product. + example: USD + productId: + $ref: '#/components/schemas/ProductId' + searchable: + type: object + additionalProperties: false + description: A flag indicating whether the variant is searchable. + example: + Site1: true + variationAttributes: + items: + $ref: '#/components/schemas/VariationAttribute' + type: array + description: Variation attributes. + variationValues: + type: object + additionalProperties: false + description: The actual variation attribute ID - value pairs. + example: + color: black + description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU* + VariationGroup: + required: + - productId + type: object + properties: + orderable: + type: boolean + description: A flag indicating whether the variation group is orderable. + example: true + price: + type: number + description: The sales price of the variation group. + format: double + example: 229.99 + productId: + maxLength: 100 + minLength: 1 + type: string + description: The ID (SKU) of the variation group. + example: apple-ipod-classic-black + variationValues: + type: object + additionalProperties: false + description: The actual variation attribute ID - value pairs. + example: + color: red + description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Doesn't have a SKU.* + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + VariantSearchRequest: + required: + - query + type: object + allOf: + - $ref: '#/components/schemas/SearchRequest' + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + example: + limit: 4 + query: + textQuery: + fields: + - id + - description + searchPhrase: campaign + offset: 2 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + VariantSearchResult: + required: + - limit + - offset + - total + - hits + type: object + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + items: + $ref: '#/components/schemas/Variant' + type: array + description: An array of search hits (`Variant` objects). + description: Document that represents a search on certificates and keys. + VariationGroups: + required: + - data + - limit + - offset + - total + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/VariationGroup' + type: array + description: The array of variation group objects. + description: Document representing an unfiltered list of variation groups. + Variants: + required: + - data + - limit + - offset + - total + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/Variant' + type: array + description: An array of variants. + description: Document representing an unfiltered list of variants. + ProductOptions: + required: + - data + - limit + - offset + - total + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/ProductOption' + type: array + description: The array of product option objects. + description: Document representing an unfiltered list of product options. + VariationAttributes: + required: + - data + - limit + - offset + - total + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + items: + $ref: '#/components/schemas/VariationAttribute' + type: array + description: The array of variation attribute objects. + description: Document representing an unfiltered list of variation attributes. + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + String4000: + type: string + maxLength: 4000 + description: "The String4000 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 4000 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 4000 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 2000 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 1333 characters." + example: This is a detailed description of an Excellent Product. It includes all the features, specifications, and benefits of the product. The Excellent Product is designed to provide exceptional performance and reliability. It is made from high-quality materials and has been rigorously tested to ensure it meets the highest standards. Whether you are using it for personal or professional purposes, the Excellent Product is the perfect choice. With its advanced technology and user-friendly design, it offers unparalleled convenience and efficiency. Order your Excellent Product today and experience the difference it can make. + CategorizationAttributeDefinition: + required: + - allowedOperators + - attributeType + - id + - valueType + type: object + properties: + id: + description: The ID of the supported attribute. + allOf: + - $ref: '#/components/schemas/String256' + example: producttype + attributeName: + description: The display name of the supported attribute. + allOf: + - $ref: '#/components/schemas/String4000' + example: Product Type + attributeType: + type: string + description: | + The type of the attribute (custom/system/categorization). "system" indicates the System Attribute of the Product in ECOM, "custom" indicates the Custom Attribute of the Product in ECOM defined by merchant and "categorization" indicates the attribute used for categorization purposes ONLY and is not a defined attribute on the Product Object. + example: categorization + enum: + - custom + - system + - categorization + valueType: + type: string + description: The value type of the attribute. + enum: + - string + - int + - double + - text + - html + - date + - datetime + - image + - boolean + - money + - quantity + - email + - password + - set-of-string + - set-of-int + - set-of-double + - enum-of-string + - enum-of-int + example: string + allowedOperators: + items: + type: string + enum: + - starts_with + - contains + - equals + - not_equals + - greater_than + - less_than + - is_one_of + - not_one_of + - is_defined + - is_not_defined + example: equals + type: array + description: The list of allowed operators for this attribute based on its value type. + example: + - equals + - notEquals + allowedValues: + items: + allOf: + - $ref: '#/components/schemas/String4000' + example: 1 + type: array + description: The list of allowed values for this attribute IF its attributeType is an ENUM. + example: + - 1 + - 2 + allowedDisplayValues: + items: + allOf: + - $ref: '#/components/schemas/String4000' + example: One + type: array + description: | + The list of allowed Localized Display values for this attribute IF its attributeType is an ENUM based on the locale query param requested. If no locale query param value is provided "default" locale is assumed. + example: + - One + - Two + description: The categorization attribute definition. + CategorizationAttributeDefinitionsResult: + description: The list of categorization attributes supported for rule based categorization. + required: + - data + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + data: + type: array + items: + $ref: '#/components/schemas/CategorizationAttributeDefinition' + description: The list of the categorization attribute definitions. This can be empty. + ProductSearchRequest: + required: + - query + type: object + allOf: + - $ref: '#/components/schemas/SearchRequest' + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + example: + limit: 4 + query: + textQuery: + fields: + - id + - description + searchPhrase: campaign + offset: 2 + ProductSearchResult: + required: + - limit + - offset + - total + - hits + type: object + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + description: Document representing a product search result. + properties: + hits: + description: A sorted array of search hits (`Product` objects). The array can be empty. + items: + $ref: '#/components/schemas/Product' + parameters: + productId: + name: productId + in: path + required: true + schema: + $ref: '#/components/schemas/ProductId' + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The site context. + name: siteId + in: query + required: false + schema: + $ref: '#/components/schemas/SiteId' + masterProductId: + name: masterProductId + in: path + description: The ID of the master product that contains the variation group. + required: true + schema: + minLength: 1 + maxLength: 100 + type: string + example: sony-ps3-bundle + id: + name: id + in: path + description: The ID of the variation attribute to create. + required: true + schema: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + currency: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + name: currency + in: query + examples: + CurrencyCode: + value: USD + schema: + $ref: '#/components/schemas/CurrencyCode' + optionId: + name: optionId + in: path + description: The ID of the local product option. + required: true + schema: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + example: sony-ps3-bundle + attributeId: + name: attributeId + in: path + description: The variation attribute ID. + required: true + schema: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + examples: + DataProductExpandResult: + value: + assignedCategories: + - catalogId: apparel-catalog + categoryId: mens-accessories + - catalogId: storefront-catalog-en + categoryId: top-seller + - catalogId: storefront-catalog-en + categoryId: electronics-gaming + brand: Apple + classificationCategory: + catalogId: storefront-catalog-en + categoryId: top-seller + creationDate: '2019-02-21T22:10:02.000Z' + id: apple-ipod-classic + image: + absUrl: https://example.com/images/large/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , large + path: large/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + imageGroups: + - images: + - absUrl: https://example.com/images/large/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , large + path: large/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + viewType: large + - images: + - absUrl: https://example.com/images/medium/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , medium + path: medium/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + viewType: medium + - images: + - absUrl: https://example.com/images/small/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , small + path: small/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + viewType: small + lastModified: '2019-08-28T18:49:09.000Z' + localizedTaxClassId: + de: exempt + default: standard + en-US: exempt + longDescription: + default: + markup: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + source: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + name: + default: Apple iPod Classic + onlineFlag: + default: true + owningCatalogId: electronics-catalog + owningCatalogName: + default: Electronics Master Catalog + pageDescription: + default: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + pageKeywords: + default: Apple, iPod, iPod Classic, MP3, Music Player + pageTitle: + default: Apple iPod Nano + primaryCategories: + - catalogId: apparel-catalog + categoryId: mens-accessories + - catalogId: storefront-catalog-en + categoryId: top-seller + primaryCategoryId: top-seller + searchable: + default: true + shortDescription: + default: + markup: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + source: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + taxClassId: standard + type: + master: true + validFrom: + default: '1998-05-03T00:00:00.000Z' + default@SiteGenesis: '1998-05-11T00:00:00.000Z' + validTo: + default: '2028-07-03T00:00:00.000Z' + default@SiteGenesis: '2028-05-30T00:03:00.000Z' + variants: + - productId: apple-ipod-classic-silver-120g + variationValues: + color: Silver + memorySize: 120 GB + - productId: apple-ipod-classic-black-120g + variationValues: + color: Black + memorySize: 120 GB + variationAttributes: + - attributeDefinitionId: color + attributeDefinitionName: + default: Color + id: color + name: + default: Color + shared: true + slicing: false + values: + - name: + default: Silver + position: 1 + value: Silver + - name: + default: Black + position: 2 + value: Black + - name: + default: Purple + position: 3 + value: Purple + - name: + default: Blue + position: 4 + value: Blue + - name: + default: Green + position: 5 + value: Green + - name: + default: Yellow + position: 6 + value: Yellow + - name: + default: Orange + position: 7 + value: Orange + - name: + default: Red + position: 8 + value: Red + - name: + default: Fuscia + position: 9 + value: Fuscia + variationAttributeType: string + - attributeDefinitionId: memorySize + attributeDefinitionName: + default: Memory Size + id: memorySize + name: + default: Memory Size + shared: true + slicing: false + values: + - name: + default: 1 GB + position: 1 + value: 1 GB + - name: + default: 2 GB + position: 2 + value: 2 GB + - name: + default: 8 GB + position: 3 + value: 8 GB + - name: + default: 16 GB + position: 4 + value: 16 GB + - name: + default: 32 GB + position: 5 + value: 32 GB + - name: + default: 120 GB + position: 6 + value: 120 GB + variationAttributeType: string + getProduct400: + value: + title: Unqueryable Field + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unqueryable-field + detail: The field 'link' can't be queried. + field: link + getProduct401: + value: + title: Invalid Access Token + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token + detail: The request is unauthorized, the access token is invalid. + accessToken: hbGciOiJIUzI1NiIsInR5cCI6Ikp + getProduct404: + value: + title: Product Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/product-not-found + detail: No product with ID '1585183329877' could be found. + productId: '1585183329877' + DataProductExpandRequestBody: + value: + assignedCategories: + - catalogId: apparel-catalog + categoryId: mens-accessories + - catalogId: storefront-catalog-en + categoryId: top-seller + - catalogId: storefront-catalog-en + categoryId: electronics-gaming + brand: Apple + classificationCategory: + catalogId: storefront-catalog-en + categoryId: top-seller + creationDate: '2019-02-21T22:10:02.000Z' + id: apple-ipod-classic + image: + absUrl: https://example.com/images/large/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , large + path: large/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + imageGroups: + - images: + - absUrl: https://example.com/images/large/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , large + path: large/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + viewType: large + - images: + - absUrl: https://example.com/images/medium/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , medium + path: medium/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + viewType: medium + - images: + - absUrl: https://example.com/images/small/ipod-classic-silver.jpg + alt: + default: Apple iPod Classic, , small + path: small/ipod-classic-silver.jpg + title: + default: 'Apple iPod Classic, ' + viewType: small + lastModified: '2019-08-28T18:49:09.000Z' + localizedTaxClassId: + de: exempt + default: standard + en-US: exempt + longDescription: + default: + markup: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + source: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + name: + default: Apple iPod Classic + onlineFlag: + default: true + owningCatalogId: electronics-catalog + owningCatalogName: + default: Electronics Master Catalog + pageDescription: + default: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + pageKeywords: + default: Apple, iPod, iPod Classic, MP3, Music Player + pageTitle: + default: Apple iPod Nano + primaryCategories: + - catalogId: apparel-catalog + categoryId: mens-accessories + - catalogId: storefront-catalog-en + categoryId: top-seller + primaryCategoryId: top-seller + searchable: + default: true + shortDescription: + default: + markup: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + source: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + taxClassId: standard + type: + master: true + validFrom: + default: '1998-05-03T00:00:00.000Z' + default@SiteGenesis: '1998-05-11T00:00:00.000Z' + validTo: + default: '2028-07-03T00:00:00.000Z' + default@SiteGenesis: '2028-05-30T00:03:00.000Z' + variants: + - productId: apple-ipod-classic-silver-120g + variationValues: + color: Silver + memorySize: 120 GB + - productId: apple-ipod-classic-black-120g + variationValues: + color: Black + memorySize: 120 GB + variationAttributes: + - attributeDefinitionId: color + attributeDefinitionName: + default: Color + id: color + name: + default: Color + shared: true + slicing: false + values: + - name: + default: Silver + position: 1 + value: Silver + - name: + default: Black + position: 2 + value: Black + - name: + default: Purple + position: 3 + value: Purple + - name: + default: Blue + position: 4 + value: Blue + - name: + default: Green + position: 5 + value: Green + - name: + default: Yellow + position: 6 + value: Yellow + - name: + default: Orange + position: 7 + value: Orange + - name: + default: Red + position: 8 + value: Red + - name: + default: Fuscia + position: 9 + value: Fuscia + variationAttributeType: string + - attributeDefinitionId: memorySize + attributeDefinitionName: + default: Memory Size + id: memorySize + name: + default: Memory Size + shared: true + slicing: false + values: + - name: + default: 1 GB + position: 1 + value: 1 GB + - name: + default: 2 GB + position: 2 + value: 2 GB + - name: + default: 8 GB + position: 3 + value: 8 GB + - name: + default: 16 GB + position: 4 + value: 16 GB + - name: + default: 32 GB + position: 5 + value: 32 GB + - name: + default: 120 GB + position: 6 + value: 120 GB + variationAttributeType: string + VariantSearchRequestBody: + value: + query: + textQuery: + fields: + - id + searchPhrase: ipod + expand: + - variations + VariantSearchResult: + value: + limit: 2 + hits: + - defaultProductVariation: false + productId: apple-ipod-classic-silver-120g + variationValues: + color: Silver + memorySize: 120 GB + - defaultProductVariation: false + productId: apple-ipod-classic-black-120g + variationValues: + color: Black + memorySize: 120 GB + query: + textQuery: + fields: + - id + searchPhrase: ipod + offset: 0 + total: 2 + VariationGroupsResult: + value: + limit: 1 + data: + - productId: apple-ipod-classic-1 + variationValues: + color: Silver + memorySize: 120 GB + offset: 0 + total: 1 + VariationGroupsIdResult: + value: + productId: apple-ipod-classic-1 + variationValues: + color: Silver + memorySize: 120 GB + VariationGroupsIdRequestBody: + value: + orderable: true + price: 500 + productId: apple-ipod-classic-1 + variationValues: + color: Silver + memorySize: 120 GB + VariantsResult: + value: + limit: 4 + data: + - productId: apple-ipod-classic-silver-120g + - productId: apple-ipod-classic-black-120g + - productId: apple-ipod-classic-2 + - productId: apple-ipod-classic-blue-32g + offset: 0 + total: 4 + VariationsIdResult: + value: + defaultProductVariation: false + productId: apple-ipod-classic-blue-32g + variationValues: + color: Blue + memorySize: 32 GB + VariationsIdRequestBody: + value: + orderable: true + price: 500 + productId: apple-ipod-classic-blue-32g + variationValues: + color: Blue + memorySize: 32 GB + ProductOptionsResult: + value: + limit: 1 + data: + - id: digitalCameraWarranty + values: + - id: '001' + optionPrices: + - currencyMnemonic: USD + value: 9.99 + value: + default: 1 Year Warranty + - id: '003' + optionPrices: + - currencyMnemonic: USD + value: 29.99 + value: + default: 5 Year Warranty + - id: '000' + optionPrices: + - currencyMnemonic: USD + value: 39.99 + value: + default: None + - id: '002' + optionPrices: + - currencyMnemonic: USD + value: 49.99 + value: + default: 3 Year Warranty + offset: 0 + total: 1 + ProductOptionsIdResult: + value: + customName: + default: My Option + description: + default: Description for my option. + id: my-option + image: + absUrl: https://example.com/on/demandware.static/-/Sites-XMaster/default/aaaaaaaabbbbbbbbbabababba/option.jpg + disBaseUrl: https://example.com/dw/image/v2/zzzz_s01/on/demandware.static/-/Sites-XMaster/default/aaaaaaaabbbbbbbbbabababba/option.jpg + path: option.jpg + name: option + shared: false + sortingMode: byoptionprice + ProductOptionsIdRequestBody: + value: + id: my-option + customName: + default: My Option + description: + default: Description for my option. + image: + path: option.jpg + ProductOptionsValuesResult: + value: + defaultProductOptionValue: false + id: value1 + optionPrices: + - currencyMnemonic: USD + value: 100 + skuExtension: s10 + value: + default: value 1 + en-US: value 1(en-US) + en: value 1(en) + ProductOptionsValuesRequestBody: + value: + id: my-option + value: + default: value 1 + en: value 1(en) + en-US: value 1(en-US) + optionPrices: + - currencyMnemonic: USD + value: 100 + skuExtension: s10 + VariationAttributeValuesIdResult: + value: + description: + default: desc of 8 (default) + en-US: desc of 8 (en-US) + en: desc of 8 (en) + position: 1 + value: '8' + VariationAttributeValuesIdRequestBody: + value: + value: '8' + description: + default: desc of 8 (default) + en: desc of 8 (en) + en-US: desc of 8 (en-US) + VariationAttributesResult: + value: + limit: 3 + data: + - attributeDefinitionId: color + attributeDefinitionName: + default: Color + id: color + name: + default: Color + shared: true + slicing: false + values: + - name: + default: Silver + position: 1 + value: Silver + - name: + default: Black + position: 2 + value: Black + - name: + default: Purple + position: 3 + value: Purple + - name: + default: Blue + position: 4 + value: Blue + - name: + default: Green + position: 5 + value: Green + - name: + default: Yellow + position: 6 + value: Yellow + - name: + default: Orange + position: 7 + value: Orange + - name: + default: Red + position: 8 + value: Red + - name: + default: Fuscia + position: 9 + value: Fuscia + variationAttributeType: string + - attributeDefinitionId: memorySize + attributeDefinitionName: + default: Memory Size + id: memorySize + name: + default: Memory Size + shared: true + slicing: false + values: + - name: + default: 1 GB + position: 1 + value: 1 GB + - name: + default: 2 GB + position: 2 + value: 2 GB + - name: + default: 8 GB + position: 3 + value: 8 GB + - name: + default: 16 GB + position: 4 + value: 16 GB + - name: + default: 32 GB + position: 5 + value: 32 GB + - name: + default: 120 GB + position: 6 + value: 120 GB + variationAttributeType: string + - attributeDefinitionId: size + attributeDefinitionName: + default: Size + id: screenSize + name: + default: Size + shared: false + slicing: false + values: + - description: + default: desc of 8 (default) + en-US: desc of 8 (en-US) + en: desc of 8 (en) + position: 1 + value: '8' + variationAttributeType: string + offset: 0 + total: 3 + VariationAttributeResult: + value: + attributeDefinitionId: size + attributeDefinitionName: + default: Size + id: screenSize + name: + default: Size + shared: false + slicing: false + variationAttributeType: string + VariationAttributeRequestBody: + value: + attributeDefinitionId: size + attributeDefinitionName: + default: Screen Size + CategorizationAttributeDefinitionResult: + value: + limit: 1 + data: + - id: ProductType + attributeName: Categorization Product Type + allowedOperators: + - equals + - not_equals + allowedValues: + - Item + - Master + - BundledProduct + - ProductSet + - SetProduct + - VariationGroup + - VariationProduct + allowedDisplayValues: + - Item + - Master + - BundledProduct + - ProductSet + - SetProduct + - VariationGroup + - VariationProduct + attributeType: categorization + valueType: enum-of-string + - id: CategoryId + attributeName: Categorization Category Id + allowedOperators: + - equals + attributeType: categorization + valueType: string + - id: OwningCatalogId + attributeName: Categorization Owning Catalog Id + allowedOperators: + - equals + attributeType: categorization + valueType: string + - id: brand + attributeName: Brand + allowedOperators: + - equals + - not_equals + - contains + - starts_with + - is_defined + - is_not_defined + - is_one_of + - not_one_of + attributeType: system + valueType: string + - id: RelevanceAttribute1 + attributeName: RelevanceAttribute1 + allowedOperators: + - equals + - not_equals + - contains + - starts_with + - is_defined + - is_not_defined + - is_one_of + - not_one_of + attributeType: custom + valueType: string + total: 5 + ProductSearchRequestBody: + value: + query: + textQuery: + fields: + - id + searchPhrase: apple-ipod-classic + ProductSearchResult: + value: + limit: 2 + hits: + - brand: Apple + creationDate: '2019-02-21T22:10:02.000Z' + id: apple-ipod-classic + lastModified: '2019-09-17T19:13:39.000Z' + longDescription: + default: + markup: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + source: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + name: + default: Apple iPod Classic + onlineFlag: + default: true + owningCatalogId: electronics-catalog + owningCatalogName: + default: Electronics Master Catalog + pageDescription: + default: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + pageKeywords: + default: Apple, iPod, iPod Classic, MP3, Music Player + pageTitle: + default: Apple iPod Nano + searchable: + default: true + shortDescription: + default: + markup: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + source: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + type: + master: true + - brand: Apple + creationDate: '2019-09-04T16:07:43.000Z' + id: apple-ipod-classic-1 + lastModified: '2019-09-04T16:19:03.000Z' + longDescription: + default: + markup: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + source: Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats + name: + default: Apple iPod Classic + onlineFlag: + default: false + owningCatalogId: electronics-catalog + owningCatalogName: + default: Electronics Master Catalog + pageDescription: + default: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + pageKeywords: + default: Apple, iPod, iPod Classic, MP3, Music Player + pageTitle: + default: Apple iPod Nano + searchable: + default: false + shortDescription: + default: + markup: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + source: This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go. + type: + variationGroup: true + master: false + query: + textQuery: + fields: + - id + searchPhrase: apple-ipod-classic + offset: 0 + total: 2 diff --git a/apis/products-oas/shopper-products-oas-1.0.36/.metadata.json b/apis/products-oas/shopper-products-oas-1.0.36/.metadata.json new file mode 100644 index 00000000..365c94c3 --- /dev/null +++ b/apis/products-oas/shopper-products-oas-1.0.36/.metadata.json @@ -0,0 +1,17 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-products-oas/1.0.36", + "name": "Shopper Products OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-products-oas", + "version": "1.0.36", + "categories": { + "SDK Type": [ + "Isomorphic", + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/products-oas/shopper-products-oas-1.0.36/exchange.json b/apis/products-oas/shopper-products-oas-1.0.36/exchange.json new file mode 100644 index 00000000..56c22502 --- /dev/null +++ b/apis/products-oas/shopper-products-oas-1.0.36/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-products-oas-v1-public.yaml", + "name": "Shopper Products OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-products-oas", + "version": "1.0.36", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/products-oas/shopper-products-oas-1.0.36/shopper-products-oas-v1-internal.yaml b/apis/products-oas/shopper-products-oas-1.0.36/shopper-products-oas-v1-internal.yaml new file mode 100644 index 00000000..d9ef9751 --- /dev/null +++ b/apis/products-oas/shopper-products-oas-1.0.36/shopper-products-oas-v1-internal.yaml @@ -0,0 +1,1742 @@ +openapi: 3.0.3 +info: + title: Shopper Products + version: v1 + description: |- + # API Overview + + The Shopper Products API enables you to access product details for products that are online, merchandised to a particular site catalog, and ready to be sold. You can use these product details to merchandise the product on other ecommerce channels. To set up category navigation paths on other commerce apps or storefronts, you can use the Categories API. + + Caching is provided for the Shopper Products API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) + + ## Authentication & Authorization + + The client requesting the product information must have access to the Products resource. The Shopper Products API requires a shopper access token from the Shopper Login and API Access Service (SLAS). + + For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. + + ## Use Cases + + ### Populate Product Listing Pages + + Use the Shopper Product API so that a customer, browsing on a commerce shopping app built using Commerce Cloud APIs, can see a list of products. For example, hydrate a list of products (max 24). The API returns product details including images, prices, promotions, and product availability. + + ![b2c-commerce-shopper-products-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-products-screenshot-1.png) + + ### Get Variation Product Details on an Ecommerce Channel + + Use the API so that a customer, browsing on a commerce shopping app built using Commerce Cloud APIs, can switch between different variation products. The API returns product details including images, prices, promotions, and available to sell inventory. + + ![b2c-commerce-shopper-products-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-products-screenshot-2.png) + + ### Retrieve Promotion Information + + Promotions provide discounts to shoppers when they meet certain purchase requirements. + + Promotion information is described in detail in [Promotion Details](https://developer.salesforce.com/docs/commerce/commerce-api/guide/promotion-details.html), but the following list provides several key points: + + - Pricing discounts for basket and shipping promotions are NEVER returned by the 'getProduct' or 'getProducts' endpoint. + - Promotional pricing is ONLY returned for products that are included with non-conditional promotions. + - Callout messages are ALWAYS returned by the 'getProduct' and 'getProducts' endpoints. + + By default, 'getProduct' and 'getProducts' return promotion information for a queried product. Promotion information includes both pricing and callout message information. However, the specific pricing and callout information that is fetched is determined by: + + - Promotion Type + - Product Type + - Product Purchase Requirements + + Some promotions can be displayed on a Product Data Page (PDP) or Product Listing page (PLP), while other promotions are displayed in the context of a basket, such as an order level promotion: "add the product to your basket to view price information". It is important to understand what is included in the response when designing a PDP or PLP on top of SCAPI to ensure your design aligns with implementable features. + + #### Shopper Personalization + + The SCAPI response can be personalized using the Shopper Context API or hooks. By setting specific values in the Shopper Context API, you can modify the response of the 'getProduct' or 'getProducts' endpoint based on the shopper's context. For instance, you can offer a 5% discount or free shipping to shoppers using mobile devices. + + #### JWA Caching + + The response is cached in JWA, which means promotion data contained in the response is also cached based on the TTL (Time to Live) specified in the Business Manager [Feature Switches](https://help.salesforce.com/s/articleView?id=cc.b2c_feature_switches.htm&type=5) configuration. + When the shopper context value is updated, a check is conducted to see if the updated shopper context affects the retrieval of product-promotion data. If it does, then the response is fetched from the source and cached in the JWA. + + For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) + + ### Use Hooks + + For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) + + ### Test Description Changes + + uoweefhewihpfhweipfiphwefhipwehfiewpifhewifiphehipeipwhfhipewfhiihpefipew + + ## Resources + + ### Product + + A full representation of a product or service that is to merchandise. A ready to merchandise product is one that is online, categorized, and published to a channel. The information associated with a product includes, the product name, description, custom and system attributes, variations, price, availability, and images. + + ### Category + + Categories and subcategories are the structure by which products are organized and grouped in a catalog and on a storefront. Categories can have relationships to other categories. Further, each category can provide context that is inherited by subcategories. For example, a category can have an assigned attribute. A product assigned to that category or any subcategory inherits the categories’s attribute value. Once the product is removed from the category, the attribute value is no longer inherited by the product. You can also use category linking for site hierarchical navigation. For example, inside the Clothing category you may have Men’s, and inside the Men’s category you may have Pants. + + Categories are not tags. + + ## Endpoints + + ### GET /products + + Returns product details for up to 24 products in one API request. You can use this API for use cases that require populating or hydrating multiple products at a time, such as populating the Product Listing Pages. + + The response data includes availability, promotions, images, and prices, along with the basic product information for the products requested. + + ### GET /products/{id} + + Returns product details about a single product. Use this API for use cases that require populating or hydrating one product at a time, such as the Product Detail Pages. + + The response data includes availability, promotions, options, images, prices, variations, bundled_products, set_products, recommendations, and the basic product information for the product requested. + + ### GET /categories + + Returns category details including the parent child relationships for one or more categories. The limit on depth for the parent-child relationship is 2. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/product/shopper-products/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/products: + parameters: + - $ref: '#/components/parameters/organizationId' + get: + description: Allows access to multiple product details with a single request. Only products that are online and assigned to a site catalog are returned. The maximum number of product IDs that you can request is 24. In addition to product details, the availability, product options, images, price, promotions, and variations for the valid products are included, as applicable. + operationId: getProducts + summary: Returns product details for multiple products. + security: + - ShopperToken: + - sfcc.shopper-products + parameters: + - $ref: '#/components/parameters/ids' + - $ref: '#/components/parameters/inventoryIds' + - $ref: '#/components/parameters/expand_multiId' + - $ref: '#/components/parameters/allImages' + - $ref: '#/components/parameters/perPricebook' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/select' + - $ref: '#/components/parameters/locale' + - $ref: '#/components/parameters/currency' + responses: + '200': + description: Success. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductResult' + '400': + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GetProductsBadRequestResponseExample: + $ref: '#/components/examples/GetProductsBadRequestResponseExample' + MalformedSelectorResponseExample: + $ref: '#/components/examples/MalformedSelectorResponseExample' + '401': + $ref: '#/components/responses/401unauthorized' + /organizations/{organizationId}/products/{id}: + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/id' + get: + description: Allows access to product details for a single product ID. Only products that are online and assigned to a site catalog are returned. In addition to product details, the availability, images, price, bundled_products, set_products, recommedations, product options, variations, and promotions for the products are included, as applicable. + operationId: getProduct + summary: Returns product details for a single product. + security: + - ShopperToken: + - sfcc.shopper-products + parameters: + - $ref: '#/components/parameters/inventoryIds' + - $ref: '#/components/parameters/expand_singleId' + - $ref: '#/components/parameters/allImages' + - $ref: '#/components/parameters/perPricebook' + - $ref: '#/components/parameters/select' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/locale' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success. + content: + application/json: + schema: + $ref: '#/components/schemas/Product' + examples: + GetProductResponseExample: + $ref: '#/components/examples/GetProductResponseExample' + '400': + description: Bad Request. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + MalformedSelectorResponseExample: + $ref: '#/components/examples/MalformedSelectorResponseExample' + '401': + $ref: '#/components/responses/401unauthorized' + '404': + description: Product Not Found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GetProductNotFoundResponseExample: + $ref: '#/components/examples/GetProductNotFoundResponseExample' + /organizations/{organizationId}/categories: + parameters: + - $ref: '#/components/parameters/organizationId' + get: + description: When you use the URL template, the server returns multiple categories (a result object of category documents). You can use this template to obtain up to 50 categories in a single request. You must enclose the list of IDs in parentheses. If a category identifier contains parenthesis or the separator sign, you must URL encode the character. + operationId: getCategories + summary: Returns category and subcategory details for one or more categories. + security: + - ShopperToken: + - sfcc.shopper-categories + parameters: + - $ref: '#/components/parameters/parameters-ids' + - $ref: '#/components/parameters/levels' + - $ref: '#/components/parameters/locale' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success. + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryResult' + examples: + GetCategoriesResponseExample: + $ref: '#/components/examples/GetCategoriesResponseExample' + '400': + description: Bad Request. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GetCategoriesBadRequestResponseExample: + $ref: '#/components/examples/GetCategoriesBadRequestResponseExample' + '401': + $ref: '#/components/responses/401unauthorized' + /organizations/{organizationId}/categories/{id}: + parameters: + - $ref: '#/components/parameters/parameters-id' + - $ref: '#/components/parameters/organizationId' + get: + description: "When you use the URL template, the server returns a category identified by the ID. By default, the server\nalso returns the first level of subcategories, but you can specify an additional level using the levels\nparameter.\n\nThis endpoint fetches both online and offline categories. For offline categories, only the top-level \ncategory is returned, not offline subcategories.\n\nUsing a large value for levels can cause performance issues when there is a large and deep category tree." + operationId: getCategory + summary: Returns category and subcategory details for a single category. + security: + - ShopperToken: + - sfcc.shopper-categories + parameters: + - $ref: '#/components/parameters/levels' + - $ref: '#/components/parameters/locale' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success. + content: + application/json: + schema: + $ref: '#/components/schemas/Category' + examples: + GetCategoryResponseExample: + $ref: '#/components/examples/GetCategoryResponseExample' + '400': + description: Bad Request. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GetCategoryBadRequestResponseExample: + $ref: '#/components/examples/GetCategoryBadRequestResponseExample' + '401': + $ref: '#/components/responses/401unauthorized' + '404': + description: No online or offline category was found with the specified ID. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GetCategoryNotFoundResponseExample: + $ref: '#/components/examples/GetCategoryNotFoundResponseExample' +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-products: scope granting read-access to product endpoints + sfcc.shopper-categories: scope granting read-access to category endpoints + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-products: scope granting read-access to product endpoints + sfcc.shopper-categories: scope granting read-access to category endpoints + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + InventoryId: + description: The inventory ID. + type: string + minLength: 1 + maxLength: 256 + example: Site1InventoryList + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + Select: + minLength: 1 + description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. + example: (name,id,variationAttributes.(**)) + type: string + pattern: ^[(].*[)]$ + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + Product: + description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. A product has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. + properties: + brand: + description: The product's brand. + example: Apple + type: string + bundledProducts: + description: The array of all bundled products of this product. + type: array + items: + $ref: '#/components/schemas/BundledProduct' + currency: + $ref: '#/components/schemas/CurrencyCode' + ean: + description: The European Article Number of the product. + example: 8essdf9w3 + type: string + fetchDate: + format: int32 + example: 5 + type: integer + id: + $ref: '#/components/schemas/ProductId' + imageGroups: + description: The array of product image groups. + type: array + items: + $ref: '#/components/schemas/ImageGroup' + inventories: + description: |- + The array of product inventories explicitly requested via the 'inventory_ids' query parameter. This property + is only returned in context of the 'availability' expansion. + type: array + items: + $ref: '#/components/schemas/Inventory' + inventory: + description: |- + The site default inventory information. This property is only + returned in context of the 'availability' expansion. + allOf: + - $ref: '#/components/schemas/Inventory' + longDescription: + description: The localized product's long description. + example: Awesome long description of product + type: string + manufacturerName: + description: The product's manufacturer name. + example: Apple + type: string + manufacturerSku: + description: The product's manufacturer SKU. + example: 2ND8834 + type: string + master: + description: 'The master product information, only for types: master, variation group, and variant.' + allOf: + - $ref: '#/components/schemas/Master' + minOrderQuantity: + format: double + description: The minimum order quantity for this product. + example: 2 + type: number + name: + description: The localized product name. + example: Apple IPod Classic + type: string + options: + description: The array of product options, only for type option. This array can be empty. + type: array + items: + $ref: '#/components/schemas/Option' + pageDescription: + description: The localized product's page description. + example: Really good Product + type: string + pageKeywords: + description: The localized product's page description. + example: Ipod, Music Player + type: string + pageTitle: + description: The localized product's page title. + example: Apple IPod Classic + type: string + pageMetaTags: + description: Page Meta tags associated with the given product. + type: array + items: + $ref: '#/components/schemas/PageMetaTag' + price: + format: double + description: |- + The sales price of the product. In case of complex products, like master or set, this is the minimum price of + related child products. + example: 59.99 + type: number + pricePerUnit: + format: double + description: The price per unit if defined for the product + example: 19.99 + type: number + pricePerUnitMax: + format: double + description: The max price per unit typically for a master product's variant. + example: 29.99 + type: number + priceMax: + format: double + description: The maximum sales of related child products in complex products like master or set. + example: 69.99 + type: number + priceRanges: + description: Array of one or more price range objects representing one or more Pricebooks in context for the site. + type: array + items: + $ref: '#/components/schemas/PriceRange' + prices: + description: The prices map with pricebook IDs and their values. + type: object + additionalProperties: + format: double + type: number + primaryCategoryId: + description: The ID of the products primary category. + example: electronics + type: string + productLinks: + description: The array of source and target product links information. + type: array + items: + $ref: '#/components/schemas/ProductLink' + productPromotions: + description: |- + An array of active customer product promotions for this product, sorted by promotion priority + using SORT_BY_EXCLUSIVITY ordering (exclusivity → rank → promotion class → discount type → + best discount → ID). This array can be empty. Coupon promotions are not returned in this array. + See [PromotionPlan.SORT_BY_EXCLUSIVITY](https://salesforcecommercecloud.github.io/b2c-dev-doc/docs/current/scriptapi/html/index.html?target=class_dw_campaign_PromotionPlan.html) for more details. + type: array + items: + $ref: '#/components/schemas/ProductPromotion' + recommendations: + description: Returns a list of recommendations. + type: array + items: + $ref: '#/components/schemas/Recommendation' + setProducts: + description: The array of set products of this product. + type: array + items: + $ref: '#/components/schemas/Product' + shortDescription: + description: The localized product short description. + example: Awesome Product + type: string + slugUrl: + description: The complete link to this product's storefront page. + example: https://www.example.com/on/store/Sites-MySite/default/Product-Show?pid=MyProduct + type: string + stepQuantity: + format: double + description: |- + The steps in which the order amount of the product can be + increased. + example: 2 + type: number + tieredPrices: + description: The document represents list of tiered prices if the product is a variant + type: array + items: + $ref: '#/components/schemas/ProductPriceTable' + type: + description: 'The product type information. Can be one or more of the following values: item, master, variation_group, variant, bundle, and set.' + allOf: + - $ref: '#/components/schemas/ProductType' + unit: + description: The sales unit of the product. + example: lbs + type: string + upc: + description: The Universal Product Code (UPC). + example: JSDU876 + type: string + validFrom: + description: The time a product is valid from. + example: '9999-12-31T00:00:00.0Z' + type: string + format: date-time + validTo: + description: The time a product is valid to. + example: '9999-12-31T23:59:59.0Z' + type: string + format: date-time + variants: + description: The array of actual variants. Only for master, variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/Variant' + variationAttributes: + description: |- + Sorted array of variation attributes information. Only for master, + variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationAttribute' + variationGroups: + description: The array of actual variation groups. Only for master, variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationGroup' + variationValues: + description: |- + The actual variation attribute ID - value pairs. Only for variant and + variation group types. + type: object + additionalProperties: + type: string + required: + - id + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + BundledProduct: + description: A bundle of products that can be bought together (all or nothing). Each product in the bundle can itself be bought independently, but this is outside of the context of the bundle. A bundle is a purchasing convenience. *Product bundle has a SKU and price.* + properties: + id: + example: '823476' + type: string + product: + description: The product being bundled. + allOf: + - $ref: '#/components/schemas/Product' + quantity: + format: double + description: For the product being bundled, the quantity added to the bundle. + example: 5 + type: number + required: + - id + - product + - quantity + type: object + Image: + description: Product image + properties: + alt: + description: The localized alternative text of the image. + example: Apple iPod Shuffle, large + type: string + disBaseLink: + description: Base URL for the Dynamic Image Service (DIS) address. This is only shown if the image is stored on the server and DIS is enabled. + example: https://example.com/images/large/ipod-shuffle-silver.jpg + type: string + link: + minLength: 1 + description: The URL of the actual image. + example: https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dwc2/images/large/ipod-shuffle.jpg + type: string + title: + description: The localized title of the image. + example: Apple iPod Shuffle + type: string + required: + - link + type: object + VariationAttributeValue: + description: Document representing a variation attribute value. + properties: + description: + description: The localized description of the variation value. + example: Color of the product + type: string + image: + description: The first product image for the configured viewtype and this variation value. + allOf: + - $ref: '#/components/schemas/Image' + imageSwatch: + description: The first product image for the configured viewtype and this variation value (typically the swatch image). + allOf: + - $ref: '#/components/schemas/Image' + name: + description: The localized display name of the variation value. + example: Red + type: string + orderable: + description: A flag indicating whether at least one variant with this variation attribute value is available to sell. + example: true + type: boolean + value: + minLength: 1 + description: The actual variation value. + example: red + type: string + required: + - value + type: object + VariationAttribute: + description: Document representing a variation attribute. + properties: + id: + minLength: 1 + description: The ID of the variation attribute. + example: color + type: string + name: + description: The localized display name of the variation attribute. + example: Color + type: string + values: + description: The sorted array of variation values. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationAttributeValue' + required: + - id + type: object + ImageGroup: + description: Document representing an image group containing a list of images for a particular view type and an optional variation value. + properties: + images: + description: The images of the image group. + type: array + items: + $ref: '#/components/schemas/Image' + variationAttributes: + description: Returns a list of variation attributes applying to this image group. + type: array + items: + $ref: '#/components/schemas/VariationAttribute' + viewType: + description: The image view type. + example: hi-res + type: string + required: + - images + - viewType + type: object + Inventory: + description: Document representing inventory information of the current product for a particular inventory list. + properties: + ats: + format: double + description: |- + The Available To Sell (ATS) of the product. If it is infinity, the return value is 999999. The value can be overwritten by the + OCAPI setting 'product.inventory.ats.max_threshold'. + example: 15 + type: number + backorderable: + description: A flag indicating whether the product is backorderable. + example: true + type: boolean + id: + $ref: '#/components/schemas/InventoryId' + inStockDate: + description: A flag indicating the date when the product will be in stock. + example: '9999-12-31T00:00:00.0Z' + type: string + format: date-time + orderable: + description: A flag indicating whether at least one of the products is available to sell. + example: true + type: boolean + preorderable: + description: A flag indicating whether the product is preorderable. + example: false + type: boolean + stockLevel: + format: double + description: |- + The stock level of the product. If it is infinity, the return value is 999999. The value can be overwritten by the + OCAPI setting 'product.inventory.stock_level.max_threshold'. + example: 10 + type: number + required: + - id + type: object + Price: + type: number + description: Document representing a price for a product + format: double + example: 12.99 + Master: + description: The master product is a representation of a group of variant products. This is a non-buyable entity, provides inheritable attributes for its product variants, and is used for navigation. *Doesn't have a SKU.* + properties: + masterId: + description: The ID (SKU) of the master product. + allOf: + - $ref: '#/components/schemas/ProductId' + orderable: + description: A flag indicating whether at least one of the variants can be ordered. + example: true + type: boolean + price: + description: The minimum sales price of the related variants. + allOf: + - $ref: '#/components/schemas/Price' + priceMax: + description: The maximum sales price of the related variants. + allOf: + - $ref: '#/components/schemas/Price' + prices: + description: List of sale prices. + type: object + additionalProperties: + format: double + type: number + required: + - masterId + type: object + OptionValue: + description: Document representing an option value. + properties: + default: + description: A flag indicating whether this option value is the default one. + example: true + type: boolean + id: + description: The ID of the option value. + example: 5YR + allOf: + - $ref: '#/components/schemas/ProductId' + name: + description: The localized name of the option value. + example: 5 Year Warranty + type: string + price: + description: The effective price of the option value. + allOf: + - $ref: '#/components/schemas/Price' + required: + - id + type: object + Option: + description: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can't be purchased separately. *Product Option has a SKU and a price associated with it.* + properties: + description: + description: The localized description of the option. + example: Get this Option + type: string + id: + description: The ID of the option. + example: Warranty + allOf: + - $ref: '#/components/schemas/ProductId' + image: + description: The URL to the option image. + example: https://www.exampleimage.com/images/optionImage.jpg + type: string + name: + description: The localized name of the option. + example: Warranty + type: string + values: + description: The array of option values. This array can be empty. + type: array + items: + $ref: '#/components/schemas/OptionValue' + required: + - id + type: object + PageMetaTag: + description: Document representing a Page Meta Tag object. + properties: + id: + description: The ID of the Page Meta Tag. + type: string + example: title + value: + description: Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID. + type: string + example: Buy the Long Sleeve Covered Placket Blouse for USD 61.99. + PriceRange: + description: Document representing price ranges for a product which happens to be a master product (per Pricebook) + properties: + maxPrice: + description: Maximum price for the given pricebook (usually for a master Product would be the price for the Variant which has the highest price out of all Variants in that pricebook) + allOf: + - $ref: '#/components/schemas/Price' + minPrice: + description: Minimum price for the given pricebook (usually for a master Product would be the price for the Variant which has the least price out of all Variants in that pricebook) + allOf: + - $ref: '#/components/schemas/Price' + pricebook: + description: The active pricebook from which the min and the max prices are calculated. The pricebook is based on the site context of the request as defined in ECOM. + example: usd-list-pricebook + type: string + type: object + ProductLink: + description: |- + Document representing a link between two products. It contains the ID of the source and target products, the type of + product link, and the URLs to retrieve product data. + properties: + sourceProductId: + description: The semantic ID of the product this product link is coming from. + example: '824756924' + allOf: + - $ref: '#/components/schemas/ProductId' + sourceProductLink: + description: The URL addressing the product this product link is coming from. + example: Link + type: string + targetProductId: + description: The semantic ID of the product this product link is pointing to. + example: 2TR93459 + allOf: + - $ref: '#/components/schemas/ProductId' + targetProductLink: + description: The URL addressing the product this product link is pointing to. + example: Link + type: string + type: + description: The type of product link. + example: up_sell + enum: + - cross_sell + - replacement + - up_sell + - accessory + - newer_version + - alt_orderunit + - spare_part + - other + type: string + required: + - sourceProductId + - sourceProductLink + - targetProductId + - targetProductLink + - type + type: object + ProductPromotion: + description: Document representing a product promotion. + properties: + calloutMsg: + description: The localized call-out message of the promotion. + example: Fantastic promotion + type: string + promotionId: + description: The unique ID of the promotion. + example: summerSale + type: string + promotionalPrice: + description: The promotional price for this product. + allOf: + - $ref: '#/components/schemas/Price' + required: + - calloutMsg + - promotionId + - promotionalPrice + type: object + RecommendationType: + description: Document representing a recommendation type. + properties: + displayValue: + description: The localized display value of the recommendation type. + example: UpSell + type: string + value: + format: int32 + description: The value of the recommendation type. + example: 2 + type: integer + required: + - displayValue + - value + type: object + Recommendation: + description: Document representing a product recommendation. + properties: + calloutMsg: + description: The localized callout message of the recommendation. + example: Absolutely recommended + type: string + image: + $ref: '#/components/schemas/Image' + longDescription: + description: The localized long description of the recommendation. + example: Really good detailed product description + type: string + name: + description: The localized name of the recommendation. + example: Apple Ipod Shuffle + type: string + recommendationType: + $ref: '#/components/schemas/RecommendationType' + recommendedItemId: + description: The recommended item ID of the recommendation. + example: apple-ipod-shuffle + type: string + shortDescription: + description: The localized short description of the recommendation. + example: Product description + type: string + required: + - recommendationType + type: object + ProductPriceTable: + description: Tiered Price Level Object + properties: + price: + description: Price for the product for the specified tier for the specified pricebook + allOf: + - $ref: '#/components/schemas/Price' + pricebook: + description: The active pricebook for which this price is defined + example: usd-list-pricebook + type: string + quantity: + format: double + description: Quantity tier for which the price is defined. + example: 1 + type: number + type: object + ProductType: + description: Document representing a product type. + properties: + bundle: + description: A flag indicating whether the product is a bundle. + example: true + type: boolean + item: + description: A flag indicating whether the product is a standard item. + example: false + type: boolean + master: + description: A flag indicating whether the product is a master. + example: true + type: boolean + option: + description: A flag indicating whether the product is an option. + example: false + type: boolean + set: + description: A flag indicating whether the product is a set. + example: true + type: boolean + variant: + description: A flag indicating whether the product is a variant. + example: false + type: boolean + variationGroup: + description: A flag indicating whether the product is a variation group. + example: false + type: boolean + type: object + Variant: + description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU.* + properties: + orderable: + description: A flag indicating whether the variant is orderable. + example: true + type: boolean + price: + description: The sales price of the variant. + allOf: + - $ref: '#/components/schemas/Price' + productId: + description: The ID (SKU) of the variant. + example: 8W4756834 + allOf: + - $ref: '#/components/schemas/ProductId' + tieredPrices: + description: List of tiered prices if the product is a variant + type: array + items: + $ref: '#/components/schemas/ProductPriceTable' + variationValues: + description: The actual variation attribute ID - value pairs. + type: object + additionalProperties: + type: string + required: + - productId + type: object + VariationGroup: + description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for its product variants, and is used for navigation. *Doesn't have a SKU.* + properties: + orderable: + description: A flag indicating whether the variation group is orderable. + example: false + type: boolean + price: + description: The sales price of the variation group. + allOf: + - $ref: '#/components/schemas/Price' + productId: + description: The ID (SKU) of the variation group. + example: 49345VG + allOf: + - $ref: '#/components/schemas/ProductId' + variationValues: + description: The actual variation attribute ID - value pairs. + type: object + additionalProperties: + type: string + required: + - orderable + - price + - productId + - variationValues + type: object + ProductResult: + description: Result document containing an array of products. + properties: + limit: + format: int32 + description: The number of returned documents. + example: 12 + type: integer + data: + description: The array of product documents. + type: array + items: + $ref: '#/components/schemas/Product' + total: + format: int32 + description: The total number of documents. + example: 12 + type: integer + required: + - limit + - data + - total + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + CategoryId: + maxLength: 256 + minLength: 1 + type: string + description: The ID of the category. + example: mens + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + Category: + description: Categories allow products to be organized into hierarchical structures. Categories can have relationships to other parent categories. Each category can also provide a context inherited by subcategories. For example, a category may have an attribute value assigned to it, and any product assigned to the category or a subcategory would inherit the attribute value as long as the product is assigned. Once the product is removed from the category those attribute values would no longer be in the context of the product. Linking of categories is also used for Site hierarchical navigation. For example, inside 'Clothing' you may have 'Mens', and inside 'Mens' you may have 'Pants'. Categories are not *Tags.* + properties: + categories: + description: Array of subcategories. Can be empty. + type: array + items: + $ref: '#/components/schemas/Category' + description: + description: The localized description of the category. + example: Category description for Men's Category + type: string + id: + $ref: '#/components/schemas/CategoryId' + image: + description: The URL of the category image. + type: string + example: https://example.com/images/large/mens-category.jpg + name: + description: The localized name of the category. + example: Mens + type: string + onlineSubCategoriesCount: + format: int64 + description: The total number of online sub-categories. This information will be available from B2C Commerce version 24.5. + type: integer + example: 20 + pageDescription: + description: The localized page description of the category. + example: This category ahs all men's clothing + type: string + pageKeywords: + description: The localized page keywords of the category. + example: Mens, shirts + type: string + pageTitle: + description: The localized page title of the category. + example: Men's Category + type: string + parentCategoryId: + description: The ID of the parent category. + example: apparel + type: string + parentCategoryTree: + description: The List of the parent categories. + type: array + items: + $ref: '#/components/schemas/PathRecord' + thumbnail: + description: The URL of the category thumbnail. + example: https://www.exampleimage.com/images/categoryImage.jpg + type: string + required: + - id + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + PathRecord: + description: Document representing most basic info (id and name) of a category or catalog. + properties: + id: + description: The id of the category path. + example: mens + type: string + name: + description: The name of the category path. + example: mens + type: string + type: object + CategoryResult: + description: Result document containing an array of categories. + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + data: + description: The array of category documents. + type: array + items: + $ref: '#/components/schemas/Category' + required: + - data + type: object + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + ids: + name: ids + description: The IDs of the requested products (comma-separated, max 24 IDs). + in: query + required: true + schema: + type: array + items: + allOf: + - $ref: '#/components/schemas/ProductId' + - maxItems: 100 + example: apple-ipod-shuffle,apple-ipod-nano + inventoryIds: + description: The optional inventory list IDs, for which the availability should be shown (comma-separated, max 5 inventoryListIDs). + name: inventoryIds + in: query + schema: + type: array + items: + allOf: + - $ref: '#/components/schemas/InventoryId' + - maxItems: 5 + example: Site1InventoryList,Site2InventoryList,Site3InventoryList,Site4InventoryList,Site5InventoryList + expand_multiId: + name: expand + description: "All expand parameters except page_meta_tags are used for the request when no expand parameter is provided. \nThe value \"none\" may be used to turn off all expand options. \nThe page_meta_tags expand value is optional and available starting from B2C Commerce version 25.2." + in: query + schema: + type: array + example: + - prices + - promotions + items: + enum: + - none + - availability + - links + - promotions + - options + - images + - prices + - variations + - recommendations + - page_meta_tags + example: promotions + allImages: + name: allImages + description: The flag that indicates whether to retrieve the whole image model for the requested product. + in: query + schema: + type: boolean + example: true + perPricebook: + name: perPricebook + description: The flag that indicates whether to retrieve the per PriceBook prices and tiered prices (if available) for requested Products. Available end of June, 2021. + in: query + schema: + type: boolean + example: true + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + select: + description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. + name: select + in: query + examples: + select: + value: (**) + schema: + $ref: '#/components/schemas/Select' + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + currency: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + name: currency + in: query + examples: + CurrencyCode: + value: USD + schema: + $ref: '#/components/schemas/CurrencyCode' + id: + name: id + description: The ID of the requested product. + in: path + required: true + schema: + $ref: '#/components/schemas/ProductId' + expand_singleId: + name: expand + description: "All expand parameters except page_meta_tags are used for the request when no expand parameter is provided. \nThe value \"none\" may be used to turn off all expand options. \nThe page_meta_tags expand value is optional and available starting from B2C Commerce version 25.2." + in: query + schema: + type: array + example: + - prices + - promotions + items: + enum: + - none + - availability + - bundled_products + - links + - promotions + - options + - images + - prices + - variations + - set_products + - recommendations + - page_meta_tags + example: links + parameters-ids: + name: ids + description: The comma separated list of category IDs (max 50). + in: query + required: true + schema: + type: array + items: + allOf: + - $ref: '#/components/schemas/CategoryId' + - maxItems: 50 + example: electronics-digital-cameras,electronics-televisions + levels: + name: levels + description: Specifies how many levels of nested subcategories you want the server to return. The default value is 1. Valid values are 0, 1, or 2. Only online subcategories are returned. + in: query + schema: + type: integer + format: int32 + minimum: 0 + enum: + - 0 + - 1 + - 2 + example: 1 + parameters-id: + name: id + in: path + description: The ID of the requested category. + required: true + schema: + $ref: '#/components/schemas/CategoryId' + examples: + GetProductsBadRequestResponseExample: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/validation + detail: Maximum number of products you can request in one call is 25. + MalformedSelectorResponseExample: + value: + title: Malformed Selector + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-selector + detail: The property selector '(data.(name, imageGroups.(**))' is malformed. + selector: (data.(name, imageGroups.(**)) + UnauthorizedExample: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized + title: Unauthorized + detail: Your access token is invalid or expired and can’t be used to identify a user. + GetProductResponseExample: + value: + brand: Apple + currency: USD + id: apple-ipod-shuffle + imageGroups: + - images: + - alt: Apple iPod Shuffle, , large + link: https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dwc2cc65b0/images/large/ipod-shuffle-silver.jpg + title: 'Apple iPod Shuffle, ' + viewType: large + - images: + - alt: Apple iPod Shuffle, , medium + link: https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dw5f36aab1/images/medium/ipod-shuffle-silver.jpg + title: 'Apple iPod Shuffle, ' + viewType: medium + - images: + - alt: Apple iPod Shuffle, , small + link: https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dw2b078e02/images/small/ipod-shuffle-silver.jpg + title: 'Apple iPod Shuffle, ' + viewType: small + inventory: + ats: 0 + backorderable: false + id: SiteGenesisList + orderable: true + preorderable: false + stockLevel: 999999 + longDescription: Supports AAC, protected AAC, MP3, MP3 VBR, Audible, WAV and AIFF for immediate playback of multiple formats. + master: + masterId: apple-ipod-shuffle + orderable: false + price: 45.99 + minOrderQuantity: 1 + name: Apple iPod Shuffle + pageDescription: With the same size circular control pad as the previous model on a much more compact case with a built-in clip, the updated shuffle is ready to rock and easily tags along when you're on the go. + pageKeywords: Apple, iPod, Shuffle, MP3, Music Player + pageMetaTags: + - id: description + value: The updated Shuffle features the same-sized circular control pad in a more compact, clip-on case, making it perfect for on-the-go use. + - id: robots + value: index, follow + - id: title + value: Buy the Apple iPod Shuffle for USD 45.99-69.00. + pageTitle: Apple iPod Shuffle + price: 45.99 + priceMax: 69 + primaryCategoryId: electronics-digital-media-players + shortDescription: With the same size circular control pad as the previous model on a much more compact case with a built-in clip, the updated shuffle is ready to rock and easily tags along when you're on the go. + stepQuantity: 1 + type: + master: true + variants: + - orderable: true + price: 45.99 + productId: apple-ipod-shuffle-silver-1g + variationValues: + color: Silver + memorySize: 1 GB + - orderable: true + price: 49 + productId: apple-ipod-shuffle-blue-1g + variationValues: + color: Blue + memorySize: 1 GB + - orderable: true + price: 49 + productId: apple-ipod-shuffle-green-1g + variationValues: + color: Green + memorySize: 1 GB + - orderable: true + price: 49 + productId: apple-ipod-shuffle-red-1g + variationValues: + color: Red + memorySize: 1 GB + - orderable: true + price: 49 + productId: apple-ipod-shuffle-fuscia-1g + variationValues: + color: Fuscia + memorySize: 1 GB + - orderable: true + price: 60 + productId: apple-ipod-shuffle-silver-2g + variationValues: + color: Silver + memorySize: 2 GB + - orderable: true + price: 69 + productId: apple-ipod-shuffle-green-2g + variationValues: + color: Green + memorySize: 2 GB + - orderable: true + price: 60 + productId: apple-ipod-shuffle-red-2g + variationValues: + color: Red + memorySize: 2 GB + - orderable: true + price: 69 + productId: apple-ipod-shuffle-fuscia-2g + variationValues: + color: Fuscia + memorySize: 2 GB + variationAttributes: + - id: color + name: Color + values: + - name: Silver + orderable: false + value: Silver + - name: Blue + orderable: false + value: Blue + - name: Green + orderable: false + value: Green + - name: Red + orderable: false + value: Red + - name: Fuscia + orderable: false + value: Fuscia + - id: memorySize + name: Memory Size + values: + - name: 1 GB + orderable: true + value: 1 GB + - name: 2 GB + orderable: true + value: 2 GB + GetProductNotFoundResponseExample: + value: + title: Product Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/product-not-found + detail: No product with ID 'pple-ipod-shuffle' for site 'SiteGenesis' could be found. + productId: pple-ipod-shuffle + siteId: SiteGenesis + GetCategoriesResponseExample: + value: + limit: 2 + data: + - id: electronics-digital-cameras + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw3535377d/images/slot/sub_banners/cat-banner-electronics-camera.jpg + name: Digital Cameras + onlineSubCategoriesCount: 0 + pageDescription: Shop the latest digital cameras from all the top brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: cameras, digital camerasm point and shoot, slr + pageTitle: Digital Cameras + parentCategoryId: electronics + parent_category_tree: + - id: electronics + name: electronics + - categories: + - id: electronics-televisions-flat-screen + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg + name: Flat Screen + pageDescription: Shop all Flat Screen Televisions including the latest in LCD and Plasma technology from all the latest brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: flat screen, flat screen television, LCD, plasma, HDTV + pageTitle: LCD & Plasma High Definition Flat Screen Televisions + parentCategoryId: electronics-televisions + parent_category_tree: + - id: electronics + name: electronics + - id: electronics-televisions-projection + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg + name: Projection + onlineSubCategoriesCount: 0 + pageDescription: Shop all Projection Televisions from all the latest brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: projection, projection televisions, HDTV + pageTitle: Projection High Definition Televisions + parentCategoryId: electronics-televisions + parent_category_tree: + - id: electronics + name: electronics + id: electronics-televisions + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg + name: Televisions + onlineSubCategoriesCount: 2 + pageDescription: Shop the latest Televisions including LCD, Plasma, Flat Screens, Projection including all the top brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: televisions, tvs, LCD, plasma, flat screen, high definition, HDTV, projection + pageTitle: Televisions Including LCD, Plasma & More in High Definition + parentCategoryId: electronics + parent_category_tree: + - id: electronics + name: electronics + total: 2 + GetCategoriesBadRequestResponseExample: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/validation + detail: Maximum number of categories you can request in one call is 50. + GetCategoryResponseExample: + value: + categories: + - id: electronics-televisions + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg + name: Televisions + onlineSubCategoriesCount: 2 + pageDescription: Shop the latest Televisions including LCD, Plasma, Flat Screens, Projection including all the top brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: televisions, tvs, LCD, plasma, flat screen, high definition, HDTV, projection + pageTitle: Televisions Including LCD, Plasma & More in High Definition + parentCategoryId: electronics + parent_category_tree: + - id: electronics + name: electronics + c_enableCompare: true + c_showInMenu: true + c_slotBannerImage: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw1d6f6411/images/slot/landing/cat-landing-tv.jpg + - id: electronics-digital-cameras + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw3535377d/images/slot/sub_banners/cat-banner-electronics-camera.jpg + name: Digital Cameras + onlineSubCategoriesCount: 0 + pageDescription: Shop the latest digital cameras from all the top brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: cameras, digital camerasm point and shoot, slr + pageTitle: Digital Cameras + parentCategoryId: electronics + parent_category_tree: + - id: electronics + name: electronics + c_enableCompare: true + c_showInMenu: true + c_slotBannerImage: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw1a543dc7/images/slot/landing/cat-landing-camera.jpg + - id: electronics-digital-media-players + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw7e9353db/images/slot/sub_banners/cat-banner-electronics-mp3.jpg + name: iPod & MP3 Players + onlineSubCategoriesCount: 0 + pageDescription: Shop Digital Media Players including iPods, Creative Zen, Sony & the latest from all the top brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: mp3, iPods, mp3 players + pageTitle: iPod & MP3 Digital Media Players + parentCategoryId: electronics + parent_category_tree: + - id: electronics + name: electronics + c_enableCompare: true + c_showInMenu: true + c_slotBannerImage: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw9f3d289a/images/slot/landing/cat-landing-mp3.jpg + - id: electronics-gps-units + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw6ea864f2/images/slot/sub_banners/cat-banner-electronics-gps.jpg + name: GPS Navigation + onlineSubCategoriesCount: 0 + pageDescription: Shop the latest in GPS units from Garmin and Tom Tom along with other brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: gps, gps units, garmin, tom tom + pageTitle: GPS Units + parentCategoryId: electronics + parent_category_tree: + - id: electronics + name: electronics + c_enableCompare: true + c_showInMenu: true + c_slotBannerImage: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwad4e06f8/images/slot/landing/cat-landing-gps.jpg + - id: electronics-gaming + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw9da58d91/images/slot/sub_banners/cat-banner-electronics.jpg + name: Gaming + onlineSubCategoriesCount: 2 + pageDescription: Shop games and game consoles from Xbox, Xbox360, Playstation 2, Playstation 3, Game Cube, Wii, Playstation Portable and Nintento DS at Salesforce Commerce Cloud. + pageKeywords: gaming, xbox, xbox360, ps3, ps2, playstaion 3, psp, game cube, wii, nintendo, nintendo ds + pageTitle: Gaming + parentCategoryId: electronics + parent_category_tree: + - id: electronics + name: electronics + c_enableCompare: true + c_showInMenu: true + c_slotBannerImage: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/en_US/v1551233475301/images/slot/landing/cat-landing-gaming.jpg + id: electronics + name: Electronics + onlineSubCategoriesCount: 5 + pageDescription: Shop Electronics including the latest in televisions, digital cameras, camcorders, mp3, ipod, mobil phones, GPS & gaming at Salesforce Commerce Cloud + pageKeywords: televisions, digital cameras, camcorders, mp3, ipod, mobil phones, GPS, gaming + pageTitle: Shop Electronics Including Televisions, Digital Cameras, iPods & More + parentCategoryId: root + parent_category_tree: + - id: root + name: root + c_enableCompare: true + c_headerMenuOrientation: Vertical + c_showInMenu: true + GetCategoryBadRequestResponseExample: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/validation + detail: Maximum number of categories you can request in one call is 50. + GetCategoryNotFoundResponseExample: + value: + title: Category Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/product-not-found + detail: No category with ID 'electronics-televi' for site 'SiteGenesis' could be found. + productId: electronics-televi + siteId: SiteGenesis + responses: + 401unauthorized: + description: Your access token is invalid or expired and can’t be used to identify a user. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UnauthorizedExample: + $ref: '#/components/examples/UnauthorizedExample' diff --git a/apis/products-oas/shopper-products-oas-1.0.36/shopper-products-oas-v1-public.yaml b/apis/products-oas/shopper-products-oas-1.0.36/shopper-products-oas-v1-public.yaml new file mode 100644 index 00000000..d9ef9751 --- /dev/null +++ b/apis/products-oas/shopper-products-oas-1.0.36/shopper-products-oas-v1-public.yaml @@ -0,0 +1,1742 @@ +openapi: 3.0.3 +info: + title: Shopper Products + version: v1 + description: |- + # API Overview + + The Shopper Products API enables you to access product details for products that are online, merchandised to a particular site catalog, and ready to be sold. You can use these product details to merchandise the product on other ecommerce channels. To set up category navigation paths on other commerce apps or storefronts, you can use the Categories API. + + Caching is provided for the Shopper Products API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) + + ## Authentication & Authorization + + The client requesting the product information must have access to the Products resource. The Shopper Products API requires a shopper access token from the Shopper Login and API Access Service (SLAS). + + For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. + + ## Use Cases + + ### Populate Product Listing Pages + + Use the Shopper Product API so that a customer, browsing on a commerce shopping app built using Commerce Cloud APIs, can see a list of products. For example, hydrate a list of products (max 24). The API returns product details including images, prices, promotions, and product availability. + + ![b2c-commerce-shopper-products-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-products-screenshot-1.png) + + ### Get Variation Product Details on an Ecommerce Channel + + Use the API so that a customer, browsing on a commerce shopping app built using Commerce Cloud APIs, can switch between different variation products. The API returns product details including images, prices, promotions, and available to sell inventory. + + ![b2c-commerce-shopper-products-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-products-screenshot-2.png) + + ### Retrieve Promotion Information + + Promotions provide discounts to shoppers when they meet certain purchase requirements. + + Promotion information is described in detail in [Promotion Details](https://developer.salesforce.com/docs/commerce/commerce-api/guide/promotion-details.html), but the following list provides several key points: + + - Pricing discounts for basket and shipping promotions are NEVER returned by the 'getProduct' or 'getProducts' endpoint. + - Promotional pricing is ONLY returned for products that are included with non-conditional promotions. + - Callout messages are ALWAYS returned by the 'getProduct' and 'getProducts' endpoints. + + By default, 'getProduct' and 'getProducts' return promotion information for a queried product. Promotion information includes both pricing and callout message information. However, the specific pricing and callout information that is fetched is determined by: + + - Promotion Type + - Product Type + - Product Purchase Requirements + + Some promotions can be displayed on a Product Data Page (PDP) or Product Listing page (PLP), while other promotions are displayed in the context of a basket, such as an order level promotion: "add the product to your basket to view price information". It is important to understand what is included in the response when designing a PDP or PLP on top of SCAPI to ensure your design aligns with implementable features. + + #### Shopper Personalization + + The SCAPI response can be personalized using the Shopper Context API or hooks. By setting specific values in the Shopper Context API, you can modify the response of the 'getProduct' or 'getProducts' endpoint based on the shopper's context. For instance, you can offer a 5% discount or free shipping to shoppers using mobile devices. + + #### JWA Caching + + The response is cached in JWA, which means promotion data contained in the response is also cached based on the TTL (Time to Live) specified in the Business Manager [Feature Switches](https://help.salesforce.com/s/articleView?id=cc.b2c_feature_switches.htm&type=5) configuration. + When the shopper context value is updated, a check is conducted to see if the updated shopper context affects the retrieval of product-promotion data. If it does, then the response is fetched from the source and cached in the JWA. + + For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) + + ### Use Hooks + + For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) + + ### Test Description Changes + + uoweefhewihpfhweipfiphwefhipwehfiewpifhewifiphehipeipwhfhipewfhiihpefipew + + ## Resources + + ### Product + + A full representation of a product or service that is to merchandise. A ready to merchandise product is one that is online, categorized, and published to a channel. The information associated with a product includes, the product name, description, custom and system attributes, variations, price, availability, and images. + + ### Category + + Categories and subcategories are the structure by which products are organized and grouped in a catalog and on a storefront. Categories can have relationships to other categories. Further, each category can provide context that is inherited by subcategories. For example, a category can have an assigned attribute. A product assigned to that category or any subcategory inherits the categories’s attribute value. Once the product is removed from the category, the attribute value is no longer inherited by the product. You can also use category linking for site hierarchical navigation. For example, inside the Clothing category you may have Men’s, and inside the Men’s category you may have Pants. + + Categories are not tags. + + ## Endpoints + + ### GET /products + + Returns product details for up to 24 products in one API request. You can use this API for use cases that require populating or hydrating multiple products at a time, such as populating the Product Listing Pages. + + The response data includes availability, promotions, images, and prices, along with the basic product information for the products requested. + + ### GET /products/{id} + + Returns product details about a single product. Use this API for use cases that require populating or hydrating one product at a time, such as the Product Detail Pages. + + The response data includes availability, promotions, options, images, prices, variations, bundled_products, set_products, recommendations, and the basic product information for the product requested. + + ### GET /categories + + Returns category details including the parent child relationships for one or more categories. The limit on depth for the parent-child relationship is 2. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/product/shopper-products/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/products: + parameters: + - $ref: '#/components/parameters/organizationId' + get: + description: Allows access to multiple product details with a single request. Only products that are online and assigned to a site catalog are returned. The maximum number of product IDs that you can request is 24. In addition to product details, the availability, product options, images, price, promotions, and variations for the valid products are included, as applicable. + operationId: getProducts + summary: Returns product details for multiple products. + security: + - ShopperToken: + - sfcc.shopper-products + parameters: + - $ref: '#/components/parameters/ids' + - $ref: '#/components/parameters/inventoryIds' + - $ref: '#/components/parameters/expand_multiId' + - $ref: '#/components/parameters/allImages' + - $ref: '#/components/parameters/perPricebook' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/select' + - $ref: '#/components/parameters/locale' + - $ref: '#/components/parameters/currency' + responses: + '200': + description: Success. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductResult' + '400': + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GetProductsBadRequestResponseExample: + $ref: '#/components/examples/GetProductsBadRequestResponseExample' + MalformedSelectorResponseExample: + $ref: '#/components/examples/MalformedSelectorResponseExample' + '401': + $ref: '#/components/responses/401unauthorized' + /organizations/{organizationId}/products/{id}: + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/id' + get: + description: Allows access to product details for a single product ID. Only products that are online and assigned to a site catalog are returned. In addition to product details, the availability, images, price, bundled_products, set_products, recommedations, product options, variations, and promotions for the products are included, as applicable. + operationId: getProduct + summary: Returns product details for a single product. + security: + - ShopperToken: + - sfcc.shopper-products + parameters: + - $ref: '#/components/parameters/inventoryIds' + - $ref: '#/components/parameters/expand_singleId' + - $ref: '#/components/parameters/allImages' + - $ref: '#/components/parameters/perPricebook' + - $ref: '#/components/parameters/select' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/locale' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success. + content: + application/json: + schema: + $ref: '#/components/schemas/Product' + examples: + GetProductResponseExample: + $ref: '#/components/examples/GetProductResponseExample' + '400': + description: Bad Request. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + MalformedSelectorResponseExample: + $ref: '#/components/examples/MalformedSelectorResponseExample' + '401': + $ref: '#/components/responses/401unauthorized' + '404': + description: Product Not Found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GetProductNotFoundResponseExample: + $ref: '#/components/examples/GetProductNotFoundResponseExample' + /organizations/{organizationId}/categories: + parameters: + - $ref: '#/components/parameters/organizationId' + get: + description: When you use the URL template, the server returns multiple categories (a result object of category documents). You can use this template to obtain up to 50 categories in a single request. You must enclose the list of IDs in parentheses. If a category identifier contains parenthesis or the separator sign, you must URL encode the character. + operationId: getCategories + summary: Returns category and subcategory details for one or more categories. + security: + - ShopperToken: + - sfcc.shopper-categories + parameters: + - $ref: '#/components/parameters/parameters-ids' + - $ref: '#/components/parameters/levels' + - $ref: '#/components/parameters/locale' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success. + content: + application/json: + schema: + $ref: '#/components/schemas/CategoryResult' + examples: + GetCategoriesResponseExample: + $ref: '#/components/examples/GetCategoriesResponseExample' + '400': + description: Bad Request. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GetCategoriesBadRequestResponseExample: + $ref: '#/components/examples/GetCategoriesBadRequestResponseExample' + '401': + $ref: '#/components/responses/401unauthorized' + /organizations/{organizationId}/categories/{id}: + parameters: + - $ref: '#/components/parameters/parameters-id' + - $ref: '#/components/parameters/organizationId' + get: + description: "When you use the URL template, the server returns a category identified by the ID. By default, the server\nalso returns the first level of subcategories, but you can specify an additional level using the levels\nparameter.\n\nThis endpoint fetches both online and offline categories. For offline categories, only the top-level \ncategory is returned, not offline subcategories.\n\nUsing a large value for levels can cause performance issues when there is a large and deep category tree." + operationId: getCategory + summary: Returns category and subcategory details for a single category. + security: + - ShopperToken: + - sfcc.shopper-categories + parameters: + - $ref: '#/components/parameters/levels' + - $ref: '#/components/parameters/locale' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success. + content: + application/json: + schema: + $ref: '#/components/schemas/Category' + examples: + GetCategoryResponseExample: + $ref: '#/components/examples/GetCategoryResponseExample' + '400': + description: Bad Request. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GetCategoryBadRequestResponseExample: + $ref: '#/components/examples/GetCategoryBadRequestResponseExample' + '401': + $ref: '#/components/responses/401unauthorized' + '404': + description: No online or offline category was found with the specified ID. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GetCategoryNotFoundResponseExample: + $ref: '#/components/examples/GetCategoryNotFoundResponseExample' +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-products: scope granting read-access to product endpoints + sfcc.shopper-categories: scope granting read-access to category endpoints + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-products: scope granting read-access to product endpoints + sfcc.shopper-categories: scope granting read-access to category endpoints + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + InventoryId: + description: The inventory ID. + type: string + minLength: 1 + maxLength: 256 + example: Site1InventoryList + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + Select: + minLength: 1 + description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. + example: (name,id,variationAttributes.(**)) + type: string + pattern: ^[(].*[)]$ + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + Product: + description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. A product has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. + properties: + brand: + description: The product's brand. + example: Apple + type: string + bundledProducts: + description: The array of all bundled products of this product. + type: array + items: + $ref: '#/components/schemas/BundledProduct' + currency: + $ref: '#/components/schemas/CurrencyCode' + ean: + description: The European Article Number of the product. + example: 8essdf9w3 + type: string + fetchDate: + format: int32 + example: 5 + type: integer + id: + $ref: '#/components/schemas/ProductId' + imageGroups: + description: The array of product image groups. + type: array + items: + $ref: '#/components/schemas/ImageGroup' + inventories: + description: |- + The array of product inventories explicitly requested via the 'inventory_ids' query parameter. This property + is only returned in context of the 'availability' expansion. + type: array + items: + $ref: '#/components/schemas/Inventory' + inventory: + description: |- + The site default inventory information. This property is only + returned in context of the 'availability' expansion. + allOf: + - $ref: '#/components/schemas/Inventory' + longDescription: + description: The localized product's long description. + example: Awesome long description of product + type: string + manufacturerName: + description: The product's manufacturer name. + example: Apple + type: string + manufacturerSku: + description: The product's manufacturer SKU. + example: 2ND8834 + type: string + master: + description: 'The master product information, only for types: master, variation group, and variant.' + allOf: + - $ref: '#/components/schemas/Master' + minOrderQuantity: + format: double + description: The minimum order quantity for this product. + example: 2 + type: number + name: + description: The localized product name. + example: Apple IPod Classic + type: string + options: + description: The array of product options, only for type option. This array can be empty. + type: array + items: + $ref: '#/components/schemas/Option' + pageDescription: + description: The localized product's page description. + example: Really good Product + type: string + pageKeywords: + description: The localized product's page description. + example: Ipod, Music Player + type: string + pageTitle: + description: The localized product's page title. + example: Apple IPod Classic + type: string + pageMetaTags: + description: Page Meta tags associated with the given product. + type: array + items: + $ref: '#/components/schemas/PageMetaTag' + price: + format: double + description: |- + The sales price of the product. In case of complex products, like master or set, this is the minimum price of + related child products. + example: 59.99 + type: number + pricePerUnit: + format: double + description: The price per unit if defined for the product + example: 19.99 + type: number + pricePerUnitMax: + format: double + description: The max price per unit typically for a master product's variant. + example: 29.99 + type: number + priceMax: + format: double + description: The maximum sales of related child products in complex products like master or set. + example: 69.99 + type: number + priceRanges: + description: Array of one or more price range objects representing one or more Pricebooks in context for the site. + type: array + items: + $ref: '#/components/schemas/PriceRange' + prices: + description: The prices map with pricebook IDs and their values. + type: object + additionalProperties: + format: double + type: number + primaryCategoryId: + description: The ID of the products primary category. + example: electronics + type: string + productLinks: + description: The array of source and target product links information. + type: array + items: + $ref: '#/components/schemas/ProductLink' + productPromotions: + description: |- + An array of active customer product promotions for this product, sorted by promotion priority + using SORT_BY_EXCLUSIVITY ordering (exclusivity → rank → promotion class → discount type → + best discount → ID). This array can be empty. Coupon promotions are not returned in this array. + See [PromotionPlan.SORT_BY_EXCLUSIVITY](https://salesforcecommercecloud.github.io/b2c-dev-doc/docs/current/scriptapi/html/index.html?target=class_dw_campaign_PromotionPlan.html) for more details. + type: array + items: + $ref: '#/components/schemas/ProductPromotion' + recommendations: + description: Returns a list of recommendations. + type: array + items: + $ref: '#/components/schemas/Recommendation' + setProducts: + description: The array of set products of this product. + type: array + items: + $ref: '#/components/schemas/Product' + shortDescription: + description: The localized product short description. + example: Awesome Product + type: string + slugUrl: + description: The complete link to this product's storefront page. + example: https://www.example.com/on/store/Sites-MySite/default/Product-Show?pid=MyProduct + type: string + stepQuantity: + format: double + description: |- + The steps in which the order amount of the product can be + increased. + example: 2 + type: number + tieredPrices: + description: The document represents list of tiered prices if the product is a variant + type: array + items: + $ref: '#/components/schemas/ProductPriceTable' + type: + description: 'The product type information. Can be one or more of the following values: item, master, variation_group, variant, bundle, and set.' + allOf: + - $ref: '#/components/schemas/ProductType' + unit: + description: The sales unit of the product. + example: lbs + type: string + upc: + description: The Universal Product Code (UPC). + example: JSDU876 + type: string + validFrom: + description: The time a product is valid from. + example: '9999-12-31T00:00:00.0Z' + type: string + format: date-time + validTo: + description: The time a product is valid to. + example: '9999-12-31T23:59:59.0Z' + type: string + format: date-time + variants: + description: The array of actual variants. Only for master, variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/Variant' + variationAttributes: + description: |- + Sorted array of variation attributes information. Only for master, + variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationAttribute' + variationGroups: + description: The array of actual variation groups. Only for master, variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationGroup' + variationValues: + description: |- + The actual variation attribute ID - value pairs. Only for variant and + variation group types. + type: object + additionalProperties: + type: string + required: + - id + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + BundledProduct: + description: A bundle of products that can be bought together (all or nothing). Each product in the bundle can itself be bought independently, but this is outside of the context of the bundle. A bundle is a purchasing convenience. *Product bundle has a SKU and price.* + properties: + id: + example: '823476' + type: string + product: + description: The product being bundled. + allOf: + - $ref: '#/components/schemas/Product' + quantity: + format: double + description: For the product being bundled, the quantity added to the bundle. + example: 5 + type: number + required: + - id + - product + - quantity + type: object + Image: + description: Product image + properties: + alt: + description: The localized alternative text of the image. + example: Apple iPod Shuffle, large + type: string + disBaseLink: + description: Base URL for the Dynamic Image Service (DIS) address. This is only shown if the image is stored on the server and DIS is enabled. + example: https://example.com/images/large/ipod-shuffle-silver.jpg + type: string + link: + minLength: 1 + description: The URL of the actual image. + example: https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dwc2/images/large/ipod-shuffle.jpg + type: string + title: + description: The localized title of the image. + example: Apple iPod Shuffle + type: string + required: + - link + type: object + VariationAttributeValue: + description: Document representing a variation attribute value. + properties: + description: + description: The localized description of the variation value. + example: Color of the product + type: string + image: + description: The first product image for the configured viewtype and this variation value. + allOf: + - $ref: '#/components/schemas/Image' + imageSwatch: + description: The first product image for the configured viewtype and this variation value (typically the swatch image). + allOf: + - $ref: '#/components/schemas/Image' + name: + description: The localized display name of the variation value. + example: Red + type: string + orderable: + description: A flag indicating whether at least one variant with this variation attribute value is available to sell. + example: true + type: boolean + value: + minLength: 1 + description: The actual variation value. + example: red + type: string + required: + - value + type: object + VariationAttribute: + description: Document representing a variation attribute. + properties: + id: + minLength: 1 + description: The ID of the variation attribute. + example: color + type: string + name: + description: The localized display name of the variation attribute. + example: Color + type: string + values: + description: The sorted array of variation values. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationAttributeValue' + required: + - id + type: object + ImageGroup: + description: Document representing an image group containing a list of images for a particular view type and an optional variation value. + properties: + images: + description: The images of the image group. + type: array + items: + $ref: '#/components/schemas/Image' + variationAttributes: + description: Returns a list of variation attributes applying to this image group. + type: array + items: + $ref: '#/components/schemas/VariationAttribute' + viewType: + description: The image view type. + example: hi-res + type: string + required: + - images + - viewType + type: object + Inventory: + description: Document representing inventory information of the current product for a particular inventory list. + properties: + ats: + format: double + description: |- + The Available To Sell (ATS) of the product. If it is infinity, the return value is 999999. The value can be overwritten by the + OCAPI setting 'product.inventory.ats.max_threshold'. + example: 15 + type: number + backorderable: + description: A flag indicating whether the product is backorderable. + example: true + type: boolean + id: + $ref: '#/components/schemas/InventoryId' + inStockDate: + description: A flag indicating the date when the product will be in stock. + example: '9999-12-31T00:00:00.0Z' + type: string + format: date-time + orderable: + description: A flag indicating whether at least one of the products is available to sell. + example: true + type: boolean + preorderable: + description: A flag indicating whether the product is preorderable. + example: false + type: boolean + stockLevel: + format: double + description: |- + The stock level of the product. If it is infinity, the return value is 999999. The value can be overwritten by the + OCAPI setting 'product.inventory.stock_level.max_threshold'. + example: 10 + type: number + required: + - id + type: object + Price: + type: number + description: Document representing a price for a product + format: double + example: 12.99 + Master: + description: The master product is a representation of a group of variant products. This is a non-buyable entity, provides inheritable attributes for its product variants, and is used for navigation. *Doesn't have a SKU.* + properties: + masterId: + description: The ID (SKU) of the master product. + allOf: + - $ref: '#/components/schemas/ProductId' + orderable: + description: A flag indicating whether at least one of the variants can be ordered. + example: true + type: boolean + price: + description: The minimum sales price of the related variants. + allOf: + - $ref: '#/components/schemas/Price' + priceMax: + description: The maximum sales price of the related variants. + allOf: + - $ref: '#/components/schemas/Price' + prices: + description: List of sale prices. + type: object + additionalProperties: + format: double + type: number + required: + - masterId + type: object + OptionValue: + description: Document representing an option value. + properties: + default: + description: A flag indicating whether this option value is the default one. + example: true + type: boolean + id: + description: The ID of the option value. + example: 5YR + allOf: + - $ref: '#/components/schemas/ProductId' + name: + description: The localized name of the option value. + example: 5 Year Warranty + type: string + price: + description: The effective price of the option value. + allOf: + - $ref: '#/components/schemas/Price' + required: + - id + type: object + Option: + description: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can't be purchased separately. *Product Option has a SKU and a price associated with it.* + properties: + description: + description: The localized description of the option. + example: Get this Option + type: string + id: + description: The ID of the option. + example: Warranty + allOf: + - $ref: '#/components/schemas/ProductId' + image: + description: The URL to the option image. + example: https://www.exampleimage.com/images/optionImage.jpg + type: string + name: + description: The localized name of the option. + example: Warranty + type: string + values: + description: The array of option values. This array can be empty. + type: array + items: + $ref: '#/components/schemas/OptionValue' + required: + - id + type: object + PageMetaTag: + description: Document representing a Page Meta Tag object. + properties: + id: + description: The ID of the Page Meta Tag. + type: string + example: title + value: + description: Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID. + type: string + example: Buy the Long Sleeve Covered Placket Blouse for USD 61.99. + PriceRange: + description: Document representing price ranges for a product which happens to be a master product (per Pricebook) + properties: + maxPrice: + description: Maximum price for the given pricebook (usually for a master Product would be the price for the Variant which has the highest price out of all Variants in that pricebook) + allOf: + - $ref: '#/components/schemas/Price' + minPrice: + description: Minimum price for the given pricebook (usually for a master Product would be the price for the Variant which has the least price out of all Variants in that pricebook) + allOf: + - $ref: '#/components/schemas/Price' + pricebook: + description: The active pricebook from which the min and the max prices are calculated. The pricebook is based on the site context of the request as defined in ECOM. + example: usd-list-pricebook + type: string + type: object + ProductLink: + description: |- + Document representing a link between two products. It contains the ID of the source and target products, the type of + product link, and the URLs to retrieve product data. + properties: + sourceProductId: + description: The semantic ID of the product this product link is coming from. + example: '824756924' + allOf: + - $ref: '#/components/schemas/ProductId' + sourceProductLink: + description: The URL addressing the product this product link is coming from. + example: Link + type: string + targetProductId: + description: The semantic ID of the product this product link is pointing to. + example: 2TR93459 + allOf: + - $ref: '#/components/schemas/ProductId' + targetProductLink: + description: The URL addressing the product this product link is pointing to. + example: Link + type: string + type: + description: The type of product link. + example: up_sell + enum: + - cross_sell + - replacement + - up_sell + - accessory + - newer_version + - alt_orderunit + - spare_part + - other + type: string + required: + - sourceProductId + - sourceProductLink + - targetProductId + - targetProductLink + - type + type: object + ProductPromotion: + description: Document representing a product promotion. + properties: + calloutMsg: + description: The localized call-out message of the promotion. + example: Fantastic promotion + type: string + promotionId: + description: The unique ID of the promotion. + example: summerSale + type: string + promotionalPrice: + description: The promotional price for this product. + allOf: + - $ref: '#/components/schemas/Price' + required: + - calloutMsg + - promotionId + - promotionalPrice + type: object + RecommendationType: + description: Document representing a recommendation type. + properties: + displayValue: + description: The localized display value of the recommendation type. + example: UpSell + type: string + value: + format: int32 + description: The value of the recommendation type. + example: 2 + type: integer + required: + - displayValue + - value + type: object + Recommendation: + description: Document representing a product recommendation. + properties: + calloutMsg: + description: The localized callout message of the recommendation. + example: Absolutely recommended + type: string + image: + $ref: '#/components/schemas/Image' + longDescription: + description: The localized long description of the recommendation. + example: Really good detailed product description + type: string + name: + description: The localized name of the recommendation. + example: Apple Ipod Shuffle + type: string + recommendationType: + $ref: '#/components/schemas/RecommendationType' + recommendedItemId: + description: The recommended item ID of the recommendation. + example: apple-ipod-shuffle + type: string + shortDescription: + description: The localized short description of the recommendation. + example: Product description + type: string + required: + - recommendationType + type: object + ProductPriceTable: + description: Tiered Price Level Object + properties: + price: + description: Price for the product for the specified tier for the specified pricebook + allOf: + - $ref: '#/components/schemas/Price' + pricebook: + description: The active pricebook for which this price is defined + example: usd-list-pricebook + type: string + quantity: + format: double + description: Quantity tier for which the price is defined. + example: 1 + type: number + type: object + ProductType: + description: Document representing a product type. + properties: + bundle: + description: A flag indicating whether the product is a bundle. + example: true + type: boolean + item: + description: A flag indicating whether the product is a standard item. + example: false + type: boolean + master: + description: A flag indicating whether the product is a master. + example: true + type: boolean + option: + description: A flag indicating whether the product is an option. + example: false + type: boolean + set: + description: A flag indicating whether the product is a set. + example: true + type: boolean + variant: + description: A flag indicating whether the product is a variant. + example: false + type: boolean + variationGroup: + description: A flag indicating whether the product is a variation group. + example: false + type: boolean + type: object + Variant: + description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU.* + properties: + orderable: + description: A flag indicating whether the variant is orderable. + example: true + type: boolean + price: + description: The sales price of the variant. + allOf: + - $ref: '#/components/schemas/Price' + productId: + description: The ID (SKU) of the variant. + example: 8W4756834 + allOf: + - $ref: '#/components/schemas/ProductId' + tieredPrices: + description: List of tiered prices if the product is a variant + type: array + items: + $ref: '#/components/schemas/ProductPriceTable' + variationValues: + description: The actual variation attribute ID - value pairs. + type: object + additionalProperties: + type: string + required: + - productId + type: object + VariationGroup: + description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for its product variants, and is used for navigation. *Doesn't have a SKU.* + properties: + orderable: + description: A flag indicating whether the variation group is orderable. + example: false + type: boolean + price: + description: The sales price of the variation group. + allOf: + - $ref: '#/components/schemas/Price' + productId: + description: The ID (SKU) of the variation group. + example: 49345VG + allOf: + - $ref: '#/components/schemas/ProductId' + variationValues: + description: The actual variation attribute ID - value pairs. + type: object + additionalProperties: + type: string + required: + - orderable + - price + - productId + - variationValues + type: object + ProductResult: + description: Result document containing an array of products. + properties: + limit: + format: int32 + description: The number of returned documents. + example: 12 + type: integer + data: + description: The array of product documents. + type: array + items: + $ref: '#/components/schemas/Product' + total: + format: int32 + description: The total number of documents. + example: 12 + type: integer + required: + - limit + - data + - total + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + CategoryId: + maxLength: 256 + minLength: 1 + type: string + description: The ID of the category. + example: mens + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + Category: + description: Categories allow products to be organized into hierarchical structures. Categories can have relationships to other parent categories. Each category can also provide a context inherited by subcategories. For example, a category may have an attribute value assigned to it, and any product assigned to the category or a subcategory would inherit the attribute value as long as the product is assigned. Once the product is removed from the category those attribute values would no longer be in the context of the product. Linking of categories is also used for Site hierarchical navigation. For example, inside 'Clothing' you may have 'Mens', and inside 'Mens' you may have 'Pants'. Categories are not *Tags.* + properties: + categories: + description: Array of subcategories. Can be empty. + type: array + items: + $ref: '#/components/schemas/Category' + description: + description: The localized description of the category. + example: Category description for Men's Category + type: string + id: + $ref: '#/components/schemas/CategoryId' + image: + description: The URL of the category image. + type: string + example: https://example.com/images/large/mens-category.jpg + name: + description: The localized name of the category. + example: Mens + type: string + onlineSubCategoriesCount: + format: int64 + description: The total number of online sub-categories. This information will be available from B2C Commerce version 24.5. + type: integer + example: 20 + pageDescription: + description: The localized page description of the category. + example: This category ahs all men's clothing + type: string + pageKeywords: + description: The localized page keywords of the category. + example: Mens, shirts + type: string + pageTitle: + description: The localized page title of the category. + example: Men's Category + type: string + parentCategoryId: + description: The ID of the parent category. + example: apparel + type: string + parentCategoryTree: + description: The List of the parent categories. + type: array + items: + $ref: '#/components/schemas/PathRecord' + thumbnail: + description: The URL of the category thumbnail. + example: https://www.exampleimage.com/images/categoryImage.jpg + type: string + required: + - id + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + PathRecord: + description: Document representing most basic info (id and name) of a category or catalog. + properties: + id: + description: The id of the category path. + example: mens + type: string + name: + description: The name of the category path. + example: mens + type: string + type: object + CategoryResult: + description: Result document containing an array of categories. + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + data: + description: The array of category documents. + type: array + items: + $ref: '#/components/schemas/Category' + required: + - data + type: object + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + ids: + name: ids + description: The IDs of the requested products (comma-separated, max 24 IDs). + in: query + required: true + schema: + type: array + items: + allOf: + - $ref: '#/components/schemas/ProductId' + - maxItems: 100 + example: apple-ipod-shuffle,apple-ipod-nano + inventoryIds: + description: The optional inventory list IDs, for which the availability should be shown (comma-separated, max 5 inventoryListIDs). + name: inventoryIds + in: query + schema: + type: array + items: + allOf: + - $ref: '#/components/schemas/InventoryId' + - maxItems: 5 + example: Site1InventoryList,Site2InventoryList,Site3InventoryList,Site4InventoryList,Site5InventoryList + expand_multiId: + name: expand + description: "All expand parameters except page_meta_tags are used for the request when no expand parameter is provided. \nThe value \"none\" may be used to turn off all expand options. \nThe page_meta_tags expand value is optional and available starting from B2C Commerce version 25.2." + in: query + schema: + type: array + example: + - prices + - promotions + items: + enum: + - none + - availability + - links + - promotions + - options + - images + - prices + - variations + - recommendations + - page_meta_tags + example: promotions + allImages: + name: allImages + description: The flag that indicates whether to retrieve the whole image model for the requested product. + in: query + schema: + type: boolean + example: true + perPricebook: + name: perPricebook + description: The flag that indicates whether to retrieve the per PriceBook prices and tiered prices (if available) for requested Products. Available end of June, 2021. + in: query + schema: + type: boolean + example: true + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + select: + description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. + name: select + in: query + examples: + select: + value: (**) + schema: + $ref: '#/components/schemas/Select' + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + currency: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + name: currency + in: query + examples: + CurrencyCode: + value: USD + schema: + $ref: '#/components/schemas/CurrencyCode' + id: + name: id + description: The ID of the requested product. + in: path + required: true + schema: + $ref: '#/components/schemas/ProductId' + expand_singleId: + name: expand + description: "All expand parameters except page_meta_tags are used for the request when no expand parameter is provided. \nThe value \"none\" may be used to turn off all expand options. \nThe page_meta_tags expand value is optional and available starting from B2C Commerce version 25.2." + in: query + schema: + type: array + example: + - prices + - promotions + items: + enum: + - none + - availability + - bundled_products + - links + - promotions + - options + - images + - prices + - variations + - set_products + - recommendations + - page_meta_tags + example: links + parameters-ids: + name: ids + description: The comma separated list of category IDs (max 50). + in: query + required: true + schema: + type: array + items: + allOf: + - $ref: '#/components/schemas/CategoryId' + - maxItems: 50 + example: electronics-digital-cameras,electronics-televisions + levels: + name: levels + description: Specifies how many levels of nested subcategories you want the server to return. The default value is 1. Valid values are 0, 1, or 2. Only online subcategories are returned. + in: query + schema: + type: integer + format: int32 + minimum: 0 + enum: + - 0 + - 1 + - 2 + example: 1 + parameters-id: + name: id + in: path + description: The ID of the requested category. + required: true + schema: + $ref: '#/components/schemas/CategoryId' + examples: + GetProductsBadRequestResponseExample: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/validation + detail: Maximum number of products you can request in one call is 25. + MalformedSelectorResponseExample: + value: + title: Malformed Selector + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-selector + detail: The property selector '(data.(name, imageGroups.(**))' is malformed. + selector: (data.(name, imageGroups.(**)) + UnauthorizedExample: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized + title: Unauthorized + detail: Your access token is invalid or expired and can’t be used to identify a user. + GetProductResponseExample: + value: + brand: Apple + currency: USD + id: apple-ipod-shuffle + imageGroups: + - images: + - alt: Apple iPod Shuffle, , large + link: https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dwc2cc65b0/images/large/ipod-shuffle-silver.jpg + title: 'Apple iPod Shuffle, ' + viewType: large + - images: + - alt: Apple iPod Shuffle, , medium + link: https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dw5f36aab1/images/medium/ipod-shuffle-silver.jpg + title: 'Apple iPod Shuffle, ' + viewType: medium + - images: + - alt: Apple iPod Shuffle, , small + link: https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dw2b078e02/images/small/ipod-shuffle-silver.jpg + title: 'Apple iPod Shuffle, ' + viewType: small + inventory: + ats: 0 + backorderable: false + id: SiteGenesisList + orderable: true + preorderable: false + stockLevel: 999999 + longDescription: Supports AAC, protected AAC, MP3, MP3 VBR, Audible, WAV and AIFF for immediate playback of multiple formats. + master: + masterId: apple-ipod-shuffle + orderable: false + price: 45.99 + minOrderQuantity: 1 + name: Apple iPod Shuffle + pageDescription: With the same size circular control pad as the previous model on a much more compact case with a built-in clip, the updated shuffle is ready to rock and easily tags along when you're on the go. + pageKeywords: Apple, iPod, Shuffle, MP3, Music Player + pageMetaTags: + - id: description + value: The updated Shuffle features the same-sized circular control pad in a more compact, clip-on case, making it perfect for on-the-go use. + - id: robots + value: index, follow + - id: title + value: Buy the Apple iPod Shuffle for USD 45.99-69.00. + pageTitle: Apple iPod Shuffle + price: 45.99 + priceMax: 69 + primaryCategoryId: electronics-digital-media-players + shortDescription: With the same size circular control pad as the previous model on a much more compact case with a built-in clip, the updated shuffle is ready to rock and easily tags along when you're on the go. + stepQuantity: 1 + type: + master: true + variants: + - orderable: true + price: 45.99 + productId: apple-ipod-shuffle-silver-1g + variationValues: + color: Silver + memorySize: 1 GB + - orderable: true + price: 49 + productId: apple-ipod-shuffle-blue-1g + variationValues: + color: Blue + memorySize: 1 GB + - orderable: true + price: 49 + productId: apple-ipod-shuffle-green-1g + variationValues: + color: Green + memorySize: 1 GB + - orderable: true + price: 49 + productId: apple-ipod-shuffle-red-1g + variationValues: + color: Red + memorySize: 1 GB + - orderable: true + price: 49 + productId: apple-ipod-shuffle-fuscia-1g + variationValues: + color: Fuscia + memorySize: 1 GB + - orderable: true + price: 60 + productId: apple-ipod-shuffle-silver-2g + variationValues: + color: Silver + memorySize: 2 GB + - orderable: true + price: 69 + productId: apple-ipod-shuffle-green-2g + variationValues: + color: Green + memorySize: 2 GB + - orderable: true + price: 60 + productId: apple-ipod-shuffle-red-2g + variationValues: + color: Red + memorySize: 2 GB + - orderable: true + price: 69 + productId: apple-ipod-shuffle-fuscia-2g + variationValues: + color: Fuscia + memorySize: 2 GB + variationAttributes: + - id: color + name: Color + values: + - name: Silver + orderable: false + value: Silver + - name: Blue + orderable: false + value: Blue + - name: Green + orderable: false + value: Green + - name: Red + orderable: false + value: Red + - name: Fuscia + orderable: false + value: Fuscia + - id: memorySize + name: Memory Size + values: + - name: 1 GB + orderable: true + value: 1 GB + - name: 2 GB + orderable: true + value: 2 GB + GetProductNotFoundResponseExample: + value: + title: Product Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/product-not-found + detail: No product with ID 'pple-ipod-shuffle' for site 'SiteGenesis' could be found. + productId: pple-ipod-shuffle + siteId: SiteGenesis + GetCategoriesResponseExample: + value: + limit: 2 + data: + - id: electronics-digital-cameras + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw3535377d/images/slot/sub_banners/cat-banner-electronics-camera.jpg + name: Digital Cameras + onlineSubCategoriesCount: 0 + pageDescription: Shop the latest digital cameras from all the top brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: cameras, digital camerasm point and shoot, slr + pageTitle: Digital Cameras + parentCategoryId: electronics + parent_category_tree: + - id: electronics + name: electronics + - categories: + - id: electronics-televisions-flat-screen + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg + name: Flat Screen + pageDescription: Shop all Flat Screen Televisions including the latest in LCD and Plasma technology from all the latest brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: flat screen, flat screen television, LCD, plasma, HDTV + pageTitle: LCD & Plasma High Definition Flat Screen Televisions + parentCategoryId: electronics-televisions + parent_category_tree: + - id: electronics + name: electronics + - id: electronics-televisions-projection + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg + name: Projection + onlineSubCategoriesCount: 0 + pageDescription: Shop all Projection Televisions from all the latest brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: projection, projection televisions, HDTV + pageTitle: Projection High Definition Televisions + parentCategoryId: electronics-televisions + parent_category_tree: + - id: electronics + name: electronics + id: electronics-televisions + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg + name: Televisions + onlineSubCategoriesCount: 2 + pageDescription: Shop the latest Televisions including LCD, Plasma, Flat Screens, Projection including all the top brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: televisions, tvs, LCD, plasma, flat screen, high definition, HDTV, projection + pageTitle: Televisions Including LCD, Plasma & More in High Definition + parentCategoryId: electronics + parent_category_tree: + - id: electronics + name: electronics + total: 2 + GetCategoriesBadRequestResponseExample: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/validation + detail: Maximum number of categories you can request in one call is 50. + GetCategoryResponseExample: + value: + categories: + - id: electronics-televisions + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg + name: Televisions + onlineSubCategoriesCount: 2 + pageDescription: Shop the latest Televisions including LCD, Plasma, Flat Screens, Projection including all the top brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: televisions, tvs, LCD, plasma, flat screen, high definition, HDTV, projection + pageTitle: Televisions Including LCD, Plasma & More in High Definition + parentCategoryId: electronics + parent_category_tree: + - id: electronics + name: electronics + c_enableCompare: true + c_showInMenu: true + c_slotBannerImage: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw1d6f6411/images/slot/landing/cat-landing-tv.jpg + - id: electronics-digital-cameras + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw3535377d/images/slot/sub_banners/cat-banner-electronics-camera.jpg + name: Digital Cameras + onlineSubCategoriesCount: 0 + pageDescription: Shop the latest digital cameras from all the top brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: cameras, digital camerasm point and shoot, slr + pageTitle: Digital Cameras + parentCategoryId: electronics + parent_category_tree: + - id: electronics + name: electronics + c_enableCompare: true + c_showInMenu: true + c_slotBannerImage: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw1a543dc7/images/slot/landing/cat-landing-camera.jpg + - id: electronics-digital-media-players + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw7e9353db/images/slot/sub_banners/cat-banner-electronics-mp3.jpg + name: iPod & MP3 Players + onlineSubCategoriesCount: 0 + pageDescription: Shop Digital Media Players including iPods, Creative Zen, Sony & the latest from all the top brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: mp3, iPods, mp3 players + pageTitle: iPod & MP3 Digital Media Players + parentCategoryId: electronics + parent_category_tree: + - id: electronics + name: electronics + c_enableCompare: true + c_showInMenu: true + c_slotBannerImage: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw9f3d289a/images/slot/landing/cat-landing-mp3.jpg + - id: electronics-gps-units + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw6ea864f2/images/slot/sub_banners/cat-banner-electronics-gps.jpg + name: GPS Navigation + onlineSubCategoriesCount: 0 + pageDescription: Shop the latest in GPS units from Garmin and Tom Tom along with other brands, makes and models at Salesforce Commerce Cloud. + pageKeywords: gps, gps units, garmin, tom tom + pageTitle: GPS Units + parentCategoryId: electronics + parent_category_tree: + - id: electronics + name: electronics + c_enableCompare: true + c_showInMenu: true + c_slotBannerImage: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwad4e06f8/images/slot/landing/cat-landing-gps.jpg + - id: electronics-gaming + image: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw9da58d91/images/slot/sub_banners/cat-banner-electronics.jpg + name: Gaming + onlineSubCategoriesCount: 2 + pageDescription: Shop games and game consoles from Xbox, Xbox360, Playstation 2, Playstation 3, Game Cube, Wii, Playstation Portable and Nintento DS at Salesforce Commerce Cloud. + pageKeywords: gaming, xbox, xbox360, ps3, ps2, playstaion 3, psp, game cube, wii, nintendo, nintendo ds + pageTitle: Gaming + parentCategoryId: electronics + parent_category_tree: + - id: electronics + name: electronics + c_enableCompare: true + c_showInMenu: true + c_slotBannerImage: https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/en_US/v1551233475301/images/slot/landing/cat-landing-gaming.jpg + id: electronics + name: Electronics + onlineSubCategoriesCount: 5 + pageDescription: Shop Electronics including the latest in televisions, digital cameras, camcorders, mp3, ipod, mobil phones, GPS & gaming at Salesforce Commerce Cloud + pageKeywords: televisions, digital cameras, camcorders, mp3, ipod, mobil phones, GPS, gaming + pageTitle: Shop Electronics Including Televisions, Digital Cameras, iPods & More + parentCategoryId: root + parent_category_tree: + - id: root + name: root + c_enableCompare: true + c_headerMenuOrientation: Vertical + c_showInMenu: true + GetCategoryBadRequestResponseExample: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/validation + detail: Maximum number of categories you can request in one call is 50. + GetCategoryNotFoundResponseExample: + value: + title: Category Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/product-not-found + detail: No category with ID 'electronics-televi' for site 'SiteGenesis' could be found. + productId: electronics-televi + siteId: SiteGenesis + responses: + 401unauthorized: + description: Your access token is invalid or expired and can’t be used to identify a user. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UnauthorizedExample: + $ref: '#/components/examples/UnauthorizedExample' diff --git a/apis/promotions-oas/promotions-oas-1.0.32/.metadata.json b/apis/promotions-oas/promotions-oas-1.0.32/.metadata.json new file mode 100644 index 00000000..3cb07922 --- /dev/null +++ b/apis/promotions-oas/promotions-oas-1.0.32/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/promotions-oas/1.0.32", + "name": "Promotions OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "promotions-oas", + "version": "1.0.32", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/promotions-oas/promotions-oas-1.0.32/exchange.json b/apis/promotions-oas/promotions-oas-1.0.32/exchange.json new file mode 100644 index 00000000..f8ae40c3 --- /dev/null +++ b/apis/promotions-oas/promotions-oas-1.0.32/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "promotions-oas-v1-public.yaml", + "name": "Promotions OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "promotions-oas", + "version": "1.0.32", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/promotions-oas/promotions-oas-1.0.32/promotions-oas-v1-internal.yaml b/apis/promotions-oas/promotions-oas-1.0.32/promotions-oas-v1-internal.yaml new file mode 100644 index 00000000..40117459 --- /dev/null +++ b/apis/promotions-oas/promotions-oas-1.0.32/promotions-oas-v1-internal.yaml @@ -0,0 +1,1391 @@ +openapi: 3.0.3 +info: + title: Promotions + version: v1 + description: |- + # API Overview + + Use the Promotions API to create, update, delete, and search for promotion information on your site. Promotions are configured with rules that define the type of promotion, conditions, and discounts. + + This API can be used to synchronize promotion data in the commerce platform with third-party promotion management systems. This API can also be called from a custom promotion management application. In sandbox environments, the Promotions API is useful for creating and updating test data, for example, with integration testing or as part of a continuous integration or continuous deployment process. + + For more information, see [Campaigns and Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_campaigns_and_promotions.html) in the Salesforce B2C Commerce Infocenter. + + ## Authentication & Authorization + + The client requesting the promotion information must have access to the Promotion resource. For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request. The client must first authenticate against Account Manager to log in. + + You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + For detailed setup instructions, see [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html). + + ## Use Cases + + **Note**: A promotion can be created, enabled, and assigned exclusivity using the API, but qualifier and discounted criteria must be assigned in Business Manager. + + ### Shipping Promotions + + Use the Promotions API to configure shipping promotions. + + You can configure shipping promotions based on an order and on individual products or product combinations. You can also configure product-specific shipping cost (fixed or surcharge). + + **Note**: Product-related shipping discounts are considered product promotions. + + In a multiple ship-to scenario, B2C Commerce determines which shipments use any of the discounted shipping methods and applies the discount from most expensive to least expensive until meeting the maximum applications limit, if specified. + + For example, create a shipping promotion that gives the customer free shipping when their purchase exceeds $50. + + For more detail, see [Shipping Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_shipping_promotions.html) in the Salesforce B2C Commerce Infocenter. + + ### Product Promotions + + Use the Promotions API to configure product promotions. + + You can define product promotions for specific products, groups of products or brands, or amounts of products purchased. You can define conditions that require customers to purchase from a set of products. + + A product promotion is prorated, calculated, and rounded once per product in the order. A product promotion is different than an order promotion, which is calculated once at the order level, and rounded off once, if necessary. + + For example, create a product promotion that discounts a second item by 50% when the customer buys two. + + For more detail, see [Product Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_product_promotions.html) in the Salesforce B2C Commerce Infocenter. + + ### Order Promotions + + Use the Promotions API to configure order promotions. + + You can configure order promotions for percentage discounts, fixed price discounts, and free shipping. You can offer a bonus product or a choice of bonus products, and you can tier order discounts. + + An order promotion is calculated once at the order level, and rounded off once, if necessary. An order promotion is different than a product promotion, where the promotion is prorated, calculated, and rounded per product in the order. + + For example, create an order promotion that discounts an entire order when the customer buys 3 qualifying items. + + For more detail, see [Order Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_order_promotions.html) in the Salesforce B2C Commerce Infocenter. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/promotions/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/promotions: + post: + summary: Search for promotions. + description: |- + The SearchRequest document contains a search object that allows you to filter using various attributes. + + Use the following searchable query attributes to narrow down the search: + + | Attribute | Type | + |-----------|--------| + | id | String | + | name | String | + | currecyCode | String | + | exclusivity | String | + | enabled | Boolean | + + Note that only searchable attributes can be used in sorting. Additionally, the following attribute can be used to + sort: + + | Attribute | Type | + |-----------|--------| + | promotionClass | String | + operationId: promotionsSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + responses: + '200': + description: Promotions information searched successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PromotionSearchResult' + '400': + description: Thrown when the query is ill-formed. + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + /organizations/{organizationId}/promotions/{id}: + get: + summary: Retrieve promotion information. + operationId: getPromotion + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Retrieved promotion information successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Promotion' + examples: + GetPromotion: + $ref: '#/components/examples/GetPromotion' + '404': + description: Thrown when there is no promotion found for the specified ID for the requested site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getPromotion404: + $ref: '#/components/examples/PromotionNotFound404' + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + put: + summary: Create a promotion using the information provided. + operationId: createPromotion + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + PutPromotion: + $ref: '#/components/examples/PutPromotion' + schema: + $ref: '#/components/schemas/Promotion' + responses: + '200': + description: Promotion created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Promotion' + examples: + PutPromotion: + $ref: '#/components/examples/examples-PutPromotion' + '400': + description: Thrown when the ID in the request does not match the ID in the document. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdConflict400: + $ref: '#/components/examples/IdConflict400' + security: + - AmOAuth2: + - sfcc.promotions.rw + delete: + summary: Delete a promotion for a specified ID. + operationId: deletePromotion + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: Deleted the promotion successfully. + security: + - AmOAuth2: + - sfcc.promotions.rw + patch: + summary: Update a promotion with the specified information. + operationId: updatePromotion + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + PromotionsPatch: + $ref: '#/components/examples/PatchPromotion' + schema: + $ref: '#/components/schemas/Promotion' + responses: + '200': + description: |- + Updated the promotion using the information provided. + Fields that can be updated: + name, ID, enabled + content: + application/json: + schema: + $ref: '#/components/schemas/Promotion' + examples: + PutPromotion: + $ref: '#/components/examples/examples-PatchPromotion' + '404': + description: Thrown when there is no promotion found with the given ID for the requested site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GetPromotion: + $ref: '#/components/examples/PromotionNotFound404' + security: + - AmOAuth2: + - sfcc.promotions.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + TimeOfDay: + type: object + required: + - timeFrom + - timeTo + description: Document representing a time schedule within a single day. + additionalProperties: false + properties: + timeFrom: + description: |- + The time to start from. Time format: HH:mm:ss. Seconds + are ignored and set to 0. + type: string + timeTo: + description: |- + The time to end on. Time format: HH:mm:ss. Seconds + are ignored and set to 0. + type: string + Recurrence: + description: Document representing a schedule recurrence. + type: object + required: + - dayOfWeek + - timeOfDay + additionalProperties: false + properties: + dayOfWeek: + description: The days of week for recurrence. + type: array + items: + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + type: string + timeOfDay: + description: The time of the day for recurrence. + allOf: + - $ref: '#/components/schemas/TimeOfDay' + type: object + Schedule: + description: Document representing a time schedule for slots. + additionalProperties: false + properties: + endDate: + description: 'The date to end of validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' + type: string + format: date-time + recurrence: + description: The recurrence of the schedule by day of week and time of day. Not all schedules support a recurrence. + allOf: + - $ref: '#/components/schemas/Recurrence' + startDate: + description: 'The date to start validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' + type: string + format: date-time + type: object + PromotionAbtestGroupAssignment: + additionalProperties: false + properties: + abtestDescription: + type: string + abtestId: + type: string + enabled: + type: boolean + example: true + schedule: + $ref: '#/components/schemas/Schedule' + segmentDescription: + type: string + segmentId: + type: string + type: object + required: + - abtestDescription + - abtestId + - enabled + - schedule + - segmentDescription + - segmentId + CampaignId: + minLength: 1 + maxLength: 256 + description: The ID of the campaign. + type: string + example: NewYearCampaign + Campaign: + description: Document representing a campaign. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + campaignId: + $ref: '#/components/schemas/CampaignId' + coupons: + description: The array of assigned coupon IDs, not sorted. + type: array + items: + type: string + example: + - 20%offOrder + - 10%offWelcomeNewUser + creationDate: + description: Returns the value of attribute 'creationDate'. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + customerGroups: + description: The array of assigned customer groups, not sorted. + type: array + items: + type: string + example: + - BigShoppers + - NorthAmericanShoppers + description: + maxLength: 4000 + description: The description of the campaign. + type: string + enabled: + description: The enabled flag for campaign. + type: boolean + example: true + endDate: + description: The date the scenario ends. + type: string + format: date-time + lastModified: + description: Returns the value of attribute 'lastModified'. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + sourceCodeGroups: + description: The array of assigned source code groups, not sorted. + type: array + items: + type: string + example: + - affiliate-email + - gaming-email + startDate: + description: The date the scenario begins. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + type: object + required: + - campaignId + Promotion: + description: |- + Document representing a promotion. Unless otherwise stated, attributes of this document are not supported when using + the Open Commerce API to update multiple promotions at once. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + archived: + description: |- + Determines if this promotion is archived. This attribute is allowed to be updated when using the Open + Commerce API to update multiple promotions at once. + type: boolean + example: true + assignmentInformation: + description: Information about the assignments and assignment schedules of this promotion. + allOf: + - $ref: '#/components/schemas/PromotionAssignmentInformation' + creationDate: + description: Returns the value of attribute 'creationDate'. + type: string + format: date-time + currencyCode: + maxLength: 3 + description: |- + The ISO 4217 mnemonic code of the currency this promotion is restricted to. If not populated, then there is no + currency restriction on the promotion. + type: string + disableGloballyExcluded: + description: Determines if this promotion ignores the global product exclusions for promotions. + type: boolean + example: true + enabled: + description: |- + Determines if this promotion is enabled. This attribute is allowed to be updated when using the Open + Commerce API to update multiple promotions at once. + type: boolean + example: true + exclusivity: + description: |- + Determines if the promotion can be combined with other promotions of the same promotion class or if it cannot be + combined with any other promotions. This attribute is allowed to be updated when using the Open Commerce API to + update multiple promotions at once. + enum: + - 'no' + - class + - global + type: string + id: + description: The ID for the promotion. + type: string + lastModified: + description: Returns the value of attribute 'lastModified'. + type: string + format: date-time + name: + description: The user supplied name of this promotion, which can be localized. + type: object + additionalProperties: + type: string + promotionClass: + description: |- + The class of the promotion. If the promotion class is modified, then the promotion rule and all of its values, + such as whether or not to disable global product exclusions, are reset. + enum: + - product + - shipping + - order + type: string + tags: + description: |- + Returns the list of tags assigned to this promotion. If used to set the tags on a promotion, the promotion will + only have the tags passed in the input. Any existing tags are removed. + type: array + items: + $ref: '#/components/schemas/Tag' + type: object + PromotionCampaignAssignment: + description: Document representing a promotion campaign assignment. + additionalProperties: false + properties: + campaign: + description: The campaign. + allOf: + - $ref: '#/components/schemas/Campaign' + campaignId: + minLength: 1 + maxLength: 256 + description: The ID of the campaign. + type: string + coupons: + description: The sorted array of assigned coupon IDs. + type: array + items: + type: string + customerGroups: + description: The sorted array of assigned customer groups. + type: array + items: + type: string + description: + maxLength: 4000 + description: The description of the promotion campaign assignment. + type: string + enabled: + description: True if the assignment resource is enabled. + type: boolean + example: true + promotion: + description: The promotion. + allOf: + - $ref: '#/components/schemas/Promotion' + promotionId: + minLength: 1 + maxLength: 256 + description: The ID of the promotion. + type: string + rank: + format: int32 + description: The rank of promotion campaign assignment. + type: integer + schedule: + description: The schedule of the assignment resource. + allOf: + - $ref: '#/components/schemas/Schedule' + sourceCodeGroups: + description: The sorted array of assigned source code groups. + type: array + items: + type: string + type: object + required: + - campaignId + - description + - enabled + - promotionId + - schedule + PromotionAssignmentInformation: + additionalProperties: false + properties: + abtestId: + description: |- + If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test the segment + belongs to. Otherwise, empty. + type: string + abtestSegmentId: + description: |- + If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test segment. + Otherwise, empty. + type: string + active: + description: True if the individual assignment or the multiple assignments are currently active. + type: boolean + example: true + activeAbtestAssignments: + description: A list of currently active A/B tests this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionAbtestGroupAssignment' + activeCampaignAssignments: + description: A list of currently active campaigns this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionCampaignAssignment' + campaignId: + description: If there is only one assignment, and that assignment is a campaign, the ID of the campaign. Otherwise, empty. + type: string + enabled: + type: boolean + example: true + endDate: + description: |- + The end date of the container of the assignment (a Campaign or ABTest). If scheduleType is + scheduleType : "multiple" or scheduleType : "none", then then result is null. Also, a null + date returns null. + type: string + format: date-time + schedule: + description: |- + The schedule of the assignment (a Campaign or ABTest). If scheduleType is + scheduleType : "multiple" or scheduleType : "none", then then result is null. + allOf: + - $ref: '#/components/schemas/Schedule' + scheduleType: + description: |- + If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type + of assignment (scheduleType : "campaign" or scheduleType : "abtest"). If there are no + assignments, it is scheduleType : "none", otherwise, scheduleType : "multiple". + enum: + - none + - campaign + - abtest + - multiple + type: string + startDate: + description: |- + The start date of the container of the assignment (a Campaign or ABTest). If scheduleType is + scheduleType : "multiple" or scheduleType : "none", then then result is null. Also, a null + date returns null. + type: string + format: date-time + upcomingAbtestAssignments: + description: A list of upcoming A/B tests this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionAbtestGroupAssignment' + upcomingCampaignAssignments: + description: A list of upcoming campaigns this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionCampaignAssignment' + type: object + required: + - active + - activeCampaignAssignments + - campaignId + - enabled + - schedule + - scheduleType + Tag: + description: Document representing a tag + additionalProperties: false + properties: + tagId: + description: The ID of the tag. + type: string + type: object + required: + - tagId + PromotionSearchResult: + description: Document representing a promotion search result. + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + description: The sorted array of promotion search hits. Can be empty. + type: array + items: + $ref: '#/components/schemas/Promotion' + type: object + required: + - hits + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + id: + name: id + in: path + description: The ID of the promotion to create. + required: true + schema: + minLength: 1 + type: string + examples: + GetPromotion: + value: + archived: false + assignmentInformation: + active: true + activeCampaignAssignments: + - campaignId: coupon-campaign + coupons: + - shipping-promotion-coupon + description: Coupon Shipping Promotion + enabled: true + promotionId: my-shipping-promotion + schedule: {} + campaignId: coupon-campaign + enabled: true + schedule: {} + scheduleType: none + creationDate: '2020-01-09T16:50:32.000Z' + disableGloballyExcluded: false + enabled: true + exclusivity: 'no' + id: my-shipping-promotion + lastModified: '2020-01-09T16:50:32.000Z' + name: + default: Coupon Shipping Promotion + promotionClass: shipping + c_customString: Custom Value + PromotionNotFound404: + value: + title: Promotion Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/promotion-not-found + detail: No promotion with ID 'not-existing-promotion' in site 'SiteGenesis' could be found. + promotionId: not-existing-promotion + siteId: SiteGenesis + PutPromotion: + value: + enabled: true + name: + default: __PROMOTION_ID__ + exclusivity: class + promotionClass: order + c_customString: Custom Value + examples-PutPromotion: + value: + archived: false + assignmentInformation: + active: false + activeCampaignAssignments: [] + campaignId: coupon-campaign + enabled: true + schedule: {} + scheduleType: none + creationDate: '2020-01-13T20:22:09.189Z' + disableGloballyExcluded: false + enabled: true + exclusivity: class + id: my-promotion + lastModified: '2020-01-13T20:22:09.199Z' + name: + default: __PROMOTION_ID__ + promotionClass: order + c_customString: Custom Value + IdConflict400: + value: + title: Id Conflict + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/id-conflict + detail: The ID in the request body ('his-promotion') doesn't match the ID in the URL ('my-promotion'). + bodyID: his-promotion + urlID: my-promotion + PatchPromotion: + value: + enabled: false + name: + default: __PROMOTION_ID__ + exclusivity: class + promotionClass: order + c_customString: Custom Value + examples-PatchPromotion: + value: + archived: false + assignmentInformation: + active: false + activeCampaignAssignments: [] + campaignId: coupon-campaign + enabled: false + schedule: {} + scheduleType: none + creationDate: '2020-01-13T20:22:09.189Z' + disableGloballyExcluded: false + enabled: false + exclusivity: class + id: my-promotion + lastModified: '2020-01-13T20:31:25.795Z' + name: + default: __PROMOTION_ID__ + promotionClass: order + c_customString: Custom Value diff --git a/apis/promotions-oas/promotions-oas-1.0.32/promotions-oas-v1-public.yaml b/apis/promotions-oas/promotions-oas-1.0.32/promotions-oas-v1-public.yaml new file mode 100644 index 00000000..40117459 --- /dev/null +++ b/apis/promotions-oas/promotions-oas-1.0.32/promotions-oas-v1-public.yaml @@ -0,0 +1,1391 @@ +openapi: 3.0.3 +info: + title: Promotions + version: v1 + description: |- + # API Overview + + Use the Promotions API to create, update, delete, and search for promotion information on your site. Promotions are configured with rules that define the type of promotion, conditions, and discounts. + + This API can be used to synchronize promotion data in the commerce platform with third-party promotion management systems. This API can also be called from a custom promotion management application. In sandbox environments, the Promotions API is useful for creating and updating test data, for example, with integration testing or as part of a continuous integration or continuous deployment process. + + For more information, see [Campaigns and Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_campaigns_and_promotions.html) in the Salesforce B2C Commerce Infocenter. + + ## Authentication & Authorization + + The client requesting the promotion information must have access to the Promotion resource. For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request. The client must first authenticate against Account Manager to log in. + + You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + For detailed setup instructions, see [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html). + + ## Use Cases + + **Note**: A promotion can be created, enabled, and assigned exclusivity using the API, but qualifier and discounted criteria must be assigned in Business Manager. + + ### Shipping Promotions + + Use the Promotions API to configure shipping promotions. + + You can configure shipping promotions based on an order and on individual products or product combinations. You can also configure product-specific shipping cost (fixed or surcharge). + + **Note**: Product-related shipping discounts are considered product promotions. + + In a multiple ship-to scenario, B2C Commerce determines which shipments use any of the discounted shipping methods and applies the discount from most expensive to least expensive until meeting the maximum applications limit, if specified. + + For example, create a shipping promotion that gives the customer free shipping when their purchase exceeds $50. + + For more detail, see [Shipping Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_shipping_promotions.html) in the Salesforce B2C Commerce Infocenter. + + ### Product Promotions + + Use the Promotions API to configure product promotions. + + You can define product promotions for specific products, groups of products or brands, or amounts of products purchased. You can define conditions that require customers to purchase from a set of products. + + A product promotion is prorated, calculated, and rounded once per product in the order. A product promotion is different than an order promotion, which is calculated once at the order level, and rounded off once, if necessary. + + For example, create a product promotion that discounts a second item by 50% when the customer buys two. + + For more detail, see [Product Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_product_promotions.html) in the Salesforce B2C Commerce Infocenter. + + ### Order Promotions + + Use the Promotions API to configure order promotions. + + You can configure order promotions for percentage discounts, fixed price discounts, and free shipping. You can offer a bonus product or a choice of bonus products, and you can tier order discounts. + + An order promotion is calculated once at the order level, and rounded off once, if necessary. An order promotion is different than a product promotion, where the promotion is prorated, calculated, and rounded per product in the order. + + For example, create an order promotion that discounts an entire order when the customer buys 3 qualifying items. + + For more detail, see [Order Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_order_promotions.html) in the Salesforce B2C Commerce Infocenter. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/promotions/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/promotions: + post: + summary: Search for promotions. + description: |- + The SearchRequest document contains a search object that allows you to filter using various attributes. + + Use the following searchable query attributes to narrow down the search: + + | Attribute | Type | + |-----------|--------| + | id | String | + | name | String | + | currecyCode | String | + | exclusivity | String | + | enabled | Boolean | + + Note that only searchable attributes can be used in sorting. Additionally, the following attribute can be used to + sort: + + | Attribute | Type | + |-----------|--------| + | promotionClass | String | + operationId: promotionsSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + responses: + '200': + description: Promotions information searched successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PromotionSearchResult' + '400': + description: Thrown when the query is ill-formed. + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + /organizations/{organizationId}/promotions/{id}: + get: + summary: Retrieve promotion information. + operationId: getPromotion + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Retrieved promotion information successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Promotion' + examples: + GetPromotion: + $ref: '#/components/examples/GetPromotion' + '404': + description: Thrown when there is no promotion found for the specified ID for the requested site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getPromotion404: + $ref: '#/components/examples/PromotionNotFound404' + security: + - AmOAuth2: + - sfcc.promotions + - sfcc.promotions.rw + put: + summary: Create a promotion using the information provided. + operationId: createPromotion + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + PutPromotion: + $ref: '#/components/examples/PutPromotion' + schema: + $ref: '#/components/schemas/Promotion' + responses: + '200': + description: Promotion created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Promotion' + examples: + PutPromotion: + $ref: '#/components/examples/examples-PutPromotion' + '400': + description: Thrown when the ID in the request does not match the ID in the document. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdConflict400: + $ref: '#/components/examples/IdConflict400' + security: + - AmOAuth2: + - sfcc.promotions.rw + delete: + summary: Delete a promotion for a specified ID. + operationId: deletePromotion + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: Deleted the promotion successfully. + security: + - AmOAuth2: + - sfcc.promotions.rw + patch: + summary: Update a promotion with the specified information. + operationId: updatePromotion + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + examples: + PromotionsPatch: + $ref: '#/components/examples/PatchPromotion' + schema: + $ref: '#/components/schemas/Promotion' + responses: + '200': + description: |- + Updated the promotion using the information provided. + Fields that can be updated: + name, ID, enabled + content: + application/json: + schema: + $ref: '#/components/schemas/Promotion' + examples: + PutPromotion: + $ref: '#/components/examples/examples-PatchPromotion' + '404': + description: Thrown when there is no promotion found with the given ID for the requested site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GetPromotion: + $ref: '#/components/examples/PromotionNotFound404' + security: + - AmOAuth2: + - sfcc.promotions.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.promotions: promotions READONLY + sfcc.promotions.rw: promotions read/write + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + TimeOfDay: + type: object + required: + - timeFrom + - timeTo + description: Document representing a time schedule within a single day. + additionalProperties: false + properties: + timeFrom: + description: |- + The time to start from. Time format: HH:mm:ss. Seconds + are ignored and set to 0. + type: string + timeTo: + description: |- + The time to end on. Time format: HH:mm:ss. Seconds + are ignored and set to 0. + type: string + Recurrence: + description: Document representing a schedule recurrence. + type: object + required: + - dayOfWeek + - timeOfDay + additionalProperties: false + properties: + dayOfWeek: + description: The days of week for recurrence. + type: array + items: + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + type: string + timeOfDay: + description: The time of the day for recurrence. + allOf: + - $ref: '#/components/schemas/TimeOfDay' + type: object + Schedule: + description: Document representing a time schedule for slots. + additionalProperties: false + properties: + endDate: + description: 'The date to end of validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' + type: string + format: date-time + recurrence: + description: The recurrence of the schedule by day of week and time of day. Not all schedules support a recurrence. + allOf: + - $ref: '#/components/schemas/Recurrence' + startDate: + description: 'The date to start validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' + type: string + format: date-time + type: object + PromotionAbtestGroupAssignment: + additionalProperties: false + properties: + abtestDescription: + type: string + abtestId: + type: string + enabled: + type: boolean + example: true + schedule: + $ref: '#/components/schemas/Schedule' + segmentDescription: + type: string + segmentId: + type: string + type: object + required: + - abtestDescription + - abtestId + - enabled + - schedule + - segmentDescription + - segmentId + CampaignId: + minLength: 1 + maxLength: 256 + description: The ID of the campaign. + type: string + example: NewYearCampaign + Campaign: + description: Document representing a campaign. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + campaignId: + $ref: '#/components/schemas/CampaignId' + coupons: + description: The array of assigned coupon IDs, not sorted. + type: array + items: + type: string + example: + - 20%offOrder + - 10%offWelcomeNewUser + creationDate: + description: Returns the value of attribute 'creationDate'. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + customerGroups: + description: The array of assigned customer groups, not sorted. + type: array + items: + type: string + example: + - BigShoppers + - NorthAmericanShoppers + description: + maxLength: 4000 + description: The description of the campaign. + type: string + enabled: + description: The enabled flag for campaign. + type: boolean + example: true + endDate: + description: The date the scenario ends. + type: string + format: date-time + lastModified: + description: Returns the value of attribute 'lastModified'. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + sourceCodeGroups: + description: The array of assigned source code groups, not sorted. + type: array + items: + type: string + example: + - affiliate-email + - gaming-email + startDate: + description: The date the scenario begins. + type: string + format: date-time + example: '2019-10-03T19:36:56.000Z' + type: object + required: + - campaignId + Promotion: + description: |- + Document representing a promotion. Unless otherwise stated, attributes of this document are not supported when using + the Open Commerce API to update multiple promotions at once. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + archived: + description: |- + Determines if this promotion is archived. This attribute is allowed to be updated when using the Open + Commerce API to update multiple promotions at once. + type: boolean + example: true + assignmentInformation: + description: Information about the assignments and assignment schedules of this promotion. + allOf: + - $ref: '#/components/schemas/PromotionAssignmentInformation' + creationDate: + description: Returns the value of attribute 'creationDate'. + type: string + format: date-time + currencyCode: + maxLength: 3 + description: |- + The ISO 4217 mnemonic code of the currency this promotion is restricted to. If not populated, then there is no + currency restriction on the promotion. + type: string + disableGloballyExcluded: + description: Determines if this promotion ignores the global product exclusions for promotions. + type: boolean + example: true + enabled: + description: |- + Determines if this promotion is enabled. This attribute is allowed to be updated when using the Open + Commerce API to update multiple promotions at once. + type: boolean + example: true + exclusivity: + description: |- + Determines if the promotion can be combined with other promotions of the same promotion class or if it cannot be + combined with any other promotions. This attribute is allowed to be updated when using the Open Commerce API to + update multiple promotions at once. + enum: + - 'no' + - class + - global + type: string + id: + description: The ID for the promotion. + type: string + lastModified: + description: Returns the value of attribute 'lastModified'. + type: string + format: date-time + name: + description: The user supplied name of this promotion, which can be localized. + type: object + additionalProperties: + type: string + promotionClass: + description: |- + The class of the promotion. If the promotion class is modified, then the promotion rule and all of its values, + such as whether or not to disable global product exclusions, are reset. + enum: + - product + - shipping + - order + type: string + tags: + description: |- + Returns the list of tags assigned to this promotion. If used to set the tags on a promotion, the promotion will + only have the tags passed in the input. Any existing tags are removed. + type: array + items: + $ref: '#/components/schemas/Tag' + type: object + PromotionCampaignAssignment: + description: Document representing a promotion campaign assignment. + additionalProperties: false + properties: + campaign: + description: The campaign. + allOf: + - $ref: '#/components/schemas/Campaign' + campaignId: + minLength: 1 + maxLength: 256 + description: The ID of the campaign. + type: string + coupons: + description: The sorted array of assigned coupon IDs. + type: array + items: + type: string + customerGroups: + description: The sorted array of assigned customer groups. + type: array + items: + type: string + description: + maxLength: 4000 + description: The description of the promotion campaign assignment. + type: string + enabled: + description: True if the assignment resource is enabled. + type: boolean + example: true + promotion: + description: The promotion. + allOf: + - $ref: '#/components/schemas/Promotion' + promotionId: + minLength: 1 + maxLength: 256 + description: The ID of the promotion. + type: string + rank: + format: int32 + description: The rank of promotion campaign assignment. + type: integer + schedule: + description: The schedule of the assignment resource. + allOf: + - $ref: '#/components/schemas/Schedule' + sourceCodeGroups: + description: The sorted array of assigned source code groups. + type: array + items: + type: string + type: object + required: + - campaignId + - description + - enabled + - promotionId + - schedule + PromotionAssignmentInformation: + additionalProperties: false + properties: + abtestId: + description: |- + If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test the segment + belongs to. Otherwise, empty. + type: string + abtestSegmentId: + description: |- + If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test segment. + Otherwise, empty. + type: string + active: + description: True if the individual assignment or the multiple assignments are currently active. + type: boolean + example: true + activeAbtestAssignments: + description: A list of currently active A/B tests this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionAbtestGroupAssignment' + activeCampaignAssignments: + description: A list of currently active campaigns this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionCampaignAssignment' + campaignId: + description: If there is only one assignment, and that assignment is a campaign, the ID of the campaign. Otherwise, empty. + type: string + enabled: + type: boolean + example: true + endDate: + description: |- + The end date of the container of the assignment (a Campaign or ABTest). If scheduleType is + scheduleType : "multiple" or scheduleType : "none", then then result is null. Also, a null + date returns null. + type: string + format: date-time + schedule: + description: |- + The schedule of the assignment (a Campaign or ABTest). If scheduleType is + scheduleType : "multiple" or scheduleType : "none", then then result is null. + allOf: + - $ref: '#/components/schemas/Schedule' + scheduleType: + description: |- + If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type + of assignment (scheduleType : "campaign" or scheduleType : "abtest"). If there are no + assignments, it is scheduleType : "none", otherwise, scheduleType : "multiple". + enum: + - none + - campaign + - abtest + - multiple + type: string + startDate: + description: |- + The start date of the container of the assignment (a Campaign or ABTest). If scheduleType is + scheduleType : "multiple" or scheduleType : "none", then then result is null. Also, a null + date returns null. + type: string + format: date-time + upcomingAbtestAssignments: + description: A list of upcoming A/B tests this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionAbtestGroupAssignment' + upcomingCampaignAssignments: + description: A list of upcoming campaigns this is assigned to. + type: array + items: + $ref: '#/components/schemas/PromotionCampaignAssignment' + type: object + required: + - active + - activeCampaignAssignments + - campaignId + - enabled + - schedule + - scheduleType + Tag: + description: Document representing a tag + additionalProperties: false + properties: + tagId: + description: The ID of the tag. + type: string + type: object + required: + - tagId + PromotionSearchResult: + description: Document representing a promotion search result. + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + description: The sorted array of promotion search hits. Can be empty. + type: array + items: + $ref: '#/components/schemas/Promotion' + type: object + required: + - hits + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + id: + name: id + in: path + description: The ID of the promotion to create. + required: true + schema: + minLength: 1 + type: string + examples: + GetPromotion: + value: + archived: false + assignmentInformation: + active: true + activeCampaignAssignments: + - campaignId: coupon-campaign + coupons: + - shipping-promotion-coupon + description: Coupon Shipping Promotion + enabled: true + promotionId: my-shipping-promotion + schedule: {} + campaignId: coupon-campaign + enabled: true + schedule: {} + scheduleType: none + creationDate: '2020-01-09T16:50:32.000Z' + disableGloballyExcluded: false + enabled: true + exclusivity: 'no' + id: my-shipping-promotion + lastModified: '2020-01-09T16:50:32.000Z' + name: + default: Coupon Shipping Promotion + promotionClass: shipping + c_customString: Custom Value + PromotionNotFound404: + value: + title: Promotion Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/promotion-not-found + detail: No promotion with ID 'not-existing-promotion' in site 'SiteGenesis' could be found. + promotionId: not-existing-promotion + siteId: SiteGenesis + PutPromotion: + value: + enabled: true + name: + default: __PROMOTION_ID__ + exclusivity: class + promotionClass: order + c_customString: Custom Value + examples-PutPromotion: + value: + archived: false + assignmentInformation: + active: false + activeCampaignAssignments: [] + campaignId: coupon-campaign + enabled: true + schedule: {} + scheduleType: none + creationDate: '2020-01-13T20:22:09.189Z' + disableGloballyExcluded: false + enabled: true + exclusivity: class + id: my-promotion + lastModified: '2020-01-13T20:22:09.199Z' + name: + default: __PROMOTION_ID__ + promotionClass: order + c_customString: Custom Value + IdConflict400: + value: + title: Id Conflict + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/id-conflict + detail: The ID in the request body ('his-promotion') doesn't match the ID in the URL ('my-promotion'). + bodyID: his-promotion + urlID: my-promotion + PatchPromotion: + value: + enabled: false + name: + default: __PROMOTION_ID__ + exclusivity: class + promotionClass: order + c_customString: Custom Value + examples-PatchPromotion: + value: + archived: false + assignmentInformation: + active: false + activeCampaignAssignments: [] + campaignId: coupon-campaign + enabled: false + schedule: {} + scheduleType: none + creationDate: '2020-01-13T20:22:09.189Z' + disableGloballyExcluded: false + enabled: false + exclusivity: class + id: my-promotion + lastModified: '2020-01-13T20:31:25.795Z' + name: + default: __PROMOTION_ID__ + promotionClass: order + c_customString: Custom Value diff --git a/apis/promotions-oas/shopper-promotions-oas-1.0.35/.metadata.json b/apis/promotions-oas/shopper-promotions-oas-1.0.35/.metadata.json new file mode 100644 index 00000000..e7100eae --- /dev/null +++ b/apis/promotions-oas/shopper-promotions-oas-1.0.35/.metadata.json @@ -0,0 +1,17 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-promotions-oas/1.0.35", + "name": "Shopper Promotions OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-promotions-oas", + "version": "1.0.35", + "categories": { + "SDK Type": [ + "Isomorphic", + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/promotions-oas/shopper-promotions-oas-1.0.35/exchange.json b/apis/promotions-oas/shopper-promotions-oas-1.0.35/exchange.json new file mode 100644 index 00000000..e557ddee --- /dev/null +++ b/apis/promotions-oas/shopper-promotions-oas-1.0.35/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-promotions-oas-v1-public.yaml", + "name": "Shopper Promotions OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-promotions-oas", + "version": "1.0.35", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/promotions-oas/shopper-promotions-oas-1.0.35/shopper-promotions-oas-v1-internal.yaml b/apis/promotions-oas/shopper-promotions-oas-1.0.35/shopper-promotions-oas-v1-internal.yaml new file mode 100644 index 00000000..79fbe1ac --- /dev/null +++ b/apis/promotions-oas/shopper-promotions-oas-1.0.35/shopper-promotions-oas-v1-internal.yaml @@ -0,0 +1,418 @@ +openapi: 3.0.3 +info: + title: Shopper Promotions + version: v1 + description: |- + # API Overview + + Retrieve information about active promotions within the context of a shopper and a site. You can use this API to retrieve promotions that you configured in the commerce platform by searching for specific promotion IDs or by searching for promotions associated with a campaign. + + Caching is provided for the Shopper Promotions API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) + + ## Authentication & Authorization + + The Shopper Promotions API requires a JSON Web Token acquired via the Shopper Customers endpoint: + + ``` + https://{{shortcode}}.api.commercecloud.salesforce.com/customer/shopper-customers/v1/organizations/{{organizationId}}/customers/actions/login + ``` + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + ### Get Promotion by Promotion ID + + Use the Shopper Promotions API to find promotion information by the promotion ID. + + For example, a customer who is browsing on a commerce shopping app built using Commerce Cloud APIs can see the details about the applied promotions in the cart. + + ### Get Promotion by Campaign ID + + Use the Shopper Promotions API to find promotion information by the campaign ID. + + For example, a customer who is browsing on a commerce shopping app built using Commerce Cloud APIs can see the possible promotions that can be applied in the cart. + + ### Use Hooks + + For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/shopper-promotions/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/promotions: + get: + summary: Return an array of enabled promotions for specified IDs. + description: "In the request URL, you can specify up to 50 IDs. If you specify an ID that contains either parentheses or the separator characters, you must URL encode these characters. \nEach request returns only enabled promotions as the server does not consider promotion qualifiers or schedules." + operationId: getPromotions + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/ids' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Promotion information retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PromotionResult' + examples: + PromotionsResult: + $ref: '#/components/examples/PromotionsResult' + '404': + description: Thrown when there is no promotion found with the given ID for the requested site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getPromotions404: + $ref: '#/components/examples/PromotionsNotFound404' + security: + - ShopperToken: + - sfcc.shopper-promotions + /organizations/{organizationId}/promotions/campaigns/{campaignId}: + get: + summary: Return an array of enabled promotions matching the specified filter criteria. + description: |- + Retrieves promotion information using filter criteria. In the request URL, you must provide a campaign_id parameter, and you can optionally specify a date + range by providing start_date and end_date parameters. Both parameters are required to specify a date range, and + omitting one causes the server to return a MissingParameterException fault. Each request returns only enabled + promotions, since the server does not consider promotion qualifiers or schedules. + operationId: getPromotionsForCampaign + parameters: + - $ref: '#/components/parameters/campaignId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/startDate' + - $ref: '#/components/parameters/endDate' + - $ref: '#/components/parameters/currency' + responses: + '200': + description: Retrieved promotion information successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PromotionResult' + examples: + PromotionsResult: + $ref: '#/components/examples/PromotionsResult' + '400': + description: Thrown when a start date is provided without an end date, when an end date is provided without a start date, or when an end date precedes the start date. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getPromotionsForCampaign400: + $ref: '#/components/examples/InvalidDate400' + '404': + description: Thrown when no promotion with the specified ID is found for the requested site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getPromotions404: + $ref: '#/components/examples/PromotionsNotFound404' + security: + - ShopperToken: + - sfcc.shopper-promotions +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc:shopper-promotions: Allows read operations on shopper promotions + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-promotions: Allows read operations on shopper promotions + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + Promotion: + description: Document representing a promotion. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + required: + - id + properties: + calloutMsg: + description: The localized call-out message of the promotion. + example: $30 Fixed Shipping Amount Above 150 + type: string + currency: + description: |- + The currency that a promotion can be applied to. A null value means that the promotion applies to all allowed + currencies. + example: USD + type: string + details: + description: The localized detailed description of the promotion. + example: $30 Fixed Shipping Amount Above 150 + type: string + endDate: + description: |- + The end date of the promotion. This property follows the ISO8601 date time format: yyyy-MM-dd'T'HH:mmZ . The time + zone of the date time is always UTC. + example: '2015-07-04T21:00:00Z' + type: string + format: date-time + id: + description: The unique ID of the promotion. + example: $30FixedShippingAmountAbove150 + type: string + image: + description: The URL to the promotion image. + type: string + name: + description: The localized name of the promotion. + example: $30 Fixed Shipping Amount Above 150 + type: string + startDate: + description: |- + The start date of the promotion. This property follows the ISO8601 date time format: yyyy-MM-dd'T'HH:mmZ. The + time zone of the date time is always UTC. + example: '2015-07-04T21:00:00Z' + type: string + format: date-time + PromotionResult: + description: Result document containing an array of promotions. + required: + - data + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + data: + description: The array of promotion documents. + type: array + items: + $ref: '#/components/schemas/Promotion' + example: + limit: 2 + data: + - calloutMsg: Buy5for50 + details: Buy5for50 + id: Buy5for50 + name: Buy5for50 + - calloutMsg: $5 off Men's Ties + details: $5 off Men's Ties (with coupon) + id: $5_off_ties_promotion + name: 5 Off Ties Promotion + total: 2 + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + ids: + name: ids + in: query + required: true + schema: + type: array + items: + type: string + maxLength: 256 + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + campaignId: + name: campaignId + in: path + description: Find the promotions assigned to this campaign (mandatory). + required: true + schema: + maxLength: 256 + minLength: 1 + type: string + startDate: + name: startDate + in: query + description: 'The start date of the promotion in ISO8601 date time format: yyyy-MM-dd''T''HH:mmZ' + required: false + schema: + type: string + endDate: + name: endDate + in: query + description: 'The end date of the promotion in ISO8601 date time format: yyyy-MM-dd''T''HH:mmZ' + required: false + schema: + type: string + currency: + name: currency + in: query + description: The currency mnemonic specified for price. This parameter is effective only for product suggestions. + required: false + schema: + $ref: '#/components/schemas/ISOCurrency' + examples: + PromotionsResult: + value: + limit: 2 + data: + - calloutMsg: Buy5for50 + details: Buy5for50 + id: Buy5for50 + name: Buy5for50 + - calloutMsg: $5 off Men's Ties + details: $5 off Men's Ties (with coupon) + id: $5_off_ties_promotion + name: 5 Off Ties Promotion + total: 2 + PromotionsNotFound404: + value: + type: /PromotionNotFoundException + detail: There is no promotion found with the given ID for the requested site. + title: Not Found + instance: /foo + InvalidDate400: + value: + type: /InvalidDateException + detail: Invalid Start or End Date + title: Invalid Start or End Date + instance: /foo diff --git a/apis/promotions-oas/shopper-promotions-oas-1.0.35/shopper-promotions-oas-v1-public.yaml b/apis/promotions-oas/shopper-promotions-oas-1.0.35/shopper-promotions-oas-v1-public.yaml new file mode 100644 index 00000000..79fbe1ac --- /dev/null +++ b/apis/promotions-oas/shopper-promotions-oas-1.0.35/shopper-promotions-oas-v1-public.yaml @@ -0,0 +1,418 @@ +openapi: 3.0.3 +info: + title: Shopper Promotions + version: v1 + description: |- + # API Overview + + Retrieve information about active promotions within the context of a shopper and a site. You can use this API to retrieve promotions that you configured in the commerce platform by searching for specific promotion IDs or by searching for promotions associated with a campaign. + + Caching is provided for the Shopper Promotions API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) + + ## Authentication & Authorization + + The Shopper Promotions API requires a JSON Web Token acquired via the Shopper Customers endpoint: + + ``` + https://{{shortcode}}.api.commercecloud.salesforce.com/customer/shopper-customers/v1/organizations/{{organizationId}}/customers/actions/login + ``` + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + ### Get Promotion by Promotion ID + + Use the Shopper Promotions API to find promotion information by the promotion ID. + + For example, a customer who is browsing on a commerce shopping app built using Commerce Cloud APIs can see the details about the applied promotions in the cart. + + ### Get Promotion by Campaign ID + + Use the Shopper Promotions API to find promotion information by the campaign ID. + + For example, a customer who is browsing on a commerce shopping app built using Commerce Cloud APIs can see the possible promotions that can be applied in the cart. + + ### Use Hooks + + For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/shopper-promotions/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/promotions: + get: + summary: Return an array of enabled promotions for specified IDs. + description: "In the request URL, you can specify up to 50 IDs. If you specify an ID that contains either parentheses or the separator characters, you must URL encode these characters. \nEach request returns only enabled promotions as the server does not consider promotion qualifiers or schedules." + operationId: getPromotions + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/ids' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Promotion information retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PromotionResult' + examples: + PromotionsResult: + $ref: '#/components/examples/PromotionsResult' + '404': + description: Thrown when there is no promotion found with the given ID for the requested site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getPromotions404: + $ref: '#/components/examples/PromotionsNotFound404' + security: + - ShopperToken: + - sfcc.shopper-promotions + /organizations/{organizationId}/promotions/campaigns/{campaignId}: + get: + summary: Return an array of enabled promotions matching the specified filter criteria. + description: |- + Retrieves promotion information using filter criteria. In the request URL, you must provide a campaign_id parameter, and you can optionally specify a date + range by providing start_date and end_date parameters. Both parameters are required to specify a date range, and + omitting one causes the server to return a MissingParameterException fault. Each request returns only enabled + promotions, since the server does not consider promotion qualifiers or schedules. + operationId: getPromotionsForCampaign + parameters: + - $ref: '#/components/parameters/campaignId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/startDate' + - $ref: '#/components/parameters/endDate' + - $ref: '#/components/parameters/currency' + responses: + '200': + description: Retrieved promotion information successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PromotionResult' + examples: + PromotionsResult: + $ref: '#/components/examples/PromotionsResult' + '400': + description: Thrown when a start date is provided without an end date, when an end date is provided without a start date, or when an end date precedes the start date. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getPromotionsForCampaign400: + $ref: '#/components/examples/InvalidDate400' + '404': + description: Thrown when no promotion with the specified ID is found for the requested site. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getPromotions404: + $ref: '#/components/examples/PromotionsNotFound404' + security: + - ShopperToken: + - sfcc.shopper-promotions +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc:shopper-promotions: Allows read operations on shopper promotions + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-promotions: Allows read operations on shopper promotions + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + Promotion: + description: Document representing a promotion. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + required: + - id + properties: + calloutMsg: + description: The localized call-out message of the promotion. + example: $30 Fixed Shipping Amount Above 150 + type: string + currency: + description: |- + The currency that a promotion can be applied to. A null value means that the promotion applies to all allowed + currencies. + example: USD + type: string + details: + description: The localized detailed description of the promotion. + example: $30 Fixed Shipping Amount Above 150 + type: string + endDate: + description: |- + The end date of the promotion. This property follows the ISO8601 date time format: yyyy-MM-dd'T'HH:mmZ . The time + zone of the date time is always UTC. + example: '2015-07-04T21:00:00Z' + type: string + format: date-time + id: + description: The unique ID of the promotion. + example: $30FixedShippingAmountAbove150 + type: string + image: + description: The URL to the promotion image. + type: string + name: + description: The localized name of the promotion. + example: $30 Fixed Shipping Amount Above 150 + type: string + startDate: + description: |- + The start date of the promotion. This property follows the ISO8601 date time format: yyyy-MM-dd'T'HH:mmZ. The + time zone of the date time is always UTC. + example: '2015-07-04T21:00:00Z' + type: string + format: date-time + PromotionResult: + description: Result document containing an array of promotions. + required: + - data + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + data: + description: The array of promotion documents. + type: array + items: + $ref: '#/components/schemas/Promotion' + example: + limit: 2 + data: + - calloutMsg: Buy5for50 + details: Buy5for50 + id: Buy5for50 + name: Buy5for50 + - calloutMsg: $5 off Men's Ties + details: $5 off Men's Ties (with coupon) + id: $5_off_ties_promotion + name: 5 Off Ties Promotion + total: 2 + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + ids: + name: ids + in: query + required: true + schema: + type: array + items: + type: string + maxLength: 256 + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + campaignId: + name: campaignId + in: path + description: Find the promotions assigned to this campaign (mandatory). + required: true + schema: + maxLength: 256 + minLength: 1 + type: string + startDate: + name: startDate + in: query + description: 'The start date of the promotion in ISO8601 date time format: yyyy-MM-dd''T''HH:mmZ' + required: false + schema: + type: string + endDate: + name: endDate + in: query + description: 'The end date of the promotion in ISO8601 date time format: yyyy-MM-dd''T''HH:mmZ' + required: false + schema: + type: string + currency: + name: currency + in: query + description: The currency mnemonic specified for price. This parameter is effective only for product suggestions. + required: false + schema: + $ref: '#/components/schemas/ISOCurrency' + examples: + PromotionsResult: + value: + limit: 2 + data: + - calloutMsg: Buy5for50 + details: Buy5for50 + id: Buy5for50 + name: Buy5for50 + - calloutMsg: $5 off Men's Ties + details: $5 off Men's Ties (with coupon) + id: $5_off_ties_promotion + name: 5 Off Ties Promotion + total: 2 + PromotionsNotFound404: + value: + type: /PromotionNotFoundException + detail: There is no promotion found with the given ID for the requested site. + title: Not Found + instance: /foo + InvalidDate400: + value: + type: /InvalidDateException + detail: Invalid Start or End Date + title: Invalid Start or End Date + instance: /foo diff --git a/apis/search-oas/shopper-search-oas-1.1.1/.metadata.json b/apis/search-oas/shopper-search-oas-1.1.1/.metadata.json new file mode 100644 index 00000000..69a6a3b7 --- /dev/null +++ b/apis/search-oas/shopper-search-oas-1.1.1/.metadata.json @@ -0,0 +1,17 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-search-oas/1.1.1", + "name": "Shopper Search OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-search-oas", + "version": "1.1.1", + "categories": { + "SDK Type": [ + "Isomorphic", + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/search-oas/shopper-search-oas-1.1.1/exchange.json b/apis/search-oas/shopper-search-oas-1.1.1/exchange.json new file mode 100644 index 00000000..6935ddb6 --- /dev/null +++ b/apis/search-oas/shopper-search-oas-1.1.1/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-search-oas-v1-public.yaml", + "name": "Shopper Search OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-search-oas", + "version": "1.1.1", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/search-oas/shopper-search-oas-1.1.1/shopper-search-oas-v1-internal.yaml b/apis/search-oas/shopper-search-oas-1.1.1/shopper-search-oas-v1-internal.yaml new file mode 100644 index 00000000..e1d8b7b6 --- /dev/null +++ b/apis/search-oas/shopper-search-oas-1.1.1/shopper-search-oas-v1-internal.yaml @@ -0,0 +1,1448 @@ +openapi: 3.0.3 +info: + title: Shopper Search + version: v1 + description: "# API Overview\n\nUse the Shopper Search API for search functionality that lets shoppers search for products using keywords and refinement. The search results can be products or suggestions based on the endpoint you choose in the API.\n\nCaching is provided for the Shopper Search API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html)\n\n## Authentication & Authorization\n\nThe client requesting the API must have access to the product search and search suggestion resources. \n\nThe Shopper Search API requires a JWT acquired via the Shopper Customers endpoint:\n\n```\nhttps://{shortCode}.api.commercecloud.salesforce.com/customer/shopper-customers/v1/organizations/{organizationId}/customers/actions/login\n```\n\n## Use Cases\n\n### Provide Search Suggestions\n\nUse the Shopper Search API to provide search suggestions as a shopper searches.\n\nFor example, a developer who is building a shopping app using the Salesforce Commerce API would like to provide product, brand, and category suggestions. When a shopper types in a search phrase that exceeds a definable minimum length and the GET Search Suggestion endpoint is requested, the platform delivers a set of suggestions with products (name, ID), brands (name), and categories (name, ID). Shoppers can reach their desired search results more quickly using the suggested completion and correction.\n\n### Provide Search Results\n\nUse the Shopper Search API to gather product results for a shoppers search query.\n\nFor example, a developer who is building a shopping app using the Salesforce Commerce API would like to implement a product search functionality. When a shopper enters a search phrase and the GET Product Search endpoint is requested, the platform performs a keyword search and a sorted search result is returned. The sorted search result can be refined according to given values (for example, a price range).\nThe product search result contains a definable number of product search hits. A product search hit describes a matching product with its ID and name. Furthermore, the search hit contains product images, prices, represented products, and variations. In addition to the search hits, the search results also deliver refinement and sorting options.\n\n### Retrieve Promotion Information\n\nNote: This only applies if `promotions` expand is provided in the query parameter.\n\nPromotions provide discounts to shoppers when they meet certain purchase requirements.\n\nPromotion information is described in detail in [Promotion Details](https://developer.salesforce.com/docs/commerce/commerce-api/guide/promotion-details.html), but the following list provides several key points:\n\n- Pricing discounts for basket and shipping promotions are NEVER returned by the 'getProduct' or 'getProducts' endpoint.\n- Promotional pricing is ONLY returned for products that are included with non-conditional promotions.\n- Callout messages are ALWAYS returned by the 'getProduct' and 'getProducts' endpoints.\n\nBy default, 'getProduct' and 'getProducts' return promotion information for a queried product. Promotion information includes both pricing and callout message information. However, the specific pricing and callout information that is fetched is determined by:\n\n- Promotion Type\n- Product Type\n- Product Purchase Requirements\n\nSome promotions can be displayed on a Product Data Page (PDP) or Product Listing page (PLP), while other promotions are displayed in the context of a basket, such as an order level promotion: \"add the product to your basket to view price information\". It is important to understand what is included in the response when designing a PDP or PLP on top of SCAPI to ensure your design aligns with implementable features.\n\nNote: When you search for a variant product, the Product Search API returns the master or main product as the primary search hit. When promotion data (productPromotion) is returned, it does not contain pricing information because the returned product is the main product. To retrieve pricing information, pass the query string `allVariationProperties=true` with the `promotions` expand parameter, which returns pricing data for variant products if the promotion is unconditional. The `allVariationProperties` flag specifies the variation properties to be included in the result.\n\n#### Shopper Personalization\nThe SCAPI response can be personalized using the Shopper Context API or hooks. By setting specific values in the Shopper Context API, you can modify the response of the 'getProduct' or 'getProducts' endpoint based on the shopper's context. For instance, you can offer a 5% discount or free shipping to shoppers using mobile devices.\n\n#### JWA Caching\nThe response is cached in JWA, which means promotion data contained in the response is also cached based on the TTL (Time to Live) specified in the Business Manager [Feature Switches](https://help.salesforce.com/s/articleView?id=cc.b2c_feature_switches.htm&type=5) configuration.\nWhen the shopper context value is updated, a check is conducted to see if the updated shopper context affects the retrieval of product-promotion data. If it does, then the response is fetched from the source and cached in the JWA.\n\nFor details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html)\n\n\n### Use Hooks\n\nFor details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html)\n\n## Best Practices\n\nThese best practices refer to features that are generally available with B2C Commerce 24.3.\n\nFor better performance, when you call the GET Product Search endpoint, we recommend that you:\n\n- Use the `select` query parameter to filter the response of a specified field or set of fields, and remove default outputs that you don't need. For example, filter the response to return only the relevant product names, ids, variants, and product IDs of the variants.\n- Limit API requests to the GET Product Search endpoint instead of calling both the GET Product Search and GET Products endpoints to show information on a product listing page (PLP). Use these features to provide the additional product information needed to render product tiles:\n - **Allowable value:** `promotions` value in the `expand` query parameter\n - **Query parameters:** `perPricebook`, `allImages`, and `allVariationProperties`\n - **Responses:** `productPromotions`, `imageGroups`, `priceRanges`, `tieredPrices`, `variants`, and `variationGroups`\n- Pass in only the `expand` values and query parameters that you consider necessary to meet your PLP requirements. Requesting large amounts of information can increase the latency, especially if there's a lot of data to be returned (for example, many imageGroups and variants)." +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/search/shopper-search/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/product-search: + get: + summary: "Provides keyword and refinement-based search for products, returning only product ID, link, and name. Results \nare limited to products that are online and part of the site catalog." + description: "Provide keyword and refinement search functionality for products. Only returns the product ID, link, and name in\nthe product search hit. The search result only contains products that are online and assigned to the site \ncatalog." + operationId: productSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/select' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/qProductSearch' + - $ref: '#/components/parameters/refine' + - $ref: '#/components/parameters/sort' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/locale' + - $ref: '#/components/parameters/expand' + - $ref: '#/components/parameters/allImages' + - $ref: '#/components/parameters/perPricebook' + - $ref: '#/components/parameters/allVariationProperties' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Product search successfully returned results. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductSearchResult' + examples: + ProductSearchResultExample: + $ref: '#/components/examples/ProductSearchResultExample' + '400': + description: Bad Request. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + MalformedSelectorGetProductsSearchForSelect: + $ref: '#/components/examples/MalformedSelectorGetProductsSearchForSelect' + security: + - ShopperToken: + - sfcc.shopper-product-search + /organizations/{organizationId}/search-suggestions: + get: + summary: "Provides keyword-based search suggestions for products, categories, and brands. Returns suggested items for each \nbased on the search phrase." + description: "Provide keyword search functionality for products, categories, and brands suggestions. Returns suggested \nproducts, suggested categories, and suggested brands for the given search phrase." + operationId: getSearchSuggestions + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/qSearchSuggestion' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Search suggestions successfully returned. + content: + application/json: + schema: + $ref: '#/components/schemas/SuggestionResult' + examples: + SearchSuggestionResultExample: + $ref: '#/components/examples/SearchSuggestionResultExample' + '400': + description: Thrown when a query parameter or its value is unknown, or when a maximum or minimum constraint is violated. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + StringConstraintViolation: + $ref: '#/components/examples/StringConstraintViolation' + security: + - ShopperToken: + - sfcc.shopper-product-search +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both Open Commerce API and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-product-search: Allows read operations on shopper search. + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-product-search: Allows read operations on shopper search. + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + Select: + minLength: 1 + description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. + example: (name,id,variationAttributes.(**)) + type: string + pattern: ^[(].*[)]$ + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + String4000: + type: string + maxLength: 4000 + description: "The String4000 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 4000 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 4000 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 2000 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 1333 characters." + example: This is a detailed description of an Excellent Product. It includes all the features, specifications, and benefits of the product. The Excellent Product is designed to provide exceptional performance and reliability. It is made from high-quality materials and has been rigorously tested to ensure it meets the highest standards. Whether you are using it for personal or professional purposes, the Excellent Product is the perfect choice. With its advanced technology and user-friendly design, it offers unparalleled convenience and efficiency. Order your Excellent Product today and experience the difference it can make. + Image: + properties: + alt: + allOf: + - $ref: '#/components/schemas/String4000' + example: The White Dress Shirt + disBaseLink: + allOf: + - $ref: '#/components/schemas/String4000' + example: https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg + link: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + example: https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg + title: + allOf: + - $ref: '#/components/schemas/String4000' + example: The White Dress Shirt + required: + - link + type: object + ProductType: + description: Document representing a product type. + properties: + bundle: + description: A flag indicating whether the product is a bundle. + type: boolean + example: true + item: + description: A flag indicating whether the product is a standard item. + type: boolean + example: true + master: + description: A flag indicating whether the product is a master. + type: boolean + example: true + option: + description: A flag indicating whether the product is an option. + type: boolean + example: true + set: + description: A flag indicating whether the product is a set. + type: boolean + example: true + variant: + description: A flag indicating whether the product is a variant. + type: boolean + example: true + variationGroup: + description: A flag indicating whether the product is a variation group. + type: boolean + example: true + type: object + ProductRef: + description: Document representing a product reference. + properties: + id: + description: The ID of the product reference. + type: string + minLength: 1 + maxLength: 100 + example: '74974310' + required: + - id + type: object + VariationAttributeValue: + description: Document representing a variation attribute value. + properties: + description: + description: The localized description of the variation value. + allOf: + - $ref: '#/components/schemas/String4000' + example: Size 15R + image: + description: The first product image for the configured viewtype and this variation value. + allOf: + - $ref: '#/components/schemas/Image' + imageSwatch: + description: The first product image for the configured viewtype and this variation value. Typically the swatch image. + allOf: + - $ref: '#/components/schemas/Image' + name: + description: The localized display name of the variation value. + allOf: + - $ref: '#/components/schemas/String4000' + example: 15R + orderable: + description: A flag indicating whether at least one variant with this variation attribute value is available to sell. + type: boolean + example: true + value: + minLength: 1 + description: The actual variation value. + allOf: + - $ref: '#/components/schemas/String4000' + example: 15R + required: + - value + type: object + VariationAttribute: + description: Document representing a variation attribute. + properties: + id: + minLength: 1 + description: The ID of the variation attribute. + allOf: + - $ref: '#/components/schemas/String256' + example: size + name: + description: The localized display name of the variation attribute. + allOf: + - $ref: '#/components/schemas/String4000' + example: size + values: + description: The sorted array of variation values. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationAttributeValue' + required: + - id + type: object + ImageGroup: + description: Document representing an image group containing a list of images for a particular view type and an optional variation value. + properties: + images: + description: The images of the image group. + type: array + minLength: 1 + items: + $ref: '#/components/schemas/Image' + variationAttributes: + description: Returns a list of variation attributes applying to this image group. + type: array + items: + $ref: '#/components/schemas/VariationAttribute' + viewType: + description: The image view type. + example: hi-res + type: string + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + required: + - images + - viewType + type: object + PriceRange: + description: Document representing price ranges for a product which happens to be a master product (per Pricebook) + properties: + maxPrice: + format: double + description: Maximum price for the given pricebook (usually for a master Product would be the price for the Variant which has the highest price out of all Variants in that pricebook) + example: 10.89 + type: number + minPrice: + format: double + description: Minimum price for the given pricebook (usually for a master Product would be the price for the Variant which has the least price out of all Variants in that pricebook) + example: 10.89 + type: number + pricebook: + description: The active pricebook from which the min and the max prices are calculated. The pricebook is based on the site context of the request as defined in ECOM. + example: usd-list-pricebook + allOf: + - $ref: '#/components/schemas/String256' + type: object + ProductPromotion: + description: Document representing a product promotion. + properties: + calloutMsg: + description: The localized call-out message of the promotion. + example: Fantastic promotion + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + promotionId: + description: The unique ID of the promotion. + example: summerSale + type: string + minLength: 1 + maxLength: 260 + promotionalPrice: + format: double + description: The promotional price for this product. + example: 12.99 + type: number + minLength: 1 + required: + - calloutMsg + - promotionId + - promotionalPrice + type: object + ProductPriceTable: + description: Tiered Price Level Object + properties: + price: + format: double + description: Price for the product for the specified tier for the specified pricebook + example: 12.99 + type: number + pricebook: + description: The active pricebook for which this price is defined + example: usd-list-pricebook + allOf: + - $ref: '#/components/schemas/String256' + quantity: + format: double + description: Quantity tier for which the price is defined. + example: 1 + type: number + type: object + Variant: + description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU.* + properties: + orderable: + description: A flag indicating whether the variant is orderable. + example: true + type: boolean + price: + format: double + description: The sales price of the variant. + example: 25.99 + type: number + productId: + minLength: 1 + maxLength: 100 + description: The ID (SKU) of the variant. + example: 8W4756834 + type: string + tieredPrices: + description: List of tiered prices if the product is a variant + type: array + items: + $ref: '#/components/schemas/ProductPriceTable' + variationValues: + description: The actual variation attribute ID - value pairs. + type: object + additionalProperties: + allOf: + - $ref: '#/components/schemas/String4000' + example: Beige + productPromotions: + description: |- + The array of active customer product promotions for this product. This array can be empty. + Coupon promotions are not returned in this array. + type: array + items: + $ref: '#/components/schemas/ProductPromotion' + required: + - productId + type: object + VariationGroup: + description: Representation of a group of variant products by an attribute. This can't be purchased by a shopper. It provides inheritable attributes for its product variants and is used for navigation. A VariationGroup doesn't have a SKU. + properties: + orderable: + description: A flag indicating whether the variation group is orderable. + example: false + type: boolean + minLength: 1 + price: + format: double + description: The sales price of the variation group. + example: 24.99 + type: number + minLength: 1 + productId: + minLength: 1 + maxLength: 100 + description: The ID (SKU) of the variation group. + example: 49345VG + type: string + variationValues: + description: The actual variation attribute ID - value pairs. + type: object + minLength: 1 + additionalProperties: + allOf: + - $ref: '#/components/schemas/String4000' + example: Beige + required: + - orderable + - price + - productId + - variationValues + type: object + ProductSearchHit: + description: Document representing a product search hit. + properties: + currency: + $ref: '#/components/schemas/CurrencyCode' + hitType: + description: The type information for the search hit. + allOf: + - $ref: '#/components/schemas/String256' + example: product + image: + description: The first image of the product hit for the configured viewtype. + allOf: + - $ref: '#/components/schemas/Image' + orderable: + description: A flag indicating whether the product is orderable. + type: boolean + example: true + price: + format: double + description: |- + The sales price of the product. In complex products, like master or set, this is the minimum price of + related child products. + type: number + example: 135 + priceMax: + format: double + description: The maximum sales of related child products in complex products like master or set. + type: number + example: 150 + productId: + description: The ID (SKU) of the product. + type: string + minLength: 1 + example: '74974310' + maxLength: 100 + productName: + description: The localized name of the product. + example: Modern Dress Shirt + allOf: + - $ref: '#/components/schemas/String4000' + productType: + description: The type information for the product. + allOf: + - $ref: '#/components/schemas/ProductType' + representedProduct: + description: The first represented product. + allOf: + - $ref: '#/components/schemas/ProductRef' + representedProducts: + description: All the represented products. + type: array + items: + $ref: '#/components/schemas/ProductRef' + variationAttributes: + description: The array of represented variation attributes, for the master product only. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationAttribute' + imageGroups: + description: The array of product image groups. + type: array + items: + $ref: '#/components/schemas/ImageGroup' + priceRanges: + description: Array of one or more price range objects representing one or more Pricebooks in context for the site. + type: array + items: + $ref: '#/components/schemas/PriceRange' + productPromotions: + description: |- + The array of active customer product promotions for this product. This array can be empty. + Coupon promotions are not returned in this array. + type: array + items: + $ref: '#/components/schemas/ProductPromotion' + tieredPrices: + description: The document represents list of tiered prices if the product is a variant + type: array + items: + $ref: '#/components/schemas/ProductPriceTable' + variants: + description: The array of actual variants. Only for master, variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/Variant' + variationGroups: + description: The array of actual variation groups. Only for master, variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationGroup' + required: + - productId + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + PageMetaTag: + description: Document representing a Page Meta Tag object. + properties: + id: + description: The ID of the Page Meta Tag. + example: title + allOf: + - $ref: '#/components/schemas/String256' + value: + description: Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID. + example: Buy the Long Sleeve Covered Placket Blouse for USD 61.99. + type: string + type: object + ProductSearchRefinementValue: + description: Document representing a product search refinement value. + properties: + description: + description: The localized description of the refinement value. + allOf: + - $ref: '#/components/schemas/String4000' + example: The Beige objects + hitCount: + format: int32 + description: The number of search hits when selecting the refinement value. Can be 0. + type: integer + minLength: 1 + example: 3 + label: + description: The localized label of the refinement value. + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + example: Beige + presentationId: + description: |- + The optional presentation ID associated with the refinement value. + The presentation ID can be used, for example, to associate an ID with + an HTML widget. + allOf: + - $ref: '#/components/schemas/String256' + example: beige + value: + description: "The refinement value. In the case of an attribute refinement, this is the bucket, the attribute value, or a \nvalue range. In the case of a category refinement, this is the category ID. In the case of a price \nrefinement, this is the price range. Ranges are enclosed by parentheses and delimited by \"..\"; for example, \n\"(100..999)\" and \"(Aa..Fa)\" are valid ranges." + type: string + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + example: Beige + values: + description: The array of hierarchical refinement values. This array can be empty. + type: array + items: + $ref: '#/components/schemas/ProductSearchRefinementValue' + required: + - hitCount + - label + - value + type: object + ProductSearchRefinement: + description: Document representing a product search refinement attribute. + properties: + attributeId: + description: |- + The ID of the search refinement attribute. In the case of an attribute refinement, this is the attribute ID. + Custom attributes are marked by the prefix "c_" (for example, "c_refinementColor"). In the case of a + category refinement, the ID must be "cgid". In the case of a price refinement, the ID must be "price". + example: refinementColor + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + label: + description: The localized label of the refinement. + example: Color + allOf: + - $ref: '#/components/schemas/String256' + values: + description: The sorted array of refinement values. This array can be empty. + type: array + items: + $ref: '#/components/schemas/ProductSearchRefinementValue' + required: + - attributeId + type: object + SuggestedPhrase: + description: Document representing a suggested search phrase. + properties: + exactMatch: + description: Returns whether this suggested phrase exactly matches the user input search phrase. + type: boolean + minLength: 1 + example: true + phrase: + description: Returns the suggested search phrase. + type: string + minLength: 1 + maxLength: 50 + example: sony + required: + - exactMatch + - phrase + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + SuggestedTerm: + description: Document representing a suggested term. + properties: + completed: + description: Returns whether this term value is a completion match. + type: boolean + minLength: 1 + example: true + corrected: + description: Returns whether this term value is a correction match. + type: boolean + minLength: 1 + example: false + exactMatch: + description: Returns whether this term value is a exact match. + type: boolean + minLength: 1 + example: false + value: + description: Returns the term value. + type: string + minLength: 1 + maxLength: 50 + example: sony + required: + - completed + - corrected + - exactMatch + - value + type: object + SuggestedTerms: + description: Document representing a list of suggested terms for each term of a search phrase. + properties: + originalTerm: + description: Returns the original term that the suggested terms relates to. + type: string + minLength: 1 + maxLength: 50 + example: son + terms: + description: Returns the suggested terms. + type: array + items: + $ref: '#/components/schemas/SuggestedTerm' + required: + - originalTerm + type: object + Suggestion: + description: Document representing a suggestion. + properties: + suggestedPhrases: + description: A list of suggested phrases. This list can be empty. + type: array + items: + $ref: '#/components/schemas/SuggestedPhrase' + suggestedTerms: + description: A list of suggested terms. This list can be empty. + type: array + minLength: 1 + items: + $ref: '#/components/schemas/SuggestedTerms' + required: + - suggestedTerms + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ProductSearchSortingOption: + description: Document representing a product search sorting option. + properties: + id: + description: The ID of the sorting option. + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + example: best-matches + label: + description: The localized label of the sorting option. + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + example: Best Matches + required: + - id + - label + type: object + ProductSearchResult: + description: Document representing a product search result. + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + hits: + description: A sorted array of search hits (`ProductSearchHit` objects). The array can be empty. + type: array + minLength: 1 + items: + $ref: '#/components/schemas/ProductSearchHit' + pageMetaTags: + description: Page Meta tags associated with the search result. + type: array + items: + $ref: '#/components/schemas/PageMetaTag' + query: + description: The query string that was searched for. + type: string + maxLength: 50 + example: dresses + refinements: + description: The sorted array of search refinements. This array can be empty. + type: array + minLength: 1 + items: + $ref: '#/components/schemas/ProductSearchRefinement' + searchPhraseSuggestions: + description: The suggestion given by the system for the submitted search phrase. + minLength: 1 + allOf: + - $ref: '#/components/schemas/Suggestion' + selectedRefinements: + description: A map of selected refinement attribute ID or value pairs. The sorting order is the same as in request URL. + type: object + additionalProperties: + allOf: + - $ref: '#/components/schemas/String4000' + example: Beige + selectedSortingOption: + description: The ID of the applied sorting option. + allOf: + - $ref: '#/components/schemas/String4000' + example: best-matches + sortingOptions: + description: The sorted array of search sorting options. This array can be empty. + type: array + minLength: 1 + items: + $ref: '#/components/schemas/ProductSearchSortingOption' + required: + - limit + - hits + - query + - refinements + - searchPhraseSuggestions + - sortingOptions + - offset + - total + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + BrandSuggestions: + description: The suggested brand names are listed in suggested phrases. If this list is empty, no brand suggestion for a given search phrase was found. + allOf: + - $ref: '#/components/schemas/Suggestion' + SuggestedCategory: + properties: + id: + description: The ID of the category. + type: string + minLength: 1 + maxLength: 260 + example: womens-clothing-dresses + name: + description: The localized name of the category. + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + example: Dresses + parentCategoryName: + description: The name of the parent category. + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + example: Clothing + required: + - id + - name + - parentCategoryName + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + CategorySuggestions: + allOf: + - $ref: '#/components/schemas/Suggestion' + properties: + categories: + description: The sorted list of suggested categories. This list can be empty. + type: array + items: + $ref: '#/components/schemas/SuggestedCategory' + type: object + SuggestedProduct: + description: Document representing a product search hit. + properties: + currency: + $ref: '#/components/schemas/CurrencyCode' + price: + format: double + description: |- + The sales price of the product. In the case of complex products like a master or a set, this is the minimum price of + related child products. + type: number + minLength: 1 + example: 300 + productId: + description: The ID (SKU) of the product. + type: string + minLength: 1 + maxLength: 100 + example: sony-ps3-bundle + productName: + description: The localized name of the product. + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + example: Playstation 3 Bundle + required: + - currency + - price + - productId + - productName + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ProductSuggestions: + allOf: + - $ref: '#/components/schemas/Suggestion' + properties: + products: + description: The sorted list of suggested products. This list can be empty. + type: array + items: + $ref: '#/components/schemas/SuggestedProduct' + type: object + CustomSuggestions: + description: The custom suggestions are listed in suggested phrases. If this list is empty, no custom suggestion for the given search phrase was found. + allOf: + - $ref: '#/components/schemas/Suggestion' + properties: + customSuggestion: + type: string + example: Try searching for budget shoes. + type: object + SuggestionResult: + description: Document representing a search suggestion result. + properties: + brandSuggestions: + description: Returns the suggested brands. + allOf: + - $ref: '#/components/schemas/BrandSuggestions' + categorySuggestions: + description: Returns the suggested categories. + allOf: + - $ref: '#/components/schemas/CategorySuggestions' + productSuggestions: + description: Returns the suggested products. + allOf: + - $ref: '#/components/schemas/ProductSuggestions' + customSuggestion: + description: Returns custom suggestions. + allOf: + - $ref: '#/components/schemas/CustomSuggestions' + searchPhrase: + description: The query phrase (q) for which suggestions where made. + type: string + example: dresses + minLength: 3 + maxLength: 50 + required: + - searchPhrase + type: object + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + select: + description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. + name: select + in: query + examples: + select: + value: (**) + schema: + $ref: '#/components/schemas/Select' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + qProductSearch: + name: q + in: query + description: The query phrase to search for. For example to search for a product "shirt", type q=shirt. + required: false + schema: + maxLength: 50 + minLength: 1 + type: string + example: shirt + refine: + name: refine + in: query + description: "Parameter that represents a refinement attribute or values pair. Refinement attribute ID and \nvalues are separated by '='. Multiple values are supported by a subset of refinement attributes and \ncan be provided by separating them using a pipe (URL \nencoded = \\\"|\\\") i.e. refine=c_refinementColor=red|green|blue. Value ranges can be specified like this: refine=price=(100..500) . \nMultiple refine parameters can be provided by using the refine as the key i.e refine=price=(0..10)&refine=c_refinementColor=green. \nThe refinements can be a collection of custom defined attributes IDs and the system defined attributes IDs but the search can \nonly accept a total of 9 refinements at a time. \nThe following system refinement attribute ids are supported:\ncgid: Allows refinement per single category ID. Multiple category ids are not supported. \nprice: Allows refinement per single price range. Multiple price ranges are not supported. \npmid: Allows refinement per promotion ID. \nhtype: Allow refinement by including only the provided hit types. Accepted types are 'product', 'master', 'set', 'bundle', 'slicing_group' (deprecated), 'variation_group'.\norderable_only: Unavailable products are excluded from the search results if true is set. Multiple refinement values are not supported.\nilids: Allows refinement per inventory list IDs. Important Note:This API parameter is not GA and is currently a pilot/beta service as defined by the customer's main services agreement and provided as-is. If you are not part of the pilot/beta program, the API will throw an exception. Contact your customer success representative for more information.\n\n**Note:** To refine a search using multiple promotion filters—for example, to find products in both the spring and summer campaigns—see [Refining by Multiple Promotions](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-promotions-for-developers.html#refining-by-multiple-promotions)." + required: false + style: form + explode: true + schema: + type: string + maxLength: 4000 + example: refine=price=(0..10)&refine=c_refinementColor=green + sort: + name: sort + in: query + description: The ID of the sorting option to sort the search hits. + required: false + schema: + example: brand + allOf: + - $ref: '#/components/schemas/String256' + currency: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + name: currency + in: query + examples: + CurrencyCode: + value: USD + schema: + $ref: '#/components/schemas/CurrencyCode' + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + expand: + name: expand + in: query + description: "A comma-separated list with allowed values - `availability`, `images`, `prices`, `represented_products`, `variations`, `promotions`, `custom_properties`. \nBy default, the expand parameter includes `availability, images, prices, represented_products, variations`. \nUse none to disable all expand options. \n**The page_meta_tags expand value is optional and is available B2C Commerce version 25.2.**\"" + required: false + schema: + items: + type: string + example: prices + enum: + - none + - availability + - images + - prices + - represented_products + - variations + - promotions + - custom_properties + - page_meta_tags + type: array + allImages: + name: allImages + in: query + description: "When the `images` expand parameter is used with this flag, the response includes the `imageGroups property`, which contains an image model. \nIf this flag is true, the full image model is returned. If false, only matching images are included. \nIf no flag is passed, the `imageGroups` property is omitted from the response." + required: false + schema: + type: boolean + example: true + perPricebook: + name: perPricebook + in: query + description: When this flag is set to `true` and is used with the `prices` expand parameter, the response includes per PriceBook prices and tiered prices (if available). + required: false + schema: + type: boolean + example: true + allVariationProperties: + name: allVariationProperties + in: query + description: The flag that determines which variation properties are included in the result. When set to `true` with the `variations` expand parameter, all variation properties (`variationAttributes`, `variationGroups`, `variants`) are returned. When set to false, only the default property `variationAttributes` is returned. + required: false + schema: + type: boolean + example: false + qSearchSuggestion: + name: q + in: query + description: The search phrase (q) for which suggestions are evaluated. Search suggestions are determined when the search phrase input is at least three (default) characters long. The value is configurable in the Business Manager. + required: true + schema: + maxLength: 50 + minLength: 3 + type: string + example: sho + limit: + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + name: limit + in: query + examples: + limit: + value: 25 + schema: + $ref: '#/components/schemas/Limit' + examples: + ProductSearchResultExample: + value: + limit: 3 + hits: + - currency: USD + hitType: master + image: + alt: Modern Dress Shirt, , large + disBaseLink: https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw7671b929/images/large/B0174501_GY9_0.jpg + link: https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw7671b929/images/large/B0174501_GY9_0.jpg + title: 'Modern Dress Shirt, ' + orderable: true + price: 135 + productId: '74974310' + productName: Modern Dress Shirt + productType: + master: true + representedProduct: + id: 74974310-1 + representedProducts: + - id: 74974310-1 + - id: 74974310-2 + - id: 74974310-3 + - id: 74974310-4 + variationAttributes: + - id: color + name: color + values: + - name: Blue + orderable: true + value: '002' + - id: size + name: size + values: + - name: 15R + orderable: true + value: 15R + - name: 15L + orderable: true + value: 15L + - name: 16L + orderable: true + value: 16L + - currency: USD + hitType: master + image: + alt: The White Dress Shirt, , large + disBaseLink: https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg + link: https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg + title: 'The White Dress Shirt, ' + orderable: true + price: 135 + productId: '78916783' + productName: The White Dress Shirt + productType: + master: true + representedProduct: + id: 78916783-1 + representedProducts: + - id: 78916783-1 + - id: 78916783-2 + - id: 78916783-3 + - id: 78916783-4 + variationAttributes: + - id: color + name: Color + values: + - name: White + orderable: true + value: white + - id: size + name: size + values: + - name: 15L + orderable: true + value: 15L + - name: 15R + orderable: true + value: 15R + - currency: USD + hitType: master + image: + alt: Striped Shirt, , large + disBaseLink: https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw83b22281/images/large/PG.10213135.JJ9VSA5.PZ.jpg + link: https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw83b22281/images/large/PG.10213135.JJ9VSA5.PZ.jpg + title: 'Striped Shirt, ' + orderable: true + price: 40.99 + productId: '25518484' + productName: Striped Shirt + productType: + master: true + representedProduct: + id: '701642854760' + representedProducts: + - id: '701642854760' + - id: '701642854784' + - id: '701642854791' + - id: '701642854777' + variationAttributes: + - id: color + name: Color + values: + - name: Royal Multi + orderable: true + value: JJ9VSA5 + - id: size + name: Size + values: + - name: S + orderable: true + value: 9SM + - name: M + orderable: true + value: 9MD + - name: L + orderable: true + value: 9LG + - name: XL + orderable: true + value: 9XL + pageMetaTags: + - id: robots + value: index,follow + - id: title + value: Find amazing products in Storefront Catalog - EN' today + query: shirt + refinements: + - attributeId: cgid + label: Category + values: + - hitCount: 4 + label: New Arrivals + value: newarrivals + - attributeId: c_refinementColor + label: Color + values: + - hitCount: 0 + label: Beige + presentationId: beige + value: Beige + - hitCount: 0 + label: Yellow + presentationId: yellow + value: Yellow + - hitCount: 7 + label: Miscellaneous + presentationId: miscellaneous + value: Miscellaneous + - attributeId: price + label: Price + values: + - hitCount: 14 + label: $20 - $49.99 + value: (20..50) + - hitCount: 26 + label: $50 - $99.99 + value: (50..100) + - hitCount: 6 + label: $100 - $499.99 + value: (100..500) + - attributeId: c_isNew + label: New Arrival + values: + - hitCount: 1 + label: 'true' + value: 'true' + - attributeId: brand + label: brand + values: + - hitCount: 1 + label: Lacy-S + value: Lacy-S + searchPhraseSuggestions: + suggestedPhrases: + - exactMatch: true + phrase: shirt + suggestedTerms: + - originalTerm: shirt + terms: + - completed: false + corrected: false + exactMatch: true + value: shirt + sortingOptions: + - id: best-matches + label: Best Matches + - id: price-low-to-high + label: Price Low To High + offset: 0 + total: 46 + MalformedSelectorGetProductsSearchForSelect: + value: + title: Malformed Selector + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-selector + detail: The property selector '(hits.(currency, hitType,image.(**))' is malformed. + selector: (hits.(currency, hitType,image.(**)) + SearchSuggestionResultExample: + value: + brandSuggestions: + suggestedPhrases: + - exactMatch: false + phrase: Sony + suggestedTerms: + - originalTerm: son + terms: + - completed: true + corrected: false + exactMatch: false + value: sony + categorySuggestions: + suggestedTerms: + - originalTerm: son + productSuggestions: + products: + - currency: EUR + price: 300 + productId: sony-ps3-bundle + productName: Playstation 3 Bundle + - currency: EUR + price: 310 + productId: sony-alpha350-wlen + productName: Sony Alpha 350 Digital SLR Camera w/18-70mm Lens + - currency: EUR + price: 10 + productId: sony-alpha900-body + productName: Sony Alpha 900 Digital SLR Camera (body only) + - currency: EUR + price: 50 + productId: sony-warhawk-ps3 + productName: Warhawk (for Sony PS3) + - currency: EUR + price: 280 + productId: sony-psp-console + productName: Sony PSP® Game Console + suggestedPhrases: + - exactMatch: false + phrase: sony + suggestedTerms: + - originalTerm: son + terms: + - completed: true + corrected: false + exactMatch: false + value: sony + - completed: true + corrected: false + exactMatch: false + value: sonyalpha + searchPhrase: son + StringConstraintViolation: + value: + title: String Constraint Violation + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/string-constraint-violation + detail: The string length constraint was violated by 'q'. The expected length is '(3..50)'. + expected: (3..50) + parameter: q diff --git a/apis/search-oas/shopper-search-oas-1.1.1/shopper-search-oas-v1-public.yaml b/apis/search-oas/shopper-search-oas-1.1.1/shopper-search-oas-v1-public.yaml new file mode 100644 index 00000000..e1d8b7b6 --- /dev/null +++ b/apis/search-oas/shopper-search-oas-1.1.1/shopper-search-oas-v1-public.yaml @@ -0,0 +1,1448 @@ +openapi: 3.0.3 +info: + title: Shopper Search + version: v1 + description: "# API Overview\n\nUse the Shopper Search API for search functionality that lets shoppers search for products using keywords and refinement. The search results can be products or suggestions based on the endpoint you choose in the API.\n\nCaching is provided for the Shopper Search API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html)\n\n## Authentication & Authorization\n\nThe client requesting the API must have access to the product search and search suggestion resources. \n\nThe Shopper Search API requires a JWT acquired via the Shopper Customers endpoint:\n\n```\nhttps://{shortCode}.api.commercecloud.salesforce.com/customer/shopper-customers/v1/organizations/{organizationId}/customers/actions/login\n```\n\n## Use Cases\n\n### Provide Search Suggestions\n\nUse the Shopper Search API to provide search suggestions as a shopper searches.\n\nFor example, a developer who is building a shopping app using the Salesforce Commerce API would like to provide product, brand, and category suggestions. When a shopper types in a search phrase that exceeds a definable minimum length and the GET Search Suggestion endpoint is requested, the platform delivers a set of suggestions with products (name, ID), brands (name), and categories (name, ID). Shoppers can reach their desired search results more quickly using the suggested completion and correction.\n\n### Provide Search Results\n\nUse the Shopper Search API to gather product results for a shoppers search query.\n\nFor example, a developer who is building a shopping app using the Salesforce Commerce API would like to implement a product search functionality. When a shopper enters a search phrase and the GET Product Search endpoint is requested, the platform performs a keyword search and a sorted search result is returned. The sorted search result can be refined according to given values (for example, a price range).\nThe product search result contains a definable number of product search hits. A product search hit describes a matching product with its ID and name. Furthermore, the search hit contains product images, prices, represented products, and variations. In addition to the search hits, the search results also deliver refinement and sorting options.\n\n### Retrieve Promotion Information\n\nNote: This only applies if `promotions` expand is provided in the query parameter.\n\nPromotions provide discounts to shoppers when they meet certain purchase requirements.\n\nPromotion information is described in detail in [Promotion Details](https://developer.salesforce.com/docs/commerce/commerce-api/guide/promotion-details.html), but the following list provides several key points:\n\n- Pricing discounts for basket and shipping promotions are NEVER returned by the 'getProduct' or 'getProducts' endpoint.\n- Promotional pricing is ONLY returned for products that are included with non-conditional promotions.\n- Callout messages are ALWAYS returned by the 'getProduct' and 'getProducts' endpoints.\n\nBy default, 'getProduct' and 'getProducts' return promotion information for a queried product. Promotion information includes both pricing and callout message information. However, the specific pricing and callout information that is fetched is determined by:\n\n- Promotion Type\n- Product Type\n- Product Purchase Requirements\n\nSome promotions can be displayed on a Product Data Page (PDP) or Product Listing page (PLP), while other promotions are displayed in the context of a basket, such as an order level promotion: \"add the product to your basket to view price information\". It is important to understand what is included in the response when designing a PDP or PLP on top of SCAPI to ensure your design aligns with implementable features.\n\nNote: When you search for a variant product, the Product Search API returns the master or main product as the primary search hit. When promotion data (productPromotion) is returned, it does not contain pricing information because the returned product is the main product. To retrieve pricing information, pass the query string `allVariationProperties=true` with the `promotions` expand parameter, which returns pricing data for variant products if the promotion is unconditional. The `allVariationProperties` flag specifies the variation properties to be included in the result.\n\n#### Shopper Personalization\nThe SCAPI response can be personalized using the Shopper Context API or hooks. By setting specific values in the Shopper Context API, you can modify the response of the 'getProduct' or 'getProducts' endpoint based on the shopper's context. For instance, you can offer a 5% discount or free shipping to shoppers using mobile devices.\n\n#### JWA Caching\nThe response is cached in JWA, which means promotion data contained in the response is also cached based on the TTL (Time to Live) specified in the Business Manager [Feature Switches](https://help.salesforce.com/s/articleView?id=cc.b2c_feature_switches.htm&type=5) configuration.\nWhen the shopper context value is updated, a check is conducted to see if the updated shopper context affects the retrieval of product-promotion data. If it does, then the response is fetched from the source and cached in the JWA.\n\nFor details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html)\n\n\n### Use Hooks\n\nFor details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html)\n\n## Best Practices\n\nThese best practices refer to features that are generally available with B2C Commerce 24.3.\n\nFor better performance, when you call the GET Product Search endpoint, we recommend that you:\n\n- Use the `select` query parameter to filter the response of a specified field or set of fields, and remove default outputs that you don't need. For example, filter the response to return only the relevant product names, ids, variants, and product IDs of the variants.\n- Limit API requests to the GET Product Search endpoint instead of calling both the GET Product Search and GET Products endpoints to show information on a product listing page (PLP). Use these features to provide the additional product information needed to render product tiles:\n - **Allowable value:** `promotions` value in the `expand` query parameter\n - **Query parameters:** `perPricebook`, `allImages`, and `allVariationProperties`\n - **Responses:** `productPromotions`, `imageGroups`, `priceRanges`, `tieredPrices`, `variants`, and `variationGroups`\n- Pass in only the `expand` values and query parameters that you consider necessary to meet your PLP requirements. Requesting large amounts of information can increase the latency, especially if there's a lot of data to be returned (for example, many imageGroups and variants)." +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/search/shopper-search/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/product-search: + get: + summary: "Provides keyword and refinement-based search for products, returning only product ID, link, and name. Results \nare limited to products that are online and part of the site catalog." + description: "Provide keyword and refinement search functionality for products. Only returns the product ID, link, and name in\nthe product search hit. The search result only contains products that are online and assigned to the site \ncatalog." + operationId: productSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/select' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/qProductSearch' + - $ref: '#/components/parameters/refine' + - $ref: '#/components/parameters/sort' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/locale' + - $ref: '#/components/parameters/expand' + - $ref: '#/components/parameters/allImages' + - $ref: '#/components/parameters/perPricebook' + - $ref: '#/components/parameters/allVariationProperties' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Product search successfully returned results. + content: + application/json: + schema: + $ref: '#/components/schemas/ProductSearchResult' + examples: + ProductSearchResultExample: + $ref: '#/components/examples/ProductSearchResultExample' + '400': + description: Bad Request. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + MalformedSelectorGetProductsSearchForSelect: + $ref: '#/components/examples/MalformedSelectorGetProductsSearchForSelect' + security: + - ShopperToken: + - sfcc.shopper-product-search + /organizations/{organizationId}/search-suggestions: + get: + summary: "Provides keyword-based search suggestions for products, categories, and brands. Returns suggested items for each \nbased on the search phrase." + description: "Provide keyword search functionality for products, categories, and brands suggestions. Returns suggested \nproducts, suggested categories, and suggested brands for the given search phrase." + operationId: getSearchSuggestions + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/qSearchSuggestion' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/currency' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Search suggestions successfully returned. + content: + application/json: + schema: + $ref: '#/components/schemas/SuggestionResult' + examples: + SearchSuggestionResultExample: + $ref: '#/components/examples/SearchSuggestionResultExample' + '400': + description: Thrown when a query parameter or its value is unknown, or when a maximum or minimum constraint is violated. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + StringConstraintViolation: + $ref: '#/components/examples/StringConstraintViolation' + security: + - ShopperToken: + - sfcc.shopper-product-search +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both Open Commerce API and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-product-search: Allows read operations on shopper search. + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-product-search: Allows read operations on shopper search. + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + Select: + minLength: 1 + description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. + example: (name,id,variationAttributes.(**)) + type: string + pattern: ^[(].*[)]$ + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + String4000: + type: string + maxLength: 4000 + description: "The String4000 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 4000 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 4000 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 2000 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 1333 characters." + example: This is a detailed description of an Excellent Product. It includes all the features, specifications, and benefits of the product. The Excellent Product is designed to provide exceptional performance and reliability. It is made from high-quality materials and has been rigorously tested to ensure it meets the highest standards. Whether you are using it for personal or professional purposes, the Excellent Product is the perfect choice. With its advanced technology and user-friendly design, it offers unparalleled convenience and efficiency. Order your Excellent Product today and experience the difference it can make. + Image: + properties: + alt: + allOf: + - $ref: '#/components/schemas/String4000' + example: The White Dress Shirt + disBaseLink: + allOf: + - $ref: '#/components/schemas/String4000' + example: https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg + link: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + example: https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg + title: + allOf: + - $ref: '#/components/schemas/String4000' + example: The White Dress Shirt + required: + - link + type: object + ProductType: + description: Document representing a product type. + properties: + bundle: + description: A flag indicating whether the product is a bundle. + type: boolean + example: true + item: + description: A flag indicating whether the product is a standard item. + type: boolean + example: true + master: + description: A flag indicating whether the product is a master. + type: boolean + example: true + option: + description: A flag indicating whether the product is an option. + type: boolean + example: true + set: + description: A flag indicating whether the product is a set. + type: boolean + example: true + variant: + description: A flag indicating whether the product is a variant. + type: boolean + example: true + variationGroup: + description: A flag indicating whether the product is a variation group. + type: boolean + example: true + type: object + ProductRef: + description: Document representing a product reference. + properties: + id: + description: The ID of the product reference. + type: string + minLength: 1 + maxLength: 100 + example: '74974310' + required: + - id + type: object + VariationAttributeValue: + description: Document representing a variation attribute value. + properties: + description: + description: The localized description of the variation value. + allOf: + - $ref: '#/components/schemas/String4000' + example: Size 15R + image: + description: The first product image for the configured viewtype and this variation value. + allOf: + - $ref: '#/components/schemas/Image' + imageSwatch: + description: The first product image for the configured viewtype and this variation value. Typically the swatch image. + allOf: + - $ref: '#/components/schemas/Image' + name: + description: The localized display name of the variation value. + allOf: + - $ref: '#/components/schemas/String4000' + example: 15R + orderable: + description: A flag indicating whether at least one variant with this variation attribute value is available to sell. + type: boolean + example: true + value: + minLength: 1 + description: The actual variation value. + allOf: + - $ref: '#/components/schemas/String4000' + example: 15R + required: + - value + type: object + VariationAttribute: + description: Document representing a variation attribute. + properties: + id: + minLength: 1 + description: The ID of the variation attribute. + allOf: + - $ref: '#/components/schemas/String256' + example: size + name: + description: The localized display name of the variation attribute. + allOf: + - $ref: '#/components/schemas/String4000' + example: size + values: + description: The sorted array of variation values. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationAttributeValue' + required: + - id + type: object + ImageGroup: + description: Document representing an image group containing a list of images for a particular view type and an optional variation value. + properties: + images: + description: The images of the image group. + type: array + minLength: 1 + items: + $ref: '#/components/schemas/Image' + variationAttributes: + description: Returns a list of variation attributes applying to this image group. + type: array + items: + $ref: '#/components/schemas/VariationAttribute' + viewType: + description: The image view type. + example: hi-res + type: string + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + required: + - images + - viewType + type: object + PriceRange: + description: Document representing price ranges for a product which happens to be a master product (per Pricebook) + properties: + maxPrice: + format: double + description: Maximum price for the given pricebook (usually for a master Product would be the price for the Variant which has the highest price out of all Variants in that pricebook) + example: 10.89 + type: number + minPrice: + format: double + description: Minimum price for the given pricebook (usually for a master Product would be the price for the Variant which has the least price out of all Variants in that pricebook) + example: 10.89 + type: number + pricebook: + description: The active pricebook from which the min and the max prices are calculated. The pricebook is based on the site context of the request as defined in ECOM. + example: usd-list-pricebook + allOf: + - $ref: '#/components/schemas/String256' + type: object + ProductPromotion: + description: Document representing a product promotion. + properties: + calloutMsg: + description: The localized call-out message of the promotion. + example: Fantastic promotion + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + promotionId: + description: The unique ID of the promotion. + example: summerSale + type: string + minLength: 1 + maxLength: 260 + promotionalPrice: + format: double + description: The promotional price for this product. + example: 12.99 + type: number + minLength: 1 + required: + - calloutMsg + - promotionId + - promotionalPrice + type: object + ProductPriceTable: + description: Tiered Price Level Object + properties: + price: + format: double + description: Price for the product for the specified tier for the specified pricebook + example: 12.99 + type: number + pricebook: + description: The active pricebook for which this price is defined + example: usd-list-pricebook + allOf: + - $ref: '#/components/schemas/String256' + quantity: + format: double + description: Quantity tier for which the price is defined. + example: 1 + type: number + type: object + Variant: + description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU.* + properties: + orderable: + description: A flag indicating whether the variant is orderable. + example: true + type: boolean + price: + format: double + description: The sales price of the variant. + example: 25.99 + type: number + productId: + minLength: 1 + maxLength: 100 + description: The ID (SKU) of the variant. + example: 8W4756834 + type: string + tieredPrices: + description: List of tiered prices if the product is a variant + type: array + items: + $ref: '#/components/schemas/ProductPriceTable' + variationValues: + description: The actual variation attribute ID - value pairs. + type: object + additionalProperties: + allOf: + - $ref: '#/components/schemas/String4000' + example: Beige + productPromotions: + description: |- + The array of active customer product promotions for this product. This array can be empty. + Coupon promotions are not returned in this array. + type: array + items: + $ref: '#/components/schemas/ProductPromotion' + required: + - productId + type: object + VariationGroup: + description: Representation of a group of variant products by an attribute. This can't be purchased by a shopper. It provides inheritable attributes for its product variants and is used for navigation. A VariationGroup doesn't have a SKU. + properties: + orderable: + description: A flag indicating whether the variation group is orderable. + example: false + type: boolean + minLength: 1 + price: + format: double + description: The sales price of the variation group. + example: 24.99 + type: number + minLength: 1 + productId: + minLength: 1 + maxLength: 100 + description: The ID (SKU) of the variation group. + example: 49345VG + type: string + variationValues: + description: The actual variation attribute ID - value pairs. + type: object + minLength: 1 + additionalProperties: + allOf: + - $ref: '#/components/schemas/String4000' + example: Beige + required: + - orderable + - price + - productId + - variationValues + type: object + ProductSearchHit: + description: Document representing a product search hit. + properties: + currency: + $ref: '#/components/schemas/CurrencyCode' + hitType: + description: The type information for the search hit. + allOf: + - $ref: '#/components/schemas/String256' + example: product + image: + description: The first image of the product hit for the configured viewtype. + allOf: + - $ref: '#/components/schemas/Image' + orderable: + description: A flag indicating whether the product is orderable. + type: boolean + example: true + price: + format: double + description: |- + The sales price of the product. In complex products, like master or set, this is the minimum price of + related child products. + type: number + example: 135 + priceMax: + format: double + description: The maximum sales of related child products in complex products like master or set. + type: number + example: 150 + productId: + description: The ID (SKU) of the product. + type: string + minLength: 1 + example: '74974310' + maxLength: 100 + productName: + description: The localized name of the product. + example: Modern Dress Shirt + allOf: + - $ref: '#/components/schemas/String4000' + productType: + description: The type information for the product. + allOf: + - $ref: '#/components/schemas/ProductType' + representedProduct: + description: The first represented product. + allOf: + - $ref: '#/components/schemas/ProductRef' + representedProducts: + description: All the represented products. + type: array + items: + $ref: '#/components/schemas/ProductRef' + variationAttributes: + description: The array of represented variation attributes, for the master product only. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationAttribute' + imageGroups: + description: The array of product image groups. + type: array + items: + $ref: '#/components/schemas/ImageGroup' + priceRanges: + description: Array of one or more price range objects representing one or more Pricebooks in context for the site. + type: array + items: + $ref: '#/components/schemas/PriceRange' + productPromotions: + description: |- + The array of active customer product promotions for this product. This array can be empty. + Coupon promotions are not returned in this array. + type: array + items: + $ref: '#/components/schemas/ProductPromotion' + tieredPrices: + description: The document represents list of tiered prices if the product is a variant + type: array + items: + $ref: '#/components/schemas/ProductPriceTable' + variants: + description: The array of actual variants. Only for master, variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/Variant' + variationGroups: + description: The array of actual variation groups. Only for master, variation group, and variant types. This array can be empty. + type: array + items: + $ref: '#/components/schemas/VariationGroup' + required: + - productId + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + PageMetaTag: + description: Document representing a Page Meta Tag object. + properties: + id: + description: The ID of the Page Meta Tag. + example: title + allOf: + - $ref: '#/components/schemas/String256' + value: + description: Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID. + example: Buy the Long Sleeve Covered Placket Blouse for USD 61.99. + type: string + type: object + ProductSearchRefinementValue: + description: Document representing a product search refinement value. + properties: + description: + description: The localized description of the refinement value. + allOf: + - $ref: '#/components/schemas/String4000' + example: The Beige objects + hitCount: + format: int32 + description: The number of search hits when selecting the refinement value. Can be 0. + type: integer + minLength: 1 + example: 3 + label: + description: The localized label of the refinement value. + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + example: Beige + presentationId: + description: |- + The optional presentation ID associated with the refinement value. + The presentation ID can be used, for example, to associate an ID with + an HTML widget. + allOf: + - $ref: '#/components/schemas/String256' + example: beige + value: + description: "The refinement value. In the case of an attribute refinement, this is the bucket, the attribute value, or a \nvalue range. In the case of a category refinement, this is the category ID. In the case of a price \nrefinement, this is the price range. Ranges are enclosed by parentheses and delimited by \"..\"; for example, \n\"(100..999)\" and \"(Aa..Fa)\" are valid ranges." + type: string + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + example: Beige + values: + description: The array of hierarchical refinement values. This array can be empty. + type: array + items: + $ref: '#/components/schemas/ProductSearchRefinementValue' + required: + - hitCount + - label + - value + type: object + ProductSearchRefinement: + description: Document representing a product search refinement attribute. + properties: + attributeId: + description: |- + The ID of the search refinement attribute. In the case of an attribute refinement, this is the attribute ID. + Custom attributes are marked by the prefix "c_" (for example, "c_refinementColor"). In the case of a + category refinement, the ID must be "cgid". In the case of a price refinement, the ID must be "price". + example: refinementColor + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + label: + description: The localized label of the refinement. + example: Color + allOf: + - $ref: '#/components/schemas/String256' + values: + description: The sorted array of refinement values. This array can be empty. + type: array + items: + $ref: '#/components/schemas/ProductSearchRefinementValue' + required: + - attributeId + type: object + SuggestedPhrase: + description: Document representing a suggested search phrase. + properties: + exactMatch: + description: Returns whether this suggested phrase exactly matches the user input search phrase. + type: boolean + minLength: 1 + example: true + phrase: + description: Returns the suggested search phrase. + type: string + minLength: 1 + maxLength: 50 + example: sony + required: + - exactMatch + - phrase + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + SuggestedTerm: + description: Document representing a suggested term. + properties: + completed: + description: Returns whether this term value is a completion match. + type: boolean + minLength: 1 + example: true + corrected: + description: Returns whether this term value is a correction match. + type: boolean + minLength: 1 + example: false + exactMatch: + description: Returns whether this term value is a exact match. + type: boolean + minLength: 1 + example: false + value: + description: Returns the term value. + type: string + minLength: 1 + maxLength: 50 + example: sony + required: + - completed + - corrected + - exactMatch + - value + type: object + SuggestedTerms: + description: Document representing a list of suggested terms for each term of a search phrase. + properties: + originalTerm: + description: Returns the original term that the suggested terms relates to. + type: string + minLength: 1 + maxLength: 50 + example: son + terms: + description: Returns the suggested terms. + type: array + items: + $ref: '#/components/schemas/SuggestedTerm' + required: + - originalTerm + type: object + Suggestion: + description: Document representing a suggestion. + properties: + suggestedPhrases: + description: A list of suggested phrases. This list can be empty. + type: array + items: + $ref: '#/components/schemas/SuggestedPhrase' + suggestedTerms: + description: A list of suggested terms. This list can be empty. + type: array + minLength: 1 + items: + $ref: '#/components/schemas/SuggestedTerms' + required: + - suggestedTerms + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ProductSearchSortingOption: + description: Document representing a product search sorting option. + properties: + id: + description: The ID of the sorting option. + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + example: best-matches + label: + description: The localized label of the sorting option. + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + example: Best Matches + required: + - id + - label + type: object + ProductSearchResult: + description: Document representing a product search result. + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + hits: + description: A sorted array of search hits (`ProductSearchHit` objects). The array can be empty. + type: array + minLength: 1 + items: + $ref: '#/components/schemas/ProductSearchHit' + pageMetaTags: + description: Page Meta tags associated with the search result. + type: array + items: + $ref: '#/components/schemas/PageMetaTag' + query: + description: The query string that was searched for. + type: string + maxLength: 50 + example: dresses + refinements: + description: The sorted array of search refinements. This array can be empty. + type: array + minLength: 1 + items: + $ref: '#/components/schemas/ProductSearchRefinement' + searchPhraseSuggestions: + description: The suggestion given by the system for the submitted search phrase. + minLength: 1 + allOf: + - $ref: '#/components/schemas/Suggestion' + selectedRefinements: + description: A map of selected refinement attribute ID or value pairs. The sorting order is the same as in request URL. + type: object + additionalProperties: + allOf: + - $ref: '#/components/schemas/String4000' + example: Beige + selectedSortingOption: + description: The ID of the applied sorting option. + allOf: + - $ref: '#/components/schemas/String4000' + example: best-matches + sortingOptions: + description: The sorted array of search sorting options. This array can be empty. + type: array + minLength: 1 + items: + $ref: '#/components/schemas/ProductSearchSortingOption' + required: + - limit + - hits + - query + - refinements + - searchPhraseSuggestions + - sortingOptions + - offset + - total + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + BrandSuggestions: + description: The suggested brand names are listed in suggested phrases. If this list is empty, no brand suggestion for a given search phrase was found. + allOf: + - $ref: '#/components/schemas/Suggestion' + SuggestedCategory: + properties: + id: + description: The ID of the category. + type: string + minLength: 1 + maxLength: 260 + example: womens-clothing-dresses + name: + description: The localized name of the category. + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + example: Dresses + parentCategoryName: + description: The name of the parent category. + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + example: Clothing + required: + - id + - name + - parentCategoryName + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + CategorySuggestions: + allOf: + - $ref: '#/components/schemas/Suggestion' + properties: + categories: + description: The sorted list of suggested categories. This list can be empty. + type: array + items: + $ref: '#/components/schemas/SuggestedCategory' + type: object + SuggestedProduct: + description: Document representing a product search hit. + properties: + currency: + $ref: '#/components/schemas/CurrencyCode' + price: + format: double + description: |- + The sales price of the product. In the case of complex products like a master or a set, this is the minimum price of + related child products. + type: number + minLength: 1 + example: 300 + productId: + description: The ID (SKU) of the product. + type: string + minLength: 1 + maxLength: 100 + example: sony-ps3-bundle + productName: + description: The localized name of the product. + minLength: 1 + allOf: + - $ref: '#/components/schemas/String4000' + example: Playstation 3 Bundle + required: + - currency + - price + - productId + - productName + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ProductSuggestions: + allOf: + - $ref: '#/components/schemas/Suggestion' + properties: + products: + description: The sorted list of suggested products. This list can be empty. + type: array + items: + $ref: '#/components/schemas/SuggestedProduct' + type: object + CustomSuggestions: + description: The custom suggestions are listed in suggested phrases. If this list is empty, no custom suggestion for the given search phrase was found. + allOf: + - $ref: '#/components/schemas/Suggestion' + properties: + customSuggestion: + type: string + example: Try searching for budget shoes. + type: object + SuggestionResult: + description: Document representing a search suggestion result. + properties: + brandSuggestions: + description: Returns the suggested brands. + allOf: + - $ref: '#/components/schemas/BrandSuggestions' + categorySuggestions: + description: Returns the suggested categories. + allOf: + - $ref: '#/components/schemas/CategorySuggestions' + productSuggestions: + description: Returns the suggested products. + allOf: + - $ref: '#/components/schemas/ProductSuggestions' + customSuggestion: + description: Returns custom suggestions. + allOf: + - $ref: '#/components/schemas/CustomSuggestions' + searchPhrase: + description: The query phrase (q) for which suggestions where made. + type: string + example: dresses + minLength: 3 + maxLength: 50 + required: + - searchPhrase + type: object + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + select: + description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. + name: select + in: query + examples: + select: + value: (**) + schema: + $ref: '#/components/schemas/Select' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + qProductSearch: + name: q + in: query + description: The query phrase to search for. For example to search for a product "shirt", type q=shirt. + required: false + schema: + maxLength: 50 + minLength: 1 + type: string + example: shirt + refine: + name: refine + in: query + description: "Parameter that represents a refinement attribute or values pair. Refinement attribute ID and \nvalues are separated by '='. Multiple values are supported by a subset of refinement attributes and \ncan be provided by separating them using a pipe (URL \nencoded = \\\"|\\\") i.e. refine=c_refinementColor=red|green|blue. Value ranges can be specified like this: refine=price=(100..500) . \nMultiple refine parameters can be provided by using the refine as the key i.e refine=price=(0..10)&refine=c_refinementColor=green. \nThe refinements can be a collection of custom defined attributes IDs and the system defined attributes IDs but the search can \nonly accept a total of 9 refinements at a time. \nThe following system refinement attribute ids are supported:\ncgid: Allows refinement per single category ID. Multiple category ids are not supported. \nprice: Allows refinement per single price range. Multiple price ranges are not supported. \npmid: Allows refinement per promotion ID. \nhtype: Allow refinement by including only the provided hit types. Accepted types are 'product', 'master', 'set', 'bundle', 'slicing_group' (deprecated), 'variation_group'.\norderable_only: Unavailable products are excluded from the search results if true is set. Multiple refinement values are not supported.\nilids: Allows refinement per inventory list IDs. Important Note:This API parameter is not GA and is currently a pilot/beta service as defined by the customer's main services agreement and provided as-is. If you are not part of the pilot/beta program, the API will throw an exception. Contact your customer success representative for more information.\n\n**Note:** To refine a search using multiple promotion filters—for example, to find products in both the spring and summer campaigns—see [Refining by Multiple Promotions](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-promotions-for-developers.html#refining-by-multiple-promotions)." + required: false + style: form + explode: true + schema: + type: string + maxLength: 4000 + example: refine=price=(0..10)&refine=c_refinementColor=green + sort: + name: sort + in: query + description: The ID of the sorting option to sort the search hits. + required: false + schema: + example: brand + allOf: + - $ref: '#/components/schemas/String256' + currency: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + name: currency + in: query + examples: + CurrencyCode: + value: USD + schema: + $ref: '#/components/schemas/CurrencyCode' + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + expand: + name: expand + in: query + description: "A comma-separated list with allowed values - `availability`, `images`, `prices`, `represented_products`, `variations`, `promotions`, `custom_properties`. \nBy default, the expand parameter includes `availability, images, prices, represented_products, variations`. \nUse none to disable all expand options. \n**The page_meta_tags expand value is optional and is available B2C Commerce version 25.2.**\"" + required: false + schema: + items: + type: string + example: prices + enum: + - none + - availability + - images + - prices + - represented_products + - variations + - promotions + - custom_properties + - page_meta_tags + type: array + allImages: + name: allImages + in: query + description: "When the `images` expand parameter is used with this flag, the response includes the `imageGroups property`, which contains an image model. \nIf this flag is true, the full image model is returned. If false, only matching images are included. \nIf no flag is passed, the `imageGroups` property is omitted from the response." + required: false + schema: + type: boolean + example: true + perPricebook: + name: perPricebook + in: query + description: When this flag is set to `true` and is used with the `prices` expand parameter, the response includes per PriceBook prices and tiered prices (if available). + required: false + schema: + type: boolean + example: true + allVariationProperties: + name: allVariationProperties + in: query + description: The flag that determines which variation properties are included in the result. When set to `true` with the `variations` expand parameter, all variation properties (`variationAttributes`, `variationGroups`, `variants`) are returned. When set to false, only the default property `variationAttributes` is returned. + required: false + schema: + type: boolean + example: false + qSearchSuggestion: + name: q + in: query + description: The search phrase (q) for which suggestions are evaluated. Search suggestions are determined when the search phrase input is at least three (default) characters long. The value is configurable in the Business Manager. + required: true + schema: + maxLength: 50 + minLength: 3 + type: string + example: sho + limit: + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + name: limit + in: query + examples: + limit: + value: 25 + schema: + $ref: '#/components/schemas/Limit' + examples: + ProductSearchResultExample: + value: + limit: 3 + hits: + - currency: USD + hitType: master + image: + alt: Modern Dress Shirt, , large + disBaseLink: https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw7671b929/images/large/B0174501_GY9_0.jpg + link: https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw7671b929/images/large/B0174501_GY9_0.jpg + title: 'Modern Dress Shirt, ' + orderable: true + price: 135 + productId: '74974310' + productName: Modern Dress Shirt + productType: + master: true + representedProduct: + id: 74974310-1 + representedProducts: + - id: 74974310-1 + - id: 74974310-2 + - id: 74974310-3 + - id: 74974310-4 + variationAttributes: + - id: color + name: color + values: + - name: Blue + orderable: true + value: '002' + - id: size + name: size + values: + - name: 15R + orderable: true + value: 15R + - name: 15L + orderable: true + value: 15L + - name: 16L + orderable: true + value: 16L + - currency: USD + hitType: master + image: + alt: The White Dress Shirt, , large + disBaseLink: https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg + link: https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg + title: 'The White Dress Shirt, ' + orderable: true + price: 135 + productId: '78916783' + productName: The White Dress Shirt + productType: + master: true + representedProduct: + id: 78916783-1 + representedProducts: + - id: 78916783-1 + - id: 78916783-2 + - id: 78916783-3 + - id: 78916783-4 + variationAttributes: + - id: color + name: Color + values: + - name: White + orderable: true + value: white + - id: size + name: size + values: + - name: 15L + orderable: true + value: 15L + - name: 15R + orderable: true + value: 15R + - currency: USD + hitType: master + image: + alt: Striped Shirt, , large + disBaseLink: https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw83b22281/images/large/PG.10213135.JJ9VSA5.PZ.jpg + link: https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw83b22281/images/large/PG.10213135.JJ9VSA5.PZ.jpg + title: 'Striped Shirt, ' + orderable: true + price: 40.99 + productId: '25518484' + productName: Striped Shirt + productType: + master: true + representedProduct: + id: '701642854760' + representedProducts: + - id: '701642854760' + - id: '701642854784' + - id: '701642854791' + - id: '701642854777' + variationAttributes: + - id: color + name: Color + values: + - name: Royal Multi + orderable: true + value: JJ9VSA5 + - id: size + name: Size + values: + - name: S + orderable: true + value: 9SM + - name: M + orderable: true + value: 9MD + - name: L + orderable: true + value: 9LG + - name: XL + orderable: true + value: 9XL + pageMetaTags: + - id: robots + value: index,follow + - id: title + value: Find amazing products in Storefront Catalog - EN' today + query: shirt + refinements: + - attributeId: cgid + label: Category + values: + - hitCount: 4 + label: New Arrivals + value: newarrivals + - attributeId: c_refinementColor + label: Color + values: + - hitCount: 0 + label: Beige + presentationId: beige + value: Beige + - hitCount: 0 + label: Yellow + presentationId: yellow + value: Yellow + - hitCount: 7 + label: Miscellaneous + presentationId: miscellaneous + value: Miscellaneous + - attributeId: price + label: Price + values: + - hitCount: 14 + label: $20 - $49.99 + value: (20..50) + - hitCount: 26 + label: $50 - $99.99 + value: (50..100) + - hitCount: 6 + label: $100 - $499.99 + value: (100..500) + - attributeId: c_isNew + label: New Arrival + values: + - hitCount: 1 + label: 'true' + value: 'true' + - attributeId: brand + label: brand + values: + - hitCount: 1 + label: Lacy-S + value: Lacy-S + searchPhraseSuggestions: + suggestedPhrases: + - exactMatch: true + phrase: shirt + suggestedTerms: + - originalTerm: shirt + terms: + - completed: false + corrected: false + exactMatch: true + value: shirt + sortingOptions: + - id: best-matches + label: Best Matches + - id: price-low-to-high + label: Price Low To High + offset: 0 + total: 46 + MalformedSelectorGetProductsSearchForSelect: + value: + title: Malformed Selector + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-selector + detail: The property selector '(hits.(currency, hitType,image.(**))' is malformed. + selector: (hits.(currency, hitType,image.(**)) + SearchSuggestionResultExample: + value: + brandSuggestions: + suggestedPhrases: + - exactMatch: false + phrase: Sony + suggestedTerms: + - originalTerm: son + terms: + - completed: true + corrected: false + exactMatch: false + value: sony + categorySuggestions: + suggestedTerms: + - originalTerm: son + productSuggestions: + products: + - currency: EUR + price: 300 + productId: sony-ps3-bundle + productName: Playstation 3 Bundle + - currency: EUR + price: 310 + productId: sony-alpha350-wlen + productName: Sony Alpha 350 Digital SLR Camera w/18-70mm Lens + - currency: EUR + price: 10 + productId: sony-alpha900-body + productName: Sony Alpha 900 Digital SLR Camera (body only) + - currency: EUR + price: 50 + productId: sony-warhawk-ps3 + productName: Warhawk (for Sony PS3) + - currency: EUR + price: 280 + productId: sony-psp-console + productName: Sony PSP® Game Console + suggestedPhrases: + - exactMatch: false + phrase: sony + suggestedTerms: + - originalTerm: son + terms: + - completed: true + corrected: false + exactMatch: false + value: sony + - completed: true + corrected: false + exactMatch: false + value: sonyalpha + searchPhrase: son + StringConstraintViolation: + value: + title: String Constraint Violation + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/string-constraint-violation + detail: The string length constraint was violated by 'q'. The expected length is '(3..50)'. + expected: (3..50) + parameter: q diff --git a/apis/search/shopper-search/.metadata.json b/apis/search/shopper-search/.metadata.json deleted file mode 100644 index ed50493b..00000000 --- a/apis/search/shopper-search/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-search/1.0.23", - "name": "Shopper Search", - "description": "Search for products and provide search suggestions.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-search", - "version": "1.0.23", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Search" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/search/shopper-search/Examples/product-search-400-error-example.raml b/apis/search/shopper-search/Examples/product-search-400-error-example.raml deleted file mode 100644 index bcb9bdd1..00000000 --- a/apis/search/shopper-search/Examples/product-search-400-error-example.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "title": "Malformed Price Refinement", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-price-refinement", - "detail": "The price refinement '(0.500)' is malformed. Something similar to '(0..100)' was expected.", - "malformedPrice": "(0.500)" - } \ No newline at end of file diff --git a/apis/search/shopper-search/Examples/product-search-result-example.raml b/apis/search/shopper-search/Examples/product-search-result-example.raml deleted file mode 100644 index ae782f5f..00000000 --- a/apis/search/shopper-search/Examples/product-search-result-example.raml +++ /dev/null @@ -1,326 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "limit": 3, - "hits": [ - { - "currency": "USD", - "hitType": "master", - "image": { - "alt": "Modern Dress Shirt, , large", - "disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw7671b929/images/large/B0174501_GY9_0.jpg", - "link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw7671b929/images/large/B0174501_GY9_0.jpg", - "title": "Modern Dress Shirt, " - }, - "orderable": true, - "price": 135, - "productId": "74974310", - "productName": "Modern Dress Shirt", - "productType": { - "master": true - }, - "representedProduct": { - "id": "74974310-1" - }, - "representedProducts": [ - { - "id": "74974310-1" - }, - { - "id": "74974310-2" - }, - { - "id": "74974310-3" - }, - { - "id": "74974310-4" - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "color", - "values": [ - { - "name": "Blue", - "orderable": true, - "value": "002" - } - ] - }, - { - "id": "size", - "name": "size", - "values": [ - { - "name": "15R", - "orderable": true, - "value": "15R" - }, - { - "name": "15L", - "orderable": true, - "value": "15L" - }, - { - "name": "16L", - "orderable": true, - "value": "16L" - } - ] - } - ] - }, - { - "currency": "USD", - "hitType": "master", - "image": { - "alt": "The White Dress Shirt, , large", - "disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg", - "link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg", - "title": "The White Dress Shirt, " - }, - "orderable": true, - "price": 135, - "productId": "78916783", - "productName": "The White Dress Shirt", - "productType": { - "master": true - }, - "representedProduct": { - "id": "78916783-1" - }, - "representedProducts": [ - { - "id": "78916783-1" - }, - { - "id": "78916783-2" - }, - { - "id": "78916783-3" - }, - { - "id": "78916783-4" - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "White", - "orderable": true, - "value": "white" - } - ] - }, - { - "id": "size", - "name": "size", - "values": [ - { - "name": "15L", - "orderable": true, - "value": "15L" - }, - { - "name": "15R", - "orderable": true, - "value": "15R" - } - ] - } - ] - }, - { - "currency": "USD", - "hitType": "master", - "image": { - "alt": "Striped Shirt, , large", - "disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw83b22281/images/large/PG.10213135.JJ9VSA5.PZ.jpg", - "link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw83b22281/images/large/PG.10213135.JJ9VSA5.PZ.jpg", - "title": "Striped Shirt, " - }, - "orderable": true, - "price": 40.99, - "productId": "25518484", - "productName": "Striped Shirt", - "productType": { - "master": true - }, - "representedProduct": { - "id": "701642854760" - }, - "representedProducts": [ - { - "id": "701642854760" - }, - { - "id": "701642854784" - }, - { - "id": "701642854791" - }, - { - "id": "701642854777" - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "Royal Multi", - "orderable": true, - "value": "JJ9VSA5" - } - ] - }, - { - "id": "size", - "name": "Size", - "values": [ - { - "name": "S", - "orderable": true, - "value": "9SM" - }, - { - "name": "M", - "orderable": true, - "value": "9MD" - }, - { - "name": "L", - "orderable": true, - "value": "9LG" - }, - { - "name": "XL", - "orderable": true, - "value": "9XL" - } - ] - } - ] - } - ], - "query": "shirt", - "refinements": [ - { - "attributeId": "cgid", - "label": "Category", - "values": [ - { - "hitCount": 4, - "label": "New Arrivals", - "value": "newarrivals" - } - ] - }, - { - "attributeId": "c_refinementColor", - "label": "Color", - "values": [ - { - "hitCount": 0, - "label": "Beige", - "presentationId": "beige", - "value": "Beige" - }, - { - "hitCount": 0, - "label": "Yellow", - "presentationId": "yellow", - "value": "Yellow" - }, - { - "hitCount": 7, - "label": "Miscellaneous", - "presentationId": "miscellaneous", - "value": "Miscellaneous" - } - ] - }, - { - "attributeId": "price", - "label": "Price", - "values": [ - { - "hitCount": 14, - "label": "$20 - $49.99", - "value": "(20..50)" - }, - { - "hitCount": 26, - "label": "$50 - $99.99", - "value": "(50..100)" - }, - { - "hitCount": 6, - "label": "$100 - $499.99", - "value": "(100..500)" - } - ] - }, - { - "attributeId": "c_isNew", - "label": "New Arrival", - "values": [ - { - "hitCount": 1, - "label": "true", - "value": "true" - } - ] - }, - { - "attributeId": "brand", - "label": "brand", - "values": [ - { - "hitCount": 1, - "label": "Lacy-S", - "value": "Lacy-S" - } - ] - } - ], - "searchPhraseSuggestions": { - "suggestedPhrases": [ - { - "exactMatch": true, - "phrase": "shirt" - } - ], - "suggestedTerms": [ - { - "originalTerm": "shirt", - "terms": [ - { - "completed": false, - "corrected": false, - "exactMatch": true, - "value": "shirt" - } - ] - } - ] - }, - "sortingOptions": [ - { - "id": "best-matches", - "label": "Best Matches" - }, - { - "id": "price-low-to-high", - "label": "Price Low To High" - } - ], - "offset": 0, - "total": 46 - } \ No newline at end of file diff --git a/apis/search/shopper-search/Examples/search-suggestion-400-error-example.raml b/apis/search/shopper-search/Examples/search-suggestion-400-error-example.raml deleted file mode 100644 index 13bff5e1..00000000 --- a/apis/search/shopper-search/Examples/search-suggestion-400-error-example.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "title": "String Constraint Violation", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/string-constraint-violation", - "detail": "The string length constraint was violated by 'q'. The expected length is '(3..50)'.", - "expected": "(3..50)", - "parameter": "q" - } \ No newline at end of file diff --git a/apis/search/shopper-search/Examples/search-suggestion-result-example.raml b/apis/search/shopper-search/Examples/search-suggestion-result-example.raml deleted file mode 100644 index ef1b4e12..00000000 --- a/apis/search/shopper-search/Examples/search-suggestion-result-example.raml +++ /dev/null @@ -1,93 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "brandSuggestions": { - "suggestedPhrases": [ - { - "exactMatch": false, - "phrase": "Sony" - } - ], - "suggestedTerms": [ - { - "originalTerm": "son", - "terms": [ - { - "completed": true, - "corrected": false, - "exactMatch": false, - "value": "sony" - } - ] - } - ] - }, - "categorySuggestions": { - "suggestedTerms": [ - { - "originalTerm": "son" - } - ] - }, - "productSuggestions": { - "products": [ - { - "currency": "EUR", - "price": 300.00, - "productId": "sony-ps3-bundle", - "productName": "Playstation 3 Bundle" - }, - { - "currency": "EUR", - "price": 310.00, - "productId": "sony-alpha350-wlen", - "productName": "Sony Alpha 350 Digital SLR Camera w/18-70mm Lens" - }, - { - "currency": "EUR", - "price": 10.00, - "productId": "sony-alpha900-body", - "productName": "Sony Alpha 900 Digital SLR Camera (body only)" - }, - { - "currency": "EUR", - "price": 50.00, - "productId": "sony-warhawk-ps3", - "productName": "Warhawk (for Sony PS3)" - }, - { - "currency": "EUR", - "price": 280.00, - "productId": "sony-psp-console", - "productName": "Sony PSP® Game Console" - } - ], - "suggestedPhrases": [ - { - "exactMatch": false, - "phrase": "sony" - } - ], - "suggestedTerms": [ - { - "originalTerm": "son", - "terms": [ - { - "completed": true, - "corrected": false, - "exactMatch": false, - "value": "sony" - }, - { - "completed": true, - "corrected": false, - "exactMatch": false, - "value": "sonyalpha" - } - ] - } - ] - }, - "searchPhrase": "son" - } \ No newline at end of file diff --git a/apis/search/shopper-search/Traits/badRequestTrait.raml b/apis/search/shopper-search/Traits/badRequestTrait.raml deleted file mode 100644 index 29a695c5..00000000 --- a/apis/search/shopper-search/Traits/badRequestTrait.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Shopper search API. - -responses: - 400: - description: - Thrown if the request is malformed, incomplete or otherwise erroneous. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "title": "Value Constraint Violation", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/value-constraint-violation", - "detail": "'limit' violates the value constraint. The expected value is between '(1..10)'." - } \ No newline at end of file diff --git a/apis/search/shopper-search/exchange.json b/apis/search/shopper-search/exchange.json deleted file mode 100644 index c5f5c00e..00000000 --- a/apis/search/shopper-search/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"shopper-search.raml","name":"Shopper Search","classifier":"raml","tags":[],"dependencies":[{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.9"},{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"}],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"shopper-search","version":"1.0.23","apiVersion":"v1"} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml deleted file mode 100644 index f1a8b110..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - Uuid: Identifiers.UniversallyUniqueIdentifier - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/error-response.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/identifers.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/identifers.raml deleted file mode 100644 index 9270d9e3..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/identifers.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/pagination-types.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/example.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/example.raml deleted file mode 100644 index 240efb3e..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/example.raml +++ /dev/null @@ -1,92 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/exchange.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/exchange.json deleted file mode 100644 index 46903cec..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.9","apiVersion":"v1","dependencies":[]} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/securitySchemes/gdot.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/securitySchemes/gdot.raml deleted file mode 100644 index 3afcaaf8..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/async-created.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/date-conditional-request.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-conditional-request.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-response.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/offset-paginated.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-429.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-headers.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index 4463d386..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-2.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-3.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-4.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-5.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/sync-created.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml deleted file mode 100644 index fa1a4f62..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/apis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/apis/search/shopper-search/shopper-search-library.raml b/apis/search/shopper-search/shopper-search-library.raml deleted file mode 100644 index bb07cda3..00000000 --- a/apis/search/shopper-search/shopper-search-library.raml +++ /dev/null @@ -1,446 +0,0 @@ -#%RAML 1.0 Library - -traits: - badRequest: !include Traits/badRequestTrait.raml - -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml - -types: - #types for product-search resource - ProductRef: - description: Document representing a product reference. - properties: - id: - description: The ID of the product reference. - type: string - - ProductSearchHit: - description: Document representing a product search hit. - properties: - currency: - type: CommerceCloudStandards.CurrencyCode - required: false - hitType: - description: The type information for the search hit. - type: string - required: false - image: - description: The first image of the product hit for the configured viewtype. - type: Image - required: false - - orderable: - description: A flag indicating whether the product is orderable. - type: boolean - required: false - - price: - description: |- - The sales price of the product. In complex products, like master or set, this is the minimum price of - related child products. - type: number - format: double - required: false - - priceMax: - description: The maximum sales of related child products in complex products like master or set. - type: number - format: double - required: false - - prices: - description: The prices map with price book IDs and their values. - type: object - properties: - //: - type: number - format: double - required: false - - productId: - description: The ID (SKU) of the product. - type: string - - productName: - description: The localized name of the product. - type: string - required: false - - productType: - description: The type information for the product. - type: ProductType - required: false - - representedProduct: - description: The first represented product. - type: ProductRef - required: false - - representedProducts: - description: All the represented products. - type: array - items: - type: ProductRef - required: false - - variationAttributes: - description: The array of represented variation attributes, for the master product only. This array can be empty. - type: array - items: - type: VariationAttribute - required: false - - ProductSearchRefinement: - description: Document representing a product search refinement attribute. - properties: - attributeId: - description: |- - The ID of the search refinement attribute. In the case of an attribute refinement, this is the attribute ID. - Custom attributes are marked by the prefix "c_" (for example, "c_refinementColor"). In the case of a - category refinement, the ID must be "cgid". In the case of a price refinement, the ID must be "price". - type: string - label: - description: The localized label of the refinement. - type: string - required: false - values: - description: The sorted array of refinement values. This array can be empty. - type: array - items: - type: ProductSearchRefinementValue - required: false - - ProductSearchRefinementValue: - description: Document representing a product search refinement value. - properties: - description: - description: The localized description of the refinement value. - type: string - required: false - hitCount: - description: The number of search hits when selecting the refinement value. Can be 0. - type: integer - format: int32 - label: - description: The localized label of the refinement value. - type: string - presentationId: - description: |- - The optional presentation ID associated with the refinement value. - The presentation ID can be used, for example, to associate an ID with - an HTML widget. - type: string - required: false - value: - description: |- - The refinement value. In the case of an attribute refinement, this is the bucket, - the attribute value, or a value range. In the case of a category refinement, this is the - category ID. In the case of a price refinement, this is the price range. Ranges are - enclosed by parentheses and separated by ".."; for example, "(100..999)" and "(Aa..Fa)" - are valid ranges. - type: string - values: - description: The array of hierarchical refinement values. This array can be empty. - type: array - items: - type: ProductSearchRefinementValue - required: false - - - ProductSearchSortingOption: - description: Document representing a product search sorting option. - properties: - id: - description: The ID of the sorting option. - type: string - label: - description: The localized label of the sorting option. - type: string - - ProductType: - description: Document representing a product type. - properties: - bundle: - description: A flag indicating whether the product is a bundle. - type: boolean - required: false - item: - description: A flag indicating whether the product is a standard item. - type: boolean - required: false - master: - description: A flag indicating whether the product is a master. - type: boolean - required: false - option: - description: A flag indicating whether the product is an option. - type: boolean - required: false - set: - description: A flag indicating whether the product is a set. - type: boolean - required: false - variant: - description: A flag indicating whether the product is a variant. - type: boolean - required: false - variationGroup: - description: A flag indicating whether the product is a variation group. - type: boolean - required: false - - VariationAttributeValue: - description: Document representing a variation attribute value. - properties: - description: - description: The localized description of the variation value. - type: string - required: false - image: - description: The first product image for the configured viewtype and this variation value. - type: Image - required: false - imageSwatch: - description: The first product image for the configured viewtype and this variation value. Typically the swatch image. - type: Image - required: false - name: - description: The localized display name of the variation value. - type: string - required: false - orderable: - description: A flag indicating whether at least one variant with this variation attribute value is available to sell. - type: boolean - required: false - value: - description: The actual variation value. - minLength: 1 - type: string - - VariationAttribute: - description: Document representing a variation attribute. - properties: - id: - description: The ID of the variation attribute. - minLength: 1 - type: string - name: - description: The localized display name of the variation attribute. - type: string - required: false - values: - description: The sorted array of variation values. This array can be empty. - type: array - items: - type: VariationAttributeValue - required: false - - ProductSearchResult: - description: Document representing a product search result. - properties: - limit: - description: The number of returned documents. - type: ApiStandards.Limit - format: int32 - hits: - description: The sorted array of search hits. This array can be empty. - type: array - items: - type: ProductSearchHit - query: - description: The query string that was searched for. - type: string - refinements: - description: The sorted array of search refinements. This array can be empty. - type: array - items: - type: ProductSearchRefinement - searchPhraseSuggestions: - description: The suggestion given by the system for the submitted search phrase. - type: Suggestion - selectedRefinements: - description: A map of selected refinement attribute ID or value pairs. The sorting order is the same as in request URL. - type: object - properties: - //: - type: string - required: false - selectedSortingOption: - description: The ID of the applied sorting option. - type: string - required: false - sortingOptions: - description: The sorted array of search sorting options. This array can be empty. - type: array - items: - type: ProductSearchSortingOption - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: ApiStandards.Offset - format: int32 - total: - description: The total number of documents. - type: integer - format: int32 - - #shared types: used in both resources - Image: - properties: - alt: - type: string - required: false - disBaseLink: - type: string - required: false - link: - minLength: 1 - type: string - title: - type: string - required: false - - SuggestedPhrase: - description: Document representing a suggested search phrase. - properties: - exactMatch: - description: Returns whether this suggested phrase exactly matches the user input search phrase. - type: boolean - phrase: - description: Returns the suggested search phrase. - type: string - - SuggestedTerms: - description: Document representing a list of suggested terms for each term of a search phrase. - properties: - originalTerm: - description: Returns the original term that the suggested terms relates to. - type: string - terms: - description: Returns the suggested terms. - type: array - required: false - items: - type: SuggestedTerm - - SuggestedTerm: - description: Document representing a suggested term. - properties: - completed: - description: Returns whether this term value is a completion match. - type: boolean - corrected: - description: Returns whether this term value is a correction match. - type: boolean - exactMatch: - description: Returns whether this term value is a exact match. - type: boolean - value: - description: Returns the term value. - type: string - - Suggestion: - description: Document representing a suggestion. - properties: - suggestedPhrases: - description: A list of suggested phrases. This list can be empty. - type: array - required: false - items: - type: SuggestedPhrase - suggestedTerms: - description: A list of suggested terms. This list can be empty. - type: array - items: - type: SuggestedTerms - - #types for product-search resource - SuggestedProduct: - description: Document representing a product search hit. - properties: - currency: - type: CommerceCloudStandards.CurrencyCode - image: - description: The first image of the product hit for the configured viewtype. - type: Image - required: false - price: - description: |- - The sales price of the product. In the case of complex products like a master or a set, this is the minimum price of - related child products. - type: number - format: double - productId: - description: The ID (SKU) of the product. - type: string - productName: - description: The localized name of the product. - type: string - - SuggestedCategory: - properties: - id: - description: The ID of the category. - type: string - name: - description: The localized name of the category. - type: string - parentCategoryName: - description: The name of the parent category. - type: string - - CategorySuggestions: - type: Suggestion - properties: - categories: - required: false - description: The sorted list of suggested categories. This list can be empty. - type: array - items: - type: SuggestedCategory - - ProductSuggestions: - type: Suggestion - properties: - products: - required: false - description: The sorted list of suggested products. This list can be empty. - type: array - items: - type: SuggestedProduct - - BrandSuggestions: - description: The suggested brand names are listed in suggested phrases. If this list is empty, no brand suggestion for a given search phrase was found. - type: Suggestion - - CustomSuggestions: - description: The custom suggestions are listed in suggested phrases. If this list is empty, no custom suggestion for the given search phrase was found. - type: Suggestion - properties: - customSuggestion: - required: false - - SuggestionResult: - description: Document representing a search suggestion result. - properties: - brandSuggestions: - required: false - description: Returns the suggested brands. - type: BrandSuggestions - categorySuggestions: - required: false - description: Returns the suggested categories. - type: CategorySuggestions - productSuggestions: - required: false - description: Returns the suggested products. - type: ProductSuggestions - customSuggestion: - required: false - description: Returns custom suggestions. - type: CustomSuggestions - searchPhrase: - description: The query phrase (q) for which suggestions where made. - type: string \ No newline at end of file diff --git a/apis/search/shopper-search/shopper-search.raml b/apis/search/shopper-search/shopper-search.raml deleted file mode 100644 index 8520f846..00000000 --- a/apis/search/shopper-search/shopper-search.raml +++ /dev/null @@ -1,137 +0,0 @@ -#%RAML 1.0 -version: v1 -title: Shopper Search -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml - SearchTypeLibrary: shopper-search-library.raml - -mediaType: application/json -protocols: [HTTPS] -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/search/shopper-search/{version}/ -baseUriParameters: - shortCode: - description: Region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: Provides clients - -/organizations/{organizationId}: - /product-search: - type: CommerceCloudStandards.Organization - get: - description: |- - Provides keyword and refinement search functionality for products. Only returns the product ID, link, and name in - the product search hit. The search result contains only products that are online and assigned to site catalog. - displayName: productSearch - is: - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 400 - - ApiStandards.OffsetPaginated: - maxLimit: 200 - defaultSize: 25 - responses: - '200': - description: Product search successfully returned results. - body: - type: SearchTypeLibrary.ProductSearchResult - examples: - product_search: !include Examples/product-search-result-example.raml - '400': - description: Thrown if a price refinement parameter is malformed or the refinement limit is exceeded. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - examples: - product-search-400-error: !include Examples/product-search-400-error-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-product-search] } - queryParameters: - siteId: - type: CommerceCloudStandards.SiteId - q: - description: The query phrase to search for. For example to search for a product "shirt", type q=shirt. - maxLength: 50 - type: string - required: false - refine: - description: |- - Parameter that represents a refinement attribute or values pair. Refinement attribute ID and - values are separated by '='. Multiple values are supported by a subset of refinement attributes and - can be provided by separating them using a pipe (URL - encoded = "|") i.e. refine=c_refinementColor=red|green|blue. Value ranges can be specified like this: refine=price=(100..500) . Multiple refine parameters can be provided by using the refine as the key i.e refine=price=(0..10)&refine=c_refinementColor=green. The refinements can be a collection of custom defined attributes IDs and the system defined attributes IDs but the search can only accept a total of 9 refinements at a time. - The following system refinement attribute ids are supported: - - cgid: Allows refinement per single category ID. Multiple category ids are not supported. - price: Allows refinement per single price range. Multiple price ranges are not supported. - pmid: Allows refinement per promotion ID. - htypes: Allow refinement by including only the provided hit types. Accepted types are 'product', 'master', 'set', 'bundle', 'slicing_group' (deprecated), 'variation_group'. - orderable_only: Unavailable products are excluded from the search results if true is set. Multiple refinement values are not supported. - type: string[] - required: false - sort: - description: The ID of the sorting option to sort the search hits. - type: string - required: false - currency: - description: The currency mnemonic specified for price. This parameter is effective only if the returned results contain prices. - type: CommerceCloudStandards.CurrencyCode - required: false - locale: - type: CommerceCloudStandards.LocaleCode - required: false - - /search-suggestions: - type: CommerceCloudStandards.Organization - get: - description: Provides keyword search functionality for products, categories, and brands suggestions. - Returns suggested products, suggested categories, and suggested brands for the given search phrase. - displayName: getSearchSuggestions - is: - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 400 - responses: - '200': - description: Search suggestions are successfully returned. - body: - type: SearchTypeLibrary.SuggestionResult - examples: - search_suggestion: !include Examples/search-suggestion-result-example.raml - '400': - description: Thrown in case a query parameter or its value is unknown, or a maximum or minimum constraint is violated. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - examples: - search-suggestion-400-error: !include Examples/search-suggestion-400-error-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-product-search] } - queryParameters: - siteId: - type: CommerceCloudStandards.SiteId - q: - description: The search phrase (q) for which suggestions are evaluated. Search suggestions are determined when the search phrase input is at least three (default) characters long. The value is configurable in the Business Manager. - maxLength: 50 - minLength: 1 - type: string - required: true - example: son - limit: - description: The maximum number of suggestions made per request. If no value is defined, by default five suggestions per suggestion type are evaluated. This affects all types of suggestions (category, product, brand, and custom suggestions). - maximum: 10 - minimum: 1 - default: 5 - type: integer - format: int32 - required: false - example: 5 - currency: - description: The currency code specified for price. This parameter is effective only for product suggestions. - type: CommerceCloudStandards.CurrencyCode - required: false - locale: - type: CommerceCloudStandards.LocaleCode - required: false \ No newline at end of file diff --git a/apis/seller/shopper-stores/.metadata.json b/apis/seller/shopper-stores/.metadata.json deleted file mode 100644 index 467f7b8b..00000000 --- a/apis/seller/shopper-stores/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-stores/1.0.15", - "name": "Shopper Stores", - "description": "Search for a specific store or stores in an area.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-stores", - "version": "1.0.15", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Seller" - ], - "CC Version Status": [ - "Beta" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/seller/shopper-stores/Example/get-stores-result-example.raml b/apis/seller/shopper-stores/Example/get-stores-result-example.raml deleted file mode 100644 index eef10a1f..00000000 --- a/apis/seller/shopper-stores/Example/get-stores-result-example.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "limit": 5, - "data": [ - { - "address1": "1487 Bay St", - "city": "Springfield", - "countryCode": "US", - "distance": 147.03, - "distanceUnit": "km", - "id": "store9", - "name": "Springfield Media Store", - "phone": "+1-413-413-6916", - "posEnabled": false, - "postalCode": "01109", - "stateCode": "MA", - "storeEvents": "Here are some store events.", - "storeHours": "Here are the store hours", - "storeLocatorEnabled": true - }, - { - "address1": "70 Wood Ave", - "city": "Bridgeport", - "countryCode": "US", - "distance": 198.36, - "distanceUnit": "km", - "email": "store1@company.com", - "id": "store11", - "name": "Electronics Super Store", - "phone": "+1-203-965-7014", - "posEnabled": false, - "postalCode": "06605", - "stateCode": "CT", - "storeLocatorEnabled": true - }, - { - "address1": "239 Bridge St", - "city": "Manchester", - "countryCode": "US", - "distance": 219, - "distanceUnit": "km", - "id": "store8", - "name": "Gardena Mart", - "phone": "+1-603-715-9773", - "posEnabled": false, - "postalCode": "03104", - "stateCode": "NH", - "storeLocatorEnabled": true - }, - { - "address1": "150 Winthrop Ave", - "city": "Lawrence", - "countryCode": "US", - "distance": 242.77, - "distanceUnit": "km", - "id": "store6", - "name": "Khale Street Electronics", - "phone": "+1-978-580-2704", - "posEnabled": false, - "postalCode": "01843", - "stateCode": "MA", - "storeLocatorEnabled": true - }, - { - "address1": "110 Smith St", - "city": "Providence", - "countryCode": "US", - "distance": 245.02, - "distanceUnit": "km", - "email": "store2@company.com", - "id": "store2", - "name": "Super Electronics", - "phone": "+1-401-312-6284", - "posEnabled": false, - "postalCode": "02903", - "stateCode": "RI", - "storeLocatorEnabled": true - } - ], - "total": 12 - } \ No newline at end of file diff --git a/apis/seller/shopper-stores/Example/store-search-result-example.raml b/apis/seller/shopper-stores/Example/store-search-result-example.raml deleted file mode 100644 index 17036257..00000000 --- a/apis/seller/shopper-stores/Example/store-search-result-example.raml +++ /dev/null @@ -1,84 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "limit": 5, - "data": [ - { - "address1": "1487 Bay St", - "city": "Springfield", - "countryCode": "US", - "distance": 147.03, - "distanceUnit": "km", - "id": "store9", - "name": "Springfield Media Store", - "phone": "+1-413-413-6916", - "posEnabled": false, - "postalCode": "01109", - "stateCode": "MA", - "storeEvents": "Here are some store events.", - "storeHours": "Here are the store hours", - "storeLocatorEnabled": true - }, - { - "address1": "70 Wood Ave", - "city": "Bridgeport", - "countryCode": "US", - "distance": 198.36, - "distanceUnit": "km", - "email": "store1@company.com", - "id": "store11", - "name": "Electronics Super Store", - "phone": "+1-203-965-7014", - "posEnabled": false, - "postalCode": "06605", - "stateCode": "CT", - "storeLocatorEnabled": true - }, - { - "address1": "239 Bridge St", - "city": "Manchester", - "countryCode": "US", - "distance": 219, - "distanceUnit": "km", - "id": "store8", - "name": "Gardena Mart", - "phone": "+1-603-715-9773", - "posEnabled": false, - "postalCode": "03104", - "stateCode": "NH", - "storeLocatorEnabled": true - }, - { - "address1": "150 Winthrop Ave", - "city": "Lawrence", - "countryCode": "US", - "distance": 242.77, - "distanceUnit": "km", - "id": "store6", - "name": "Khale Street Electronics", - "phone": "+1-978-580-2704", - "posEnabled": false, - "postalCode": "01843", - "stateCode": "MA", - "storeLocatorEnabled": true - }, - { - "address1": "110 Smith St", - "city": "Providence", - "countryCode": "US", - "distance": 245.02, - "distanceUnit": "km", - "email": "store2@company.com", - "id": "store2", - "name": "Super Electronics", - "phone": "+1-401-312-6284", - "posEnabled": false, - "postalCode": "02903", - "stateCode": "RI", - "storeLocatorEnabled": true - } - ], - "offset": 0, - "total": 12 - } \ No newline at end of file diff --git a/apis/seller/shopper-stores/Example/stores-400-error-example.raml b/apis/seller/shopper-stores/Example/stores-400-error-example.raml deleted file mode 100644 index a738451d..00000000 --- a/apis/seller/shopper-stores/Example/stores-400-error-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "title": "Missing Postal Code", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/missing-postal-code", - "detail": "The input parameter 'postal_code' is required when no coordinates are provided." - } \ No newline at end of file diff --git a/apis/seller/shopper-stores/Traits/BadRequest.raml b/apis/seller/shopper-stores/Traits/BadRequest.raml deleted file mode 100644 index bb2277a0..00000000 --- a/apis/seller/shopper-stores/Traits/BadRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: Thrown if the request is malformed, incomplete or otherwise erroneous. -responses: - '400': - description: Thrown if a value constraint for query parameters is violated. Also thrown unless either a combination of latitude and longitude or a combination of country code and postal code is provided, or if an invalid distance_unit is given. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/missing-postal-code", - "title": "Missing Postal Code", - "detail": "The input parameter 'postalCode' is required when no coordinates are provided." - } - diff --git a/apis/seller/shopper-stores/Traits/ShopperStoresTrait.raml b/apis/seller/shopper-stores/Traits/ShopperStoresTrait.raml deleted file mode 100644 index 0919fda1..00000000 --- a/apis/seller/shopper-stores/Traits/ShopperStoresTrait.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 Library - -uses: - CommerceCloudStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -traits: - LocaleSpecific: - usage: This trait should be used whenever a resource uses the context of a locale associated with its request. This will add a locale query parameter. - queryParameters: - locale?: - type: CommerceCloudStandards.LocaleCode - description: |- - A descriptor to provide locale context for a geographical region by both a language and/or country code. The locale pattern in the query param follows the ISO 639-1 for the language code (e.g. en, de, fr) and ISO 3166-1 for the country code (e.g. US, DE, AT). The param can be a combination of language code and country code or can just refer to the language code. - Below are some valid examples: - - en-US - - de-AT - - de - - default - example: - en-US \ No newline at end of file diff --git a/apis/seller/shopper-stores/Traits/Unauthorized.raml b/apis/seller/shopper-stores/Traits/Unauthorized.raml deleted file mode 100644 index 91950b38..00000000 --- a/apis/seller/shopper-stores/Traits/Unauthorized.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 401 response in case of authorization failure. - -responses: - 401: - description: Unauthorized. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: | - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "hbGciOiJIUzI1NiIsInR5cCI6Ikp" - } \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange.json b/apis/seller/shopper-stores/exchange.json deleted file mode 100644 index bd0fc5be..00000000 --- a/apis/seller/shopper-stores/exchange.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.15", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-stores.raml", - "backwardsCompatible": false, - "assetId": "shopper-stores", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Stores", - "tags": [] -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/seller/shopper-stores/shopper-stores-description.md b/apis/seller/shopper-stores/shopper-stores-description.md deleted file mode 100644 index 8e4be2a7..00000000 --- a/apis/seller/shopper-stores/shopper-stores-description.md +++ /dev/null @@ -1,10 +0,0 @@ -# API Overview - -Provides access to stores via search or ID lookup. - - -## Authentication & Authorization - -The Shopper Stores API requires a shopper access token from the [Shopper Login and API Access Service (SLAS).](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) \ No newline at end of file diff --git a/apis/seller/shopper-stores/shopper-stores.raml b/apis/seller/shopper-stores/shopper-stores.raml deleted file mode 100644 index f08d9200..00000000 --- a/apis/seller/shopper-stores/shopper-stores.raml +++ /dev/null @@ -1,107 +0,0 @@ -#%RAML 1.0 -title: Shopper Stores -version: v1 -description: !include shopper-stores-description.md -mediaType: application/json -protocols: [HTTPS] -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/store/shopper-stores/{version} -uses: - StoresTraits : Traits/ShopperStoresTrait.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - StoresLib: stores-library.raml -baseUriParameters: - shortCode: - description: Region-specific merchant identifier. - example: fd4gt8 - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -/organizations/{organizationId}: - /store-search: - type: CommerceCloudStandards.Organization - get: - description: | - This resource retrieves a list of stores for the given site that are within a configured distance of a geolocation: - - The distance is interpreted either in miles or kilometers, depending on the `distanceUnit` input parameter. - - The location is specified by either directly providing a latitude and longitude coordinate pair, or by providing a country and a postal code. If a postal code is passed, the resource looks in the system's geolocation mappings in Business Manager to find the coordinates for this postal code. If no matching geolocation is found, the resource returns an empty list of stores. If coordinates are passed, the values for country and postal code are ignored. - - To verify site latitude and longitude information in Business Manager: - - Navigate to **Merchant Tools -> Online Marketing -> Stores**. - - Select the applicable site. - - In the **Address** tab, verify that valid information is provided in the following fields: **Address**, **City**, **Postal Code**, **State**, and **Country**. For latitude and longitude values, you can manually enter values or provide all field values to auto-populate **Latitude** and **Longitude**. You must provide valid values for all of the previous fields for latitude and longitude to auto-populate **Latitude** and **Longitude** values. - - displayName: searchStores - is: - - CommerceCloudStandards.SiteSpecific: - - StoresTraits.LocaleSpecific: - - ApiStandards.OffsetPaginated: - maxLimit: 200 - defaultSize: 25 - - StoresLib.BadRequest - - StoresLib.Unauthorized - responses: - '200': - description: Returns a list of stores for the given search parameters, up to the paging size, including their distance from the given geolocation and additional information on the pagination of objects. - body: - type: StoresLib.StoreResult - examples: - stores-result-example: !include Example/store-search-result-example.raml - queryParameters: - countryCode: - description: The two letter ISO country code, such as "US". This value is required when a postalCode is provided. - type: CommerceCloudStandards.CountryCode - required: false - distanceUnit: - description: The distance unit. Supported values are "mi" (miles) and "km" (kilometers). The default is "km". - type: StoresLib.DistanceUnit - required: false - latitude: - description: The geographical latitude to search for stores (value range -90.00 .. 90.00). This value is required when a longitude is provided. - type: StoresLib.Latitude - required: false - longitude: - description: The geographical longitude to search for stores (value range -180.00 .. 180.00). You must provide a longitude when a latitude is provided. - type: StoresLib.Longitude - required: false - maxDistance: - description: The area (radius) in distanceUnit where stores will be searched. - type: StoresLib.Distance - required: false - postalCode: - description: The postal code, such as "84121". You must provide a countryCode when a postalCode is provided. - type: StoresLib.PostalCode - required: false - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-stores] } - - - /stores: - type: CommerceCloudStandards.Organization - get: - description: Returns stores identified by the IDs provided as input. - displayName: getStores - is: - - CommerceCloudStandards.SiteSpecific: - - StoresTraits.LocaleSpecific: - maxLimit: 200 - defaultSize: 25 - - StoresLib.BadRequest - - StoresLib.Unauthorized - responses: - '200': - description: Returns details about a specific store. - body: - type: StoresLib.StoreResult - examples: - store-result-example: !include Example/get-stores-result-example.raml - queryParameters: - siteId: - type: CommerceCloudStandards.SiteId - ids: - description: The IDs of a requested stores (comma separated, max 50 IDs). - maxLength: 256 - minLength: 1 - type: string - required: true - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-stores] } \ No newline at end of file diff --git a/apis/seller/shopper-stores/stores-library.raml b/apis/seller/shopper-stores/stores-library.raml deleted file mode 100644 index 18637f06..00000000 --- a/apis/seller/shopper-stores/stores-library.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 Library - -traits: - BadRequest: !include Traits/BadRequest.raml - Unauthorized: !include Traits/Unauthorized.raml - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - DistanceUnit: - description: The unit the distance attribute is measured in (either in miles or kilometers). - enum: - - km - - mi - type: string - Latitude: - description: The latitude of the store. - maximum: 90 - minimum: -90 - type: number - format: double - Longitude: - description: The longitude of the store. - maximum: 180 - minimum: -180 - type: number - format: double - Distance: - description: The distance to the given geolocation where the stores will be searched, using the unit given in the attribute 'DistanceUnit' (miles or kilometers). - type: number - maximum: 20012 - minimum: 0 - format: double - PostalCode: - description: The postal code of the store. - maxLength: 10 - minLength: 3 - type: string - - Store: - description: Document representing a store. - properties: - address1: - description: The primary address of the store. - minLength: 1 - type: string - required: false - address2: - description: The secondary address of the store. - type: string - required: false - city: - description: The city of the store. - type: string - required: false - countryCode: - type: CommerceCloudStandards.CountryCode - required: false - distance: - type: Distance - required: false - distanceUnit: - type: DistanceUnit - required: false - email: - description: The email address of the store. - type: string - required: false - fax: - description: The fax number of the store. - type: string - required: false - id: - description: The id of the store. - maxLength: 256 - minLength: 1 - type: string - image: - description: The store image. - type: string - required: false - inventoryId: - description: The inventory list id associated with this store. - maxLength: 256 - type: string - required: false - latitude: - type: Latitude - required: false - longitude: - type: Longitude - required: false - name: - description: The store name. - type: string - required: false - phone: - description: The phone number of the store. - type: string - required: false - posEnabled: - description: Whether this store uses Store Point-of-Sale. - type: boolean - required: false - postalCode: - description: The postal code of the store. - type: PostalCode - required: false - stateCode: - description: The state code of the store. - type: string - required: false - storeEvents: - description: The store events. - type: string - required: false - storeHours: - description: The opening hours of the store. - type: string - required: false - storeLocatorEnabled: - description: Whether this store should show up in store locator results. - type: boolean - required: false - StoreResult: - description: Result object containing an array of stores. - properties: - limit: - description: The number of search results in the current page. - type: ApiStandards.Limit - format: int32 - data: - description: The list of stores in the search result. - type: array - items: - type: Store - offset: - description: The zero-based index of the first search result to include in the document. - minimum: 0 - type: ApiStandards.Offset - format: int64 - required: false - total: - description: The total number of search results. - type: ApiStandards.Total - format: int64 diff --git a/apis/seo-oas/seo-oas-1.0.5/.metadata.json b/apis/seo-oas/seo-oas-1.0.5/.metadata.json new file mode 100644 index 00000000..3d9950fa --- /dev/null +++ b/apis/seo-oas/seo-oas-1.0.5/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/seo-oas/1.0.5", + "name": "Seo OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "seo-oas", + "version": "1.0.5", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/seo-oas/seo-oas-1.0.5/exchange.json b/apis/seo-oas/seo-oas-1.0.5/exchange.json new file mode 100644 index 00000000..bf699c24 --- /dev/null +++ b/apis/seo-oas/seo-oas-1.0.5/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "seo-oas-v1-public.yaml", + "name": "Seo OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "seo-oas", + "version": "1.0.5", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/seo-oas/seo-oas-1.0.5/seo-oas-v1-internal.yaml b/apis/seo-oas/seo-oas-1.0.5/seo-oas-v1-internal.yaml new file mode 100644 index 00000000..a20d7fd1 --- /dev/null +++ b/apis/seo-oas/seo-oas-1.0.5/seo-oas-v1-internal.yaml @@ -0,0 +1,201 @@ +openapi: 3.0.3 +info: + title: Seo + version: v1 + description: "# API Overview\n\nThis API uploads a custom sitemap and triggers the sitemap generation process. \n\nTBD: Are there any guides we can/should link to here?\n\n## Authentication & Authorization\n\nFor resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the `Authorization` header of your API request.\n\nThe API client must also have at least one of the following OAuth scopes: . You must include the relevant scope(s) in the client ID used to generate the token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html)\n\nFor detailed setup instructions, see the [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html) guide.\n\n## Use Cases\n\nTBD" +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/site/seo/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/sitemap: + put: + summary: Upload a custom sitemap and trigger sitemap generation process. + description: This API uploads a custom sitemap and triggers the sitemap generation process. + operationId: uploadCustomSitemapAndTriggerSitemapGeneration + security: + - AmOAuth2: + - sfcc.seo.rw + responses: + '202': + description: The site generation process runs asynchronously and takes a few minutes to complete. The generated sitemap is available at the location specified in the location header. + headers: + Location: + description: The generated sitemap location url + schema: + $ref: '#/components/schemas/Location' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + putSitemap400: + $ref: '#/components/examples/putSitemap400' + '404': + description: The given hostname was not found in the alias file. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + putSitemap404: + $ref: '#/components/examples/putSitemap404' + '409': + description: The requested action could not be completed because the job is currently running and its state is being updated. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + putSitemap409: + $ref: '#/components/examples/putSitemap409' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/SitemapRequest' + examples: + sitemapRequestBody: + $ref: '#/components/examples/sitemapRequestBody' + required: true + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.seo.rw: Allows write operations on seo. + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.seo.rw: Allows write operations on seo. + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + String4000: + type: string + maxLength: 4000 + description: "The String4000 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 4000 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 4000 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 2000 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 1333 characters." + example: This is a detailed description of an Excellent Product. It includes all the features, specifications, and benefits of the product. The Excellent Product is designed to provide exceptional performance and reliability. It is made from high-quality materials and has been rigorously tested to ensure it meets the highest standards. Whether you are using it for personal or professional purposes, the Excellent Product is the perfect choice. With its advanced technology and user-friendly design, it offers unparalleled convenience and efficiency. Order your Excellent Product today and experience the difference it can make. + SitemapRequest: + properties: + customSitemapFile: + description: The custom sitemap file to be uploaded. Must conform to the [Sitemap Protocol](https://www.sitemaps.org/protocol.html), with a root `` element and well-formed `` entries.The filename must not start with `sitemap` nor contain forward or backward slashes. The file must contain valid xml content and the filename must have an .xml extension. + allOf: + - $ref: '#/components/schemas/String4000' + example: custom-sitemap.xml + hostname: + minLength: 1 + description: The hostname for which the sitemap will be generated. The hostname must be listed in the aliases file in Business Manager + allOf: + - $ref: '#/components/schemas/String4000' + example: www.abc.com + required: + - customSitemapFile + - hostname + type: object + Location: + maxLength: 2048 + description: URL where the resource is located. + example: /index.html + type: string + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + examples: + sitemapRequestBody: + value: + customSitemapFile: sitemap.xml + hostname: secure.sitegenesis.com + putSitemap400: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/validation + detail: The custom sitemap must be an XML file. + putSitemap404: + value: + title: The given hostname was not found in the alias file. + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors + detail: The hostname was not found in the alias file. + hostname: www.abc.com + putSitemap409: + value: + title: Sitemap Generation In Progress + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/validation + detail: The previous generate sitemap request has not completed. diff --git a/apis/seo-oas/seo-oas-1.0.5/seo-oas-v1-public.yaml b/apis/seo-oas/seo-oas-1.0.5/seo-oas-v1-public.yaml new file mode 100644 index 00000000..a20d7fd1 --- /dev/null +++ b/apis/seo-oas/seo-oas-1.0.5/seo-oas-v1-public.yaml @@ -0,0 +1,201 @@ +openapi: 3.0.3 +info: + title: Seo + version: v1 + description: "# API Overview\n\nThis API uploads a custom sitemap and triggers the sitemap generation process. \n\nTBD: Are there any guides we can/should link to here?\n\n## Authentication & Authorization\n\nFor resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the `Authorization` header of your API request.\n\nThe API client must also have at least one of the following OAuth scopes: . You must include the relevant scope(s) in the client ID used to generate the token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html)\n\nFor detailed setup instructions, see the [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html) guide.\n\n## Use Cases\n\nTBD" +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/site/seo/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/sitemap: + put: + summary: Upload a custom sitemap and trigger sitemap generation process. + description: This API uploads a custom sitemap and triggers the sitemap generation process. + operationId: uploadCustomSitemapAndTriggerSitemapGeneration + security: + - AmOAuth2: + - sfcc.seo.rw + responses: + '202': + description: The site generation process runs asynchronously and takes a few minutes to complete. The generated sitemap is available at the location specified in the location header. + headers: + Location: + description: The generated sitemap location url + schema: + $ref: '#/components/schemas/Location' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + putSitemap400: + $ref: '#/components/examples/putSitemap400' + '404': + description: The given hostname was not found in the alias file. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + putSitemap404: + $ref: '#/components/examples/putSitemap404' + '409': + description: The requested action could not be completed because the job is currently running and its state is being updated. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + putSitemap409: + $ref: '#/components/examples/putSitemap409' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/SitemapRequest' + examples: + sitemapRequestBody: + $ref: '#/components/examples/sitemapRequestBody' + required: true + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.seo.rw: Allows write operations on seo. + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.seo.rw: Allows write operations on seo. + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + String4000: + type: string + maxLength: 4000 + description: "The String4000 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 4000 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 4000 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 2000 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 1333 characters." + example: This is a detailed description of an Excellent Product. It includes all the features, specifications, and benefits of the product. The Excellent Product is designed to provide exceptional performance and reliability. It is made from high-quality materials and has been rigorously tested to ensure it meets the highest standards. Whether you are using it for personal or professional purposes, the Excellent Product is the perfect choice. With its advanced technology and user-friendly design, it offers unparalleled convenience and efficiency. Order your Excellent Product today and experience the difference it can make. + SitemapRequest: + properties: + customSitemapFile: + description: The custom sitemap file to be uploaded. Must conform to the [Sitemap Protocol](https://www.sitemaps.org/protocol.html), with a root `` element and well-formed `` entries.The filename must not start with `sitemap` nor contain forward or backward slashes. The file must contain valid xml content and the filename must have an .xml extension. + allOf: + - $ref: '#/components/schemas/String4000' + example: custom-sitemap.xml + hostname: + minLength: 1 + description: The hostname for which the sitemap will be generated. The hostname must be listed in the aliases file in Business Manager + allOf: + - $ref: '#/components/schemas/String4000' + example: www.abc.com + required: + - customSitemapFile + - hostname + type: object + Location: + maxLength: 2048 + description: URL where the resource is located. + example: /index.html + type: string + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + examples: + sitemapRequestBody: + value: + customSitemapFile: sitemap.xml + hostname: secure.sitegenesis.com + putSitemap400: + value: + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/validation + detail: The custom sitemap must be an XML file. + putSitemap404: + value: + title: The given hostname was not found in the alias file. + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors + detail: The hostname was not found in the alias file. + hostname: www.abc.com + putSitemap409: + value: + title: Sitemap Generation In Progress + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/validation + detail: The previous generate sitemap request has not completed. diff --git a/apis/seo-oas/shopper-seo-oas-1.0.11/.metadata.json b/apis/seo-oas/shopper-seo-oas-1.0.11/.metadata.json new file mode 100644 index 00000000..5fb91883 --- /dev/null +++ b/apis/seo-oas/shopper-seo-oas-1.0.11/.metadata.json @@ -0,0 +1,17 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-seo-oas/1.0.11", + "name": "Shopper Seo OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-seo-oas", + "version": "1.0.11", + "categories": { + "SDK Type": [ + "Isomorphic", + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/seo-oas/shopper-seo-oas-1.0.11/exchange.json b/apis/seo-oas/shopper-seo-oas-1.0.11/exchange.json new file mode 100644 index 00000000..41742f59 --- /dev/null +++ b/apis/seo-oas/shopper-seo-oas-1.0.11/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-seo-oas-v1-public.yaml", + "name": "Shopper Seo OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-seo-oas", + "version": "1.0.11", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/seo-oas/shopper-seo-oas-1.0.11/shopper-seo-oas-v1-internal.yaml b/apis/seo-oas/shopper-seo-oas-1.0.11/shopper-seo-oas-v1-internal.yaml new file mode 100644 index 00000000..d0c4d0a3 --- /dev/null +++ b/apis/seo-oas/shopper-seo-oas-1.0.11/shopper-seo-oas-v1-internal.yaml @@ -0,0 +1,305 @@ +openapi: 3.0.3 +info: + title: Shopper SEO + version: v1 + description: |- + # API Overview + + The Shopper SEO API Provides access to SEO-related information, such as URL mapping information. + + ## Authentication & Authorization + + The Shopper SEO API requires a shopper access token from the [Shopper Login and API Access Service (SLAS).](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + ### URL Resolution + + For information on setting up URL rules and URL redirects in Business Manager, see [URL Resolution.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/url-resolution.html) + + ### Caching + + Caching capabilities are available for the Shopper SEO API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) + + ### Using Hooks + + For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/site/shopper-seo/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/url-mapping: + get: + summary: Get URL mapping information for a URL segment. + description: "The mapping information is based on URL rules and redirects that are set up in Business Manager. \nFor more information about prerequisites and sample usage, see [URL Resolution](/docs/commerce/commerce-api/guide/url-resolution.html). \nYou can customize the behavior of this endpoint by using hooks. For details, refer to the [Hook List](https://developer.salesforce.com/docs/commerce/commerce-api/guide/hook_list.html)." + operationId: getUrlMapping + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/urlSegment' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Returns URL mapping information for a URL that a shopper entered or selected. + content: + application/json: + schema: + $ref: '#/components/schemas/UrlMapping' + examples: + UrlMapping: + $ref: '#/components/examples/UrlMapping' + '400': + description: 'The locale is invalid. Make sure you provide a locale using the correct format: ISO 639-1 for the language code and ISO 3166-1 for the country code. For example, en-US.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getUrlMapping400: + $ref: '#/components/examples/getUrlMapping400' + '401': + description: The user making the call isn't authorized to make this request. For example, the correct scope wasn't added to an SLAS API Client or the access token is invalid or missing. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getUrlMapping401: + $ref: '#/components/examples/getUrlMapping401' + '404': + description: No mapping information for the requested URL exists because there's no corresponding URL rule in Business Manager. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getUrlMapping404: + $ref: '#/components/examples/getUrlMapping404' + security: + - ShopperToken: + - sfcc.shopper-seo +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both Open Commerce API and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-seo: Allows read operations on shopper seo. + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-seo: Allows read operations on shopper seo. + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + UrlMapping: + description: The URL mapping information for a URL that a shopper clicked or typed in. + type: object + properties: + resourceType: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + description: "The type of resource that corresponds to the requested URL. If you set up a URL redirect in Business Manager, \nresourceType returns the corresponding destination type value from the redirect. If there's a URI redirect, resourceType isn't returned. \nThe URL redirect feature is available from B2C Commerce version 24.3." + enum: + - CATEGORY + - PRODUCT + - CONTENT_ASSET + example: CATEGORY + resourceSubType: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + description: "If the resourceType is CONTENT_ASSET, this field tells you whether the resource is a standard content asset or a Page Designer content asset. \nThis output is available from B2C Commerce version 24.2." + enum: + - STANDARD_CONTENT_ASSET + - PAGE_DESIGNER_CONTENT_ASSET + example: STANDARD_CONTENT_ASSET + resourceId: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + description: "The identifier for the resource that corresponds to the requested URL. If you set up a URL redirect in Business Manager, \nresourceId returns the corresponding destination ID value from the redirect. \nIf there's a URI redirect, resourceId isn't returned. The URL redirect feature is available from B2C Commerce version 24.3." + example: mens-clothing-shorts + refinements: + description: "The refinement filters that correspond to the URL and resourceType. \nRefinements are returned only if all of these conditions are met - a) the resourceType is CATEGORY, b) refinements are included in the urlSegment, and c) the refinements are configured in Business Manager. \nThis field returns a key-value pair of refinement name and refinement value. If there’s a matching URL redirect for the requested URL. the refinements output isn’t returned.\nThe URL redirect feature is available from B2C Commerce version 24.3." + type: object + additionalProperties: true + statusCode: + format: int32 + description: "This field is populated only if you set up a URL redirect in Business Manager. It specifies whether the redirect is temporary (302 or 307) or permanent (301). \nSee [Create a Redirect from a B2C Commerce URL.](https://help.salesforce.com/s/articleView?id=cc.b2c_creating_a_redirect_from_a_digital_url.htm&type=5) \nThis parameter is available from B2C Commerce version 24.3." + type: integer + example: 301 + destinationUrl: + minLength: 1 + maxLength: 2048 + description: "This field is populated if the urlSegment resolves to a redirect. Specifies the URL you want to redirect to as an absolute or relative URL. \nThe destinationUrl is based on your configuration in Business Manager. It's either a calculated value indicating the Commerce Cloud object (product, category, or content asset) URL or your specified URL. \nNote that an object's path may not necessarily match your headless storefront URLs but can be used as a reference for calculating the destinationUrl. \nSee [Create a Redirect from a B2C Commerce URL.](https://help.salesforce.com/s/articleView?id=cc.b2c_creating_a_redirect_from_a_digital_url.htm&type=5). \nAvailable from B2C Commerce 24.3." + type: string + example: mens/clothing/shorts + copySourceParams: + description: "This field is populated only if you set up a URL redirect in Business Manager. \nIt’s a flag that shows whether the parameters of the source URL have been copied to the destination URL. \nThis parameter is available from B2C Commerce version 24.3." + type: boolean + example: true + additionalUrlParams: + minLength: 1 + maxLength: 2048 + description: "This field is populated only if you set up a URL redirect in Business Manager. \nIt returns the parameters you want to add to the end of the URL. \nThis parameter is available from B2C Commerce version 24.3." + type: string + example: '&cgid=womens-accessories-scarves&prefn1=displaySize' + productCategoryId: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + description: "This field is populated only if you set up a URL redirect in Business Manager. \nIt identifies the destination product's category ID. This field is returned only when the destination type is product. \nThis parameter is available from B2C Commerce version 24.3." + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + urlSegment: + name: urlSegment + in: query + description: "The part of the requested URL that comes after the domain name. For example, the urlSegment for \\\"www.abc.com/blue/new-arrivals/tops\\\" is \\\"blue/new-arrivals/tops\\\". \nThere's no limit on the length of the urlSegment. However, for this endpoint, the maximum allowed length of the URL (after URL encoding) is 2047 characters. \nMake this field URL-encoded so that it properly handles special values such as whitespace. If a urlSegment includes a query string, a 404 error code is returned." + required: true + schema: + minLength: 1 + type: string + maxLength: 2047 + example: mens/clothing/shorts + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + examples: + UrlMapping: + value: + resourceType: CATEGORY + resourceId: new-arrivals-tops + refinements: + refinementColor: Blue + getUrlMapping400: + value: + title: Unknown Locale + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unknown-locale + detail: The locale 'ab-CD' is unknown. + locale: ab-CD + getUrlMapping401: + value: + title: Invalid Access Token + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token + detail: The request is unauthorized, the access token is invalid. + accessToken: hbGciOiJIUzI1NiIsInR5cCI6Ikp + getUrlMapping404: + value: + title: Seo Url Mapping Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/seo-url-mapping-not-found + detail: black/mens/accessories/luggage + urlSegment: black/mens/accessories/luggage + locale: en_US diff --git a/apis/seo-oas/shopper-seo-oas-1.0.11/shopper-seo-oas-v1-public.yaml b/apis/seo-oas/shopper-seo-oas-1.0.11/shopper-seo-oas-v1-public.yaml new file mode 100644 index 00000000..d0c4d0a3 --- /dev/null +++ b/apis/seo-oas/shopper-seo-oas-1.0.11/shopper-seo-oas-v1-public.yaml @@ -0,0 +1,305 @@ +openapi: 3.0.3 +info: + title: Shopper SEO + version: v1 + description: |- + # API Overview + + The Shopper SEO API Provides access to SEO-related information, such as URL mapping information. + + ## Authentication & Authorization + + The Shopper SEO API requires a shopper access token from the [Shopper Login and API Access Service (SLAS).](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + ## Use Cases + + ### URL Resolution + + For information on setting up URL rules and URL redirects in Business Manager, see [URL Resolution.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/url-resolution.html) + + ### Caching + + Caching capabilities are available for the Shopper SEO API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) + + ### Using Hooks + + For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/site/shopper-seo/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/url-mapping: + get: + summary: Get URL mapping information for a URL segment. + description: "The mapping information is based on URL rules and redirects that are set up in Business Manager. \nFor more information about prerequisites and sample usage, see [URL Resolution](/docs/commerce/commerce-api/guide/url-resolution.html). \nYou can customize the behavior of this endpoint by using hooks. For details, refer to the [Hook List](https://developer.salesforce.com/docs/commerce/commerce-api/guide/hook_list.html)." + operationId: getUrlMapping + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/urlSegment' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Returns URL mapping information for a URL that a shopper entered or selected. + content: + application/json: + schema: + $ref: '#/components/schemas/UrlMapping' + examples: + UrlMapping: + $ref: '#/components/examples/UrlMapping' + '400': + description: 'The locale is invalid. Make sure you provide a locale using the correct format: ISO 639-1 for the language code and ISO 3166-1 for the country code. For example, en-US.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getUrlMapping400: + $ref: '#/components/examples/getUrlMapping400' + '401': + description: The user making the call isn't authorized to make this request. For example, the correct scope wasn't added to an SLAS API Client or the access token is invalid or missing. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getUrlMapping401: + $ref: '#/components/examples/getUrlMapping401' + '404': + description: No mapping information for the requested URL exists because there's no corresponding URL rule in Business Manager. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getUrlMapping404: + $ref: '#/components/examples/getUrlMapping404' + security: + - ShopperToken: + - sfcc.shopper-seo +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both Open Commerce API and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-seo: Allows read operations on shopper seo. + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-seo: Allows read operations on shopper seo. + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + UrlMapping: + description: The URL mapping information for a URL that a shopper clicked or typed in. + type: object + properties: + resourceType: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + description: "The type of resource that corresponds to the requested URL. If you set up a URL redirect in Business Manager, \nresourceType returns the corresponding destination type value from the redirect. If there's a URI redirect, resourceType isn't returned. \nThe URL redirect feature is available from B2C Commerce version 24.3." + enum: + - CATEGORY + - PRODUCT + - CONTENT_ASSET + example: CATEGORY + resourceSubType: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + description: "If the resourceType is CONTENT_ASSET, this field tells you whether the resource is a standard content asset or a Page Designer content asset. \nThis output is available from B2C Commerce version 24.2." + enum: + - STANDARD_CONTENT_ASSET + - PAGE_DESIGNER_CONTENT_ASSET + example: STANDARD_CONTENT_ASSET + resourceId: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + description: "The identifier for the resource that corresponds to the requested URL. If you set up a URL redirect in Business Manager, \nresourceId returns the corresponding destination ID value from the redirect. \nIf there's a URI redirect, resourceId isn't returned. The URL redirect feature is available from B2C Commerce version 24.3." + example: mens-clothing-shorts + refinements: + description: "The refinement filters that correspond to the URL and resourceType. \nRefinements are returned only if all of these conditions are met - a) the resourceType is CATEGORY, b) refinements are included in the urlSegment, and c) the refinements are configured in Business Manager. \nThis field returns a key-value pair of refinement name and refinement value. If there’s a matching URL redirect for the requested URL. the refinements output isn’t returned.\nThe URL redirect feature is available from B2C Commerce version 24.3." + type: object + additionalProperties: true + statusCode: + format: int32 + description: "This field is populated only if you set up a URL redirect in Business Manager. It specifies whether the redirect is temporary (302 or 307) or permanent (301). \nSee [Create a Redirect from a B2C Commerce URL.](https://help.salesforce.com/s/articleView?id=cc.b2c_creating_a_redirect_from_a_digital_url.htm&type=5) \nThis parameter is available from B2C Commerce version 24.3." + type: integer + example: 301 + destinationUrl: + minLength: 1 + maxLength: 2048 + description: "This field is populated if the urlSegment resolves to a redirect. Specifies the URL you want to redirect to as an absolute or relative URL. \nThe destinationUrl is based on your configuration in Business Manager. It's either a calculated value indicating the Commerce Cloud object (product, category, or content asset) URL or your specified URL. \nNote that an object's path may not necessarily match your headless storefront URLs but can be used as a reference for calculating the destinationUrl. \nSee [Create a Redirect from a B2C Commerce URL.](https://help.salesforce.com/s/articleView?id=cc.b2c_creating_a_redirect_from_a_digital_url.htm&type=5). \nAvailable from B2C Commerce 24.3." + type: string + example: mens/clothing/shorts + copySourceParams: + description: "This field is populated only if you set up a URL redirect in Business Manager. \nIt’s a flag that shows whether the parameters of the source URL have been copied to the destination URL. \nThis parameter is available from B2C Commerce version 24.3." + type: boolean + example: true + additionalUrlParams: + minLength: 1 + maxLength: 2048 + description: "This field is populated only if you set up a URL redirect in Business Manager. \nIt returns the parameters you want to add to the end of the URL. \nThis parameter is available from B2C Commerce version 24.3." + type: string + example: '&cgid=womens-accessories-scarves&prefn1=displaySize' + productCategoryId: + minLength: 1 + allOf: + - $ref: '#/components/schemas/String256' + description: "This field is populated only if you set up a URL redirect in Business Manager. \nIt identifies the destination product's category ID. This field is returned only when the destination type is product. \nThis parameter is available from B2C Commerce version 24.3." + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + urlSegment: + name: urlSegment + in: query + description: "The part of the requested URL that comes after the domain name. For example, the urlSegment for \\\"www.abc.com/blue/new-arrivals/tops\\\" is \\\"blue/new-arrivals/tops\\\". \nThere's no limit on the length of the urlSegment. However, for this endpoint, the maximum allowed length of the URL (after URL encoding) is 2047 characters. \nMake this field URL-encoded so that it properly handles special values such as whitespace. If a urlSegment includes a query string, a 404 error code is returned." + required: true + schema: + minLength: 1 + type: string + maxLength: 2047 + example: mens/clothing/shorts + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + examples: + UrlMapping: + value: + resourceType: CATEGORY + resourceId: new-arrivals-tops + refinements: + refinementColor: Blue + getUrlMapping400: + value: + title: Unknown Locale + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unknown-locale + detail: The locale 'ab-CD' is unknown. + locale: ab-CD + getUrlMapping401: + value: + title: Invalid Access Token + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token + detail: The request is unauthorized, the access token is invalid. + accessToken: hbGciOiJIUzI1NiIsInR5cCI6Ikp + getUrlMapping404: + value: + title: Seo Url Mapping Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/seo-url-mapping-not-found + detail: black/mens/accessories/luggage + urlSegment: black/mens/accessories/luggage + locale: en_US diff --git a/apis/shopper-baskets-oas/shopper-baskets-oas-1.8.23/.metadata.json b/apis/shopper-baskets-oas/shopper-baskets-oas-1.8.23/.metadata.json new file mode 100644 index 00000000..817677b4 --- /dev/null +++ b/apis/shopper-baskets-oas/shopper-baskets-oas-1.8.23/.metadata.json @@ -0,0 +1,9 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-baskets-oas/1.8.23", + "name": "Shopper Baskets OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-baskets-oas", + "version": "1.8.23", + "categories": {} +} diff --git a/apis/shopper-baskets-oas/shopper-baskets-oas-1.8.23/exchange.json b/apis/shopper-baskets-oas/shopper-baskets-oas-1.8.23/exchange.json new file mode 100644 index 00000000..02064acc --- /dev/null +++ b/apis/shopper-baskets-oas/shopper-baskets-oas-1.8.23/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-baskets-oas-v1-public.yaml", + "name": "Shopper Baskets OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-baskets-oas", + "version": "1.8.23", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/shopper-baskets-oas/shopper-baskets-oas-1.8.23/shopper-baskets-oas-v1-internal.yaml b/apis/shopper-baskets-oas/shopper-baskets-oas-1.8.23/shopper-baskets-oas-v1-internal.yaml new file mode 100644 index 00000000..f179b4cb --- /dev/null +++ b/apis/shopper-baskets-oas/shopper-baskets-oas-1.8.23/shopper-baskets-oas-v1-internal.yaml @@ -0,0 +1,6591 @@ +openapi: 3.0.3 +info: + title: Shopper Baskets + version: v1 + description: |- + # API Overview + + Use the Shopper Baskets API to create a basket in the B2C Commerce system and populate it with all the data required to ready the basket for checkout. + + To create a basket, start with the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets?meta=createBasket) endpoint. The endpoint creates the basket in the B2C Commerce system and returns a JSON representation of the basket with a `basketId` property. + + If you provide the JSON for a prepopulated basket to the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets?meta=createBasket) endpoint, you can create a basket using a single API request. + + You can also create a basket and gradually populate it with data using subsequent API requests that reference the same `basketId`. The gradual approach allows you to validate the input data as you go. + + The Shopper Baskets API includes endpoints to populate each part of a basket separately, including: + + - Billing address + - Customer information + - Line items + - Products + - Coupons + - Gift certificates + - Payment methods + - Price books + - Shipments + - Taxation (for items and the basket itself) + + In addition to creating a basket, the main `/baskets` resource offers endpoints to get, transfer, merge, and delete baskets, depending on the HTTP method that you use and the parameters that you supply. These endpoints can you help you handle a variety of complex scenarios, such as when a user starts shopping as a guest and then logs in before checkout. + + You can also use the main `/baskets` resource to add custom properties to your basket, prefixed with `c_` (example: `c_faxNumber`). + + When your basket is fully populated, you can use its `basketId` property to create an order with the [Shopper Orders API](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-orders?meta=Summary). + + For more detail on building baskets, see [Build Baskets and Place Orders](https://developer.salesforce.com/docs/commerce/commerce-api/guide/work-with-baskets-orders.html). + + ## Authentication & Authorization + + The client requesting the basket information must have access to the `/baskets` resource. The Shopper Baskets API requires a shopper access token from the Shopper Login and API Access Service (SLAS). + + For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + The following resources require an Account Manager OAuth token with a client ID: + + - `/baskets/{basketId}/taxes` + - `/baskets/{basketId}/items/{itemId}/taxes` + - `/baskets/{basketId}/price-books` + + ## Use Cases + + ### Use Hooks + + For details on working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) + + ## Basket Calculation + + Unless you’re using [hooks](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html), each modification to a basket triggers the following calculations: + + 1. Calculate product prices: + - Iterate through the product line items and determine the base price of each using its price model. If multiple price books apply to a product, the lowest price is used. + - Calculate product option line item prices using the product option model. + - For bonus products, check dependent adjustments in the basket to determine the price. + 2. Iterate through the gift certificate line items and calculate the price of each by multiplying the base price by the quantity. + 3. Recalculate for all promotions, adding and removing them as appropriate. + 4. Apply product-specific shipping costs. + 5. Calculate the total shipping cost. + 6. Recalculate for all promotions, adding and removing them as appropriate. + 7. Calculate prices for products added by the promotion engine. + 8. Calculate taxes using line item tax class codes. + - For internal tax mode, use the tax tables. + - For external tax mode, use the tax rates returned by the tax API endpoints. + 9. Calculate the order’s net, tax, and gross totals by adding up the line totals. + + ## External Taxation + + The B2C Commerce API calculates taxes internally using tax tables. If you want to integrate with a third-party tax provider, or calculate tax on your own, you can use the external taxation feature to add a taxation rate and optional taxation value. When setting a taxation rate, the taxation is calculated for this specific rate. If you pass a value, this value is used as taxation value, as well, without recalculation. To use this feature, set the `taxMode` parameter to `external` when creating the basket. + + When using external taxation, you must set a tax rate either in one request to the `/baskets/{basketId}/taxes` or with separate requests for each line item, using `/baskets/{basketId}/items/{lineItemId}/taxes`. + + If the tax mode of a basket is set to `external`, a tax item is required for all line items even for zero-tax items to avoid oversights. + + ### External Taxation with Hooks Enabled + + To use external tax calculation with [hooks](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html), use the following API methods in the [Calculate Hook](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html#calculate-hook): + - `dw.order.LineItemCtnr#isExternallyTaxed`: Returns true if the basket was created with `taxMode = external` + - `dw.order.TaxMgr#applyExternalTax`: Applies externally set tax rates to the given basket. Only use when `dw.order.LineItemCtnr#isExternallyTaxed` returns true. + + The following example shows an implementation of external tax calculation with hooks enabled in the [Calculate Hook](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html#calculate-hook): + + exports.calculate = function (basket) { + if ( basket.isExternallyTaxed() ) + { + TaxMgr.applyExternalTaxation( basket ); // apply the external tax calculation based on the tax rates set by the SCAPI external taxation APIs + } + else + { + // calculation with tax tables or customization + } + } +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-baskets/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/baskets: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + post: + description: |- + Creates a new basket. + + The created basket is initialized with default values. Optional JSON data provided in the request body is populated into the created basket. It can be updated with other endpoints offered by the Shopper Baskets API. + + Each customer can have just one open basket. When a basket is created, it is said to be open. It remains open until either an order is created from it or it is deleted. + operationId: createBasket + summary: Create a new basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + responses: + '200': + description: The initialized basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the provided payment method is invalid or not applicable. + - the customerId URL parameter does not match the verified customer + represented by the JSON Web Token (JWT). + - a new basket cannot be created because the maximum number + of baskets per customer would be exceeded. + - the same shipment ID appeared twice in the body. + - the coupon number is not provided. + - a fixed price adjustment was added at order level which is disallowed. + - a promotion ID was + used twice, while attempting to add a price adjustment. + - a system promotion + ID was used as a manual promotion ID, while attempting to add a price adjustment. + - more than one hundred price adjustments would have been + created. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + CustomerBasketQuotaExceededException: + $ref: '#/components/examples/CustomerBasketQuotaExceededException' + '404': + description: Thrown if the shipment with the given shipment ID is unknown. + content: + application/problem+json: + examples: + ShipmentNotFound: + $ref: '#/components/examples/ShipmentNotFound' + requestBody: + content: + application/json: + examples: + PostBasketBody: + $ref: '#/components/examples/BasketPost' + schema: + $ref: '#/components/schemas/Basket' + required: true + parameters: + - $ref: '#/components/parameters/taxMode' + - $ref: '#/components/parameters/locale' + /organizations/{organizationId}/baskets/actions/transfer: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + post: + description: |- + Transfer the previous shopper's basket to the current shopper by updating the basket's owner. No other values change. You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token. + + A success response contains the transferred basket. + + If the current shopper has an active basket, and the `overrideExisting` request parameter is `false`, then the transfer request returns a BasketTransferException (HTTP status 409). You can proceed with one of these options: + - Keep the current shopper's active basket. + - Merge the previous and current shoppers' baskets by calling the `baskets/merge` endpoint. + - Force the transfer by calling the `baskets/transfer` endpoint again, with the parameter `overrideExisting=true`. Forcing the transfer deletes the current shopper's active basket. + operationId: transferBasket + summary: Transfer an existing basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/overrideExisting' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: The transferred basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '403': + description: The call returns this error if no SLAS token for a registered shopper is available. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ForbiddenMissingPrevCustomerInfo: + $ref: '#/components/examples/ForbiddenMissingPrevCustomerInfo' + '409': + description: |- + The call returns this response in either of these cases: + - The previous shopper has no active basket. + - The current shopper has an active basket and the `overrideExisting` query parameter was `false` (default value). + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SourceBasketException: + $ref: '#/components/examples/SourceBasketException' + BasketTransferException: + $ref: '#/components/examples/BasketTransferException' + /organizations/{organizationId}/baskets/actions/merge: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + post: + operationId: mergeBasket + summary: Merge baskets. + description: |- + Merge data from the previous shopper's basket into the current shopper's active basket and delete the previous shopper's basket. This endpoint doesn't merge Personally Identifiable Information (PII). You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token. After the merge, all basket amounts are recalculated and totaled, including lookups for prices, taxes, shipping, and promotions, unless hooks are enabled. + + The following information is merged: + - custom attributes on the basket and on all copied records + - product items + - gift certificate items + - coupon items + - shipments + - ad-hoc price adjustments + + To control the merging of products that exist in both baskets, use the `productItemMergeMode` parameter. By default, the higher of the two basket quantities is used for each product. Products in both baskets are considered to be the same when all of the following values match (if one product doesn't have a value, the other product is a match only if it also doesn't have that value): + - shipment + - productId + - option values + - wishlist reference + - inventory list id + - gift flag & message + - ad-hoc price adjustments + + If any of the listed values don't match, then the item in the previous shopper's basket is copied to a new line item in the current shopper's basket. If the listed values all match, but the matching products have different values for any custom attribute, the merged line item keeps the custom attribute value from the current shopper's basket. + + A success response contains the current shopper's active basket. The previous guest shopper's active basket is deleted. + + If the current shopper doesn't have an active basket, and the createDestinationBasket request parameter is false, then the merge request returns a BasketMergeException (HTTP status 409). You can proceed with one of these options: + - Transfer the previous shopper's active basket to the current logged-in shopper by calling the `baskets/transfer` endpoint. + - Force the merge by calling the `baskets/merge` endpoint again, with the parameter `createDestinationBasket=true`. Forcing the merge creates a new basket for the current shopper and copies information from the previous shopper's basket into it. Because the merge doesn't copy all basket data, a forced merge is not the same as a transfer. For example, the new basket doesn't contain any Personally Identifiable Information (PII) from the previous basket. + + ### before merge + | Previous Shopper's Basket, SKU: Quantity, Custom Attributes | Current Shopper's Basket, SKU: Quantity, Custom Attributes | + |-------------------------------------------------------------|-------------------------------------------------------------| + | SKU_A: 5
SKU_B: 3
SKU_C: 4
c_customAttr_1: 'ABC'
c_customAttr_2: 'DEF' | SKU_A: 2
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_3: 'XYZ' | + + ### after merge - (previous shopper's basket is deleted) + | productItemMergeMode | Current Shopper's Basket - SKU: Quantity, Custom Attributes | + |----------------------|--------------------------------------------------------------| + | sum_quantities | SKU_A: 7
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + | higher_quantity | SKU_A: 5
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + | saved_quantity | SKU_A: 2
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + | separate_item | SKU_A: 5
SKU_B: 3
SKU_C: 4
SKU_A: 2
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/createDestinationBasket' + - $ref: '#/components/parameters/productItemMergeMode' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: The current shopper's active basket, including items merged from the previous shopper's basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '403': + description: The call returns this error if no SLAS token for a registered shopper is available. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ForbiddenMissingPrevCustomerInfo: + $ref: '#/components/examples/ForbiddenMissingPrevCustomerInfo' + '409': + description: |- + The call returns this response in either of these cases: + - The previous shopper has no active basket. + - The current shopper has no active basket and the `createDestinationBasket` query parameter was `false` (default value). + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SourceBasketException: + $ref: '#/components/examples/SourceBasketException' + BasketMergeException: + $ref: '#/components/examples/BasketMergeException' + /organizations/{organizationId}/baskets/{basketId}: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + delete: + description: Removes a basket. + summary: Delete a basket. + operationId: deleteBasket + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + responses: + '204': + description: Success, without a body. + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + get: + description: Gets a basket. + operationId: getBasket + summary: Retrieve an existing basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + - sfcc.shopper-baskets-orders + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the retrieved basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + GetBasket: + $ref: '#/components/examples/BasketGet' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + patch: + description: |- + Updates a basket. Only the currency of the basket, source code, the custom + properties of the basket, and the shipping items will be considered. + operationId: updateBasket + summary: Update a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/locale' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPatch: + $ref: '#/components/examples/BasketPatch' + responses: + '200': + description: Success, the response body contains the updated basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPatch: + $ref: '#/components/examples/examples-BasketPatch' + '400': + description: |- + Possible reasons: + - the customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + - the basket cannot be updated because the + requested currency is not supported by the site. + - the given shipping item ID is null or empty. + - a few shipping items with the same item ID are + provided. + - the provided code is not currently active. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the shipping item with the given item ID is + unknown for the basket. + - the provided code was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + /organizations/{organizationId}/baskets/{basketId}/agent: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + put: + description: Marks a basket as an agent basket. + operationId: updateAsAgentBasket + summary: Designate a basket as an agent basket. + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains basket that is set as an agent basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPutAgent: + $ref: '#/components/examples/BasketPutAgent' + '400': + description: Marking this basket as an agent basket would exceed the open agent basket limit for the basket customer. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerBasketQuotaExceededException' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + /organizations/{organizationId}/baskets/{basketId}/billing-address: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + put: + description: Sets the billing address of a basket. + operationId: updateBillingAddressForBasket + summary: Add a billing address to a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/locale' + - $ref: '#/components/parameters/useAsShipping' + - $ref: '#/components/parameters/removeExternalTax' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/OrderAddress' + examples: + BillingAddressPut: + $ref: '#/components/examples/BillingAddressPut' + responses: + '200': + description: Success, the response body contains basket with the added billing address. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BillingAddress: + $ref: '#/components/examples/examples-BillingAddressPut' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + /organizations/{organizationId}/baskets/{basketId}/coupons: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + post: + description: Adds a coupon to an existing basket. + operationId: addCouponToBasket + summary: Add a coupon to a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/locale' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CouponItem' + examples: + CouponCodePost: + $ref: '#/components/examples/CouponCodePost' + responses: + '200': + description: Success, the response body contains the basket with the added coupon. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + CouponCodePost: + $ref: '#/components/examples/examples-CouponCodePost' + '400': + description: |- + Possible Reasons: + - the customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + - the coupon number is not provided. + - the coupon code specified is invalid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + /organizations/{organizationId}/baskets/{basketId}/coupons/{couponItemId}: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/couponItemId' + delete: + description: Removes a coupon from the basket. + operationId: removeCouponFromBasket + summary: Remove a coupon from a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket without the deleted coupon. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + Basket: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the couponItemId URL parameter does not match any + coupon item ID in the basket. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + /organizations/{organizationId}/baskets/{basketId}/customer: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + put: + description: Sets customer information for an existing basket. + operationId: updateCustomerForBasket + summary: Add shopper information to a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/locale' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerInfo' + examples: + BillingAddressPut: + $ref: '#/components/examples/CustomerPut' + responses: + '200': + description: Success, the response body contains the basket with the added customer information. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BillingAddress: + $ref: '#/components/examples/examples-CustomerPut' + '400': + description: |- + Possible reasons: + - the customer assigned to the basket does not match the verified + customer represented by the JSON Web Token (JWT). + - the customer cannot be set to the basket because the + max number of baskets per customer would be exceeded. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the customer with the given customer number is unknown. + - the basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + /organizations/{organizationId}/baskets/{basketId}/gift-certificate-items: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + post: + description: Adds a gift certificate item to an existing basket. + operationId: addGiftCertificateItemToBasket + summary: Add a gift certificate to a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket with the added gift certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + GiftCertPost: + $ref: '#/components/examples/examples-GiftCertPost' + '400': + description: The gift certificate item amount is negative. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the shipment with the given shipment ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + requestBody: + content: + application/json: + examples: + GiftCertificateItemPost: + $ref: '#/components/examples/GiftCertPost' + schema: + $ref: '#/components/schemas/GiftCertificateItem' + /organizations/{organizationId}/baskets/{basketId}/gift-certificate-items/{giftCertificateItemId}: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/giftCertificateItemId' + delete: + description: Deletes a gift certificate item from an existing basket. + operationId: removeGiftCertificateItemFromBasket + summary: Remove a gift certificate from a basket. + parameters: + - $ref: '#/components/parameters/locale' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + responses: + '200': + description: Success, the response body contains the basket without the deleted gift certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the gift certificate item with the given gift certificate item ID is unknown. + patch: + description: Updates a gift certificate item of an existing basket. + operationId: updateGiftCertificateItemInBasket + summary: Update gift certificate information for a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket with the updated gift certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + GiftCertPatch: + $ref: '#/components/examples/examples-GiftCertPatch' + '400': + description: The gift certificate item amount is negative. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the gift certificate item with the given gift certificate item ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + requestBody: + content: + application/json: + examples: + GiftCertificateItemPost: + $ref: '#/components/examples/GiftCertPatch' + schema: + $ref: '#/components/schemas/GiftCertificateItem' + /organizations/{organizationId}/baskets/{basketId}/items: + post: + responses: + '200': + description: Success, the response body contains the basket with the added items. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the given product ID is null or invalid. + - the product with the given product ID is unknown, offline or + not assigned to site catalog or the given product item quantity is null or invalid. + - a null quantity value. + - the requested product quantity is not available. + - the product cannot be added to the basket because of its type. + - an option with the specified option ID is unknown. + - an option with the specified option value ID is + unknown. + - the maximum allowed number of products added to the basket, + has been exceeded. + - the customer assigned to the basket does not match the verified + customer represented by the JSON Web Token (JWT). + - the provided bonus discount line item ID is not + present in the current basket. + - the quantity of the product to be added will result in the + number of selected bonus choice products to exceed the amount that the user is permitted to select. + - the selected bonus product is not an applicable product for + the bonus discount line item provided. + body: + application/problem+json: + type: ErrorResponse + examples: + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the basket does not contain a shipment with the given shipment ID. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: |- + Adds new items to a basket. The added items are associated with the + specified shipment. If no shipment id is specified, the added items are associated with the default shipment. + Considered values from the request body, for each item are: + + - productId: a valid product ID. This is the ID of the product to be added to the basket. If the + product is already in the basket, the API either increments the quantity of the existing product line item or + creates a new product line item, based on the site preference 'Add Product Behavior'. For option products and + product bundles containing variation masters, the API creates a new product line item regardless of the site + preference. + - shipmentId: a valid shipment ID (optional). This is the ID of the shipment in which the product item + is created. + - quantity: a number between 0.01 and 999. This is the quantity of the product to order. + - inventoryId: a valid inventory ID (optional). This is the ID of the inventory from which the item is + allocated. + - bonusDiscountLineItemId: a valid bonus discount line item ID (optional). This is the ID of the + bonus discount line item for which the added product is a selected bonus product. + - optionItems/optionValueId: a valid option value ID. This is an option value for an option item of + an option product. This is only possible if the product item is an option + product. To set option values, you must specify a collection of option items in the optionItems + property. These option items must contain optionId and optionValueId. Also, + the values you specify must be valid for the option product that this product item represents. Otherwise, the + server throws an InvalidProductOptionItemException or an + InvalidProductOptionValueItemException. + - custom properties in the form c_: the custom property must correspond to a custom + attribute () defined for ProductLineItem. The value of this property must be valid for the + type of custom attribute defined for ProductLineItem. + operationId: addItemToBasket + summary: Add an item to a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + ItemPost: + $ref: '#/components/examples/ItemPost' + schema: + type: array + items: + $ref: '#/components/schemas/ProductItem' + required: true + parameters: + - $ref: '#/components/parameters/locale' + patch: + responses: + '200': + description: Success, the response body contains the basket with the updated item. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - no product item with a given item ID was found for the basket. + - the product with the given product ID in the + request body is invalid. + - a null quantity value. + - an option with a specified option ID is unknown. + - an option with a specified option value ID is unknown. + - the given shipment ID is invalid. + - the customer assigned to the basket does not + match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: 'Possible reasons: basket not found' + description: "Updates multiple items in a basket. This behaviour matches that of updating a \nsingle item, but the body contains an array of ProductItems to be updated that are identified by `itemId`.\nThe items to update can include bundled product items, although the \nkind of update supported for bundled product items is limited to `productId`, `gift`, `giftMessage`\nand custom properties.\nThe following values in the request body are considered by the server:\n\n- `itemId` (mandatory): identifies an item to be updated.\n- `productId`: a valid product ID. The purpose of this\nvalue is to change the variation of a variation product.\n- `shipmentId`: a valid shipment ID. The purpose of\nthis value is to move a product item to another shipment.\n- `quantity`: a number between 0 and 999. The purpose of\nthis value is to change the quantity of the product item. If the quantity is 0,\nthe product item is removed.\n- `optionItems`/`optionValueId`: a valid option value\nID. The purpose of this value is to exchange an option value for an\noption item of an option product.\nThis is only possible if the product item is an option product. To change\noption values, a collection of the option items to be changed must be\nprovided in the property `optionItems`. Those\n`optionItems` must contain `optionId`\nand `optionValueId`. The provided values must be valid\nfor the option product that this product item represents. Otherwise,\n`InvalidProductOptionItemException` or\n`InvalidProductOptionValueItemException` is thrown.\n- custom properties `c_`: a\nvalue corresponding to the type defined for custom attribute\n`` of the ProductLineItem. The purpose of this value is to\nadd or change the value of a custom attribute defined for the\nProductLineItem.\n- `gift`: a boolean value that specifies whether the item is a gift.\n- `giftMessage`: a message to include with the gift." + operationId: updateItemsInBasket + summary: Update a basket item. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + ItemsPatch: + $ref: '#/components/examples/ItemsPatch' + schema: + type: array + items: + $ref: '#/components/schemas/ProductItem' + required: true + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/siteId' + /organizations/{organizationId}/baskets/{basketId}/items/{itemId}: + delete: + responses: + '200': + description: Success, the response body contains the basket without the deleted item. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Removes a product item from the basket. + operationId: removeItemFromBasket + summary: Remove an item from a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + patch: + responses: + '200': + description: Success, the response body contains the basket with the updated item. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ItemPatchSuccess: + $ref: '#/components/examples/examples-ItemPatch' + '400': + description: |- + Possible reasons: + - no product item with given item ID was found for the basket. + - the product with the given product ID in the + request body is invalid. + - a null quantity value. + - an option with the specified option id is unknown. + - an option with the specified option value id is unknown. + - the given shipment ID is invalid. + - the customer assigned to the basket does not. + match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - a shipment with it's given ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: |- + Possible reasons: + - no product item with given item ID was found for the basket. + - the product with the given product ID in the + request body is invalid. + - a null quantity value. + - an option with the specified option id is unknown. + - an option with the specified option value id is unknown. + - the given shipment ID is invalid. + - the customer assigned to the basket does not. + match the verified customer represented by the JWT token. + operationId: updateItemInBasket + summary: Update an item in a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + ItemPatch: + $ref: '#/components/examples/ItemPatch' + schema: + $ref: '#/components/schemas/ProductItem' + required: true + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/items/{itemId}/taxes: + put: + responses: + '204': + description: Success, without body. + '404': + description: |- + Possible reasons: + - The basket with the given basket ID is unknown. + - The item with the given item ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + '409': + description: "Possible Reasons:\n- The tax mode of the referenced basket is not set to EXTERNAL. " + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UnsupportedRequest: + $ref: '#/components/examples/UnsupportedRequest' + description: This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for a specific taxable line item. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. + operationId: addTaxesForBasketItem + summary: Add taxation information for a basket item. + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + BasketItemTaxPut: + $ref: '#/components/examples/BasketItemTaxPut' + schema: + $ref: '#/components/schemas/TaxItems' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/payment-instruments: + post: + responses: + '200': + description: Success, the response body contains the basket with the added payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the provided payment method is invalid or not applicable. + - the customer assigned to the basket does not match the verified + customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Adds a payment instrument to a basket. + operationId: addPaymentInstrumentToBasket + summary: Add a payment instrument to a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + PaymentInstrumentPost: + $ref: '#/components/examples/PaymentInstrumentPost' + schema: + $ref: '#/components/schemas/BasketPaymentInstrumentRequest' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/payment-instruments/{paymentInstrumentId}: + delete: + responses: + '200': + description: Success, the response body contains the basket without the deleted payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the payment instrument with the given basket payment + instrument ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Removes a payment instrument of a basket. + operationId: removePaymentInstrumentFromBasket + summary: Remove a payment instrument from a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + patch: + responses: + '200': + description: Success, the response body contains the basket with the updated payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + PaymentInstrumentPatch: + $ref: '#/components/examples/examples-PaymentInstrumentPatch' + '400': + description: |- + Possible reasons: + - the provided payment method is invalid or not applicable. + - the basket payment intsrument with the given id is already permanently masked. + - The customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the payment instrument item with the given payment instrument ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Updates payment instrument of an existing basket. + operationId: updatePaymentInstrumentInBasket + summary: Update a payment instrument for a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + PaymentInstrumentPatch: + $ref: '#/components/examples/PaymentInstrumentPatch' + schema: + $ref: '#/components/schemas/OrderPaymentInstrument' + required: true + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/payment-methods: + get: + responses: + '200': + description: Success, the response body contains the applicable payment methods for the basket. + content: + application/json: + examples: + PaymentMethodsGet: + $ref: '#/components/examples/PaymentMethodsGet' + schema: + $ref: '#/components/schemas/PaymentMethodResult' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Gets applicable payment methods for an existing basket considering the open payment amount only. + operationId: getPaymentMethodsForBasket + summary: Retrieve payment instruments for a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + - sfcc.shopper-baskets-orders + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/price-adjustments: + post: + responses: + '200': + description: Success, the response body contains the basket with added price adjustment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + PriceAdjustmentPost: + $ref: '#/components/examples/examples-PriceAdjustmentPost' + '400': + description: |- + Possible reasons: + - a fixed price adjustment was already created for the given level. + - a fixed price adjustment was added at `order` level. + - a promotion ID was used twice. + - a system promotion ID was used as a manual promotion ID. + - more than one hundred price adjustments would have been created. + - the price adjustment limit had exceeded. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Adds a custom manual price adjustment to the basket. + operationId: addPriceAdjustmentToBasket + summary: Add a price adjustment to a basket. + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + PriceAdjustmentPost: + $ref: '#/components/examples/PriceAdjustmentPost' + schema: + $ref: '#/components/schemas/PriceAdjustmentRequest' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/price-adjustments/{priceAdjustmentId}: + delete: + responses: + '200': + description: Success, the response body contains the basket without the deleted price adjustment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: The priceAdjustmentId is missing, empty or whitespace. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Removes a custom manual price adjustment from the basket. + operationId: removePriceAdjustmentFromBasket + summary: Remove a price adjustment from a basket. + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + patch: + responses: + '200': + description: Success, the response body contains the basket with the updated price adjustment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + PriceAdjustmentPatch: + $ref: '#/components/examples/examples-PriceAdjustmentPatch' + '400': + description: |- + Possible reasons: + - the price adjustment is not manual and cannot be updated. + - the expected attributes are missing in the input. + - the type of a price adjustment does not match the adjustment type of the input data. + - the price adjustment limit is exceeded. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The price adjustment ID is not found. + content: + application/problem+json: + examples: + PriceAdjustmentIdNotFoundException: + $ref: '#/components/examples/PriceAdjustmentIdNotFoundException' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: "Updates a custom manual price adjustment on the basket. Only the following path values are considered for the update; all other attributes are ignored.\n- `discount` \n- `itemText`\n- `reasonCode`\n- `custom properties` \nThe discount `type` of a price adjustment cannot be updated and therefore, the value of the existing type must be passed. For an adjustment of type `percentage`, the `percentage` attribute is mandatory. For adjustments of type `amount` and `fixed_price`, the `amount` attribute is mandatory." + operationId: updatePriceAdjustmentInBasket + summary: Update a price adjustment for a basket. + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + PriceAdjustmentPatch: + $ref: '#/components/examples/PriceAdjustmentPatch' + schema: + $ref: '#/components/schemas/PriceAdjustment' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + parameters: + - $ref: '#/components/parameters/priceAdjustmentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/price-books: + get: + responses: + '200': + description: Success, the response body contains the priceBookIds for the basket. + content: + application/json: + examples: + PriceBooksGet: + $ref: '#/components/examples/PriceBooksGet' + schema: + $ref: '#/components/schemas/PriceBookIds' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: "( DEPRECATED ) Gets applicable price books for an existing basket. This endpoint is deprecated. \nUse [Shopper Context](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-context?meta=Summary), \nhooks or `dw.catalog.PriceBookMgr#getApplicablePriceBooks()` instead." + operationId: getPriceBooksForBasket + summary: Retrieve price books for a basket. + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + - sfcc.shopper-baskets-orders + parameters: + - $ref: '#/components/parameters/siteId' + put: + responses: + '204': + description: Success, without body. + '404': + description: The basket with the given basket ID is unknown or contains a price book ID that does not correspond to an existing price book. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: ( DEPRECATED ) This method allows you to put an array of priceBookIds to an existing basket, which will be used for basket calculation. This endpoint is deprecated. Use [Shopper Context](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-context?meta=Summary), hooks or `dw.catalog.PriceBookMgr#setApplicablePriceBooks()` instead. + operationId: addPriceBooksToBasket + summary: Add price books to a basket. + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + PriceBooksPut: + $ref: '#/components/examples/PriceBooksPut' + schema: + $ref: '#/components/schemas/PriceBookIds' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments: + post: + responses: + '200': + description: Success, the response body contains the basket with added shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsPost: + $ref: '#/components/examples/examples-ShipmentsPost' + '400': + description: |- + Possible reasons: + - a shipment id is not provided. + - a shipment with the provided ID already. + exists for the basket. + - a shipment with the provided shipment number + already exists for the basket. + - a shipping method with an ID was specified + which is not a valid shipping method ID. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + The basket with the given basket ID is + unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: |- + Creates a new shipment for a basket. + + The created shipment is initialized with values provided in the body + document and can be updated with further data API calls. Considered from + the body are the following properties if specified: + + - the ID + - the shipping address + - the shipping method + - gift boolean flag + - gift message + - custom properties + operationId: createShipmentForBasket + summary: Create a shipment for a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + ShipmentsPost: + $ref: '#/components/examples/ShipmentsPost' + schema: + $ref: '#/components/schemas/Shipment' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}: + delete: + responses: + '200': + description: Success, the response body contains the basket without the deleted shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the given shipment ID is invalid. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '403': + description: |- + The given shipment ID corresponds to the + default shipment and cannot be removed. + content: + application/problem+json: + examples: + BadRequest: + $ref: '#/components/examples/Forbidden' + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: |- + The basket with the given basket ID is + unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: |- + Removes a specified shipment and all associated product, gift certificate, + shipping, and price adjustment line items from a basket. + It is not allowed to remove the default shipment. + operationId: removeShipmentFromBasket + summary: Remove a shipment from a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + patch: + responses: + '200': + description: Success, the response body contains the basket with the updated shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsPatch: + $ref: '#/components/examples/examples-ShipmentsPatch' + '400': + description: |- + Possible reasons: + - the given shipment ID was invalid. + - a shipment with the provided ID already + exists for the basket. + - a shipment with the provided shipment number + already exists for the basket. + - a missing shipping method. + - an invalid shipping method. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: |- + Updates a shipment for a basket. + + The shipment is initialized with values provided in the body + document and can be updated with further data API calls. Considered from + the body are the following properties if specified: + - the ID + - the shipping address + - the shipping method + - gift boolean flag + - gift message + - custom properties + operationId: updateShipmentForBasket + summary: Update a shipment for a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + ShipmentsPatch: + $ref: '#/components/examples/ShipmentsPatch' + schema: + $ref: '#/components/schemas/Shipment' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-address: + put: + responses: + '200': + description: Success, the response body contains the basket with the added shipping address. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsAddressPut: + $ref: '#/components/examples/examples-ShipmentsAddressPut' + '400': + description: |- + Possible reasons: + - the shipment with the given shipment ID is unknown. + - the customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Sets a shipping address of a specific shipment of a basket. + operationId: updateShippingAddressForShipment + summary: Update the shipping address for a shipment. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + ShipmentsAddressPut: + $ref: '#/components/examples/ShipmentsAddressPut' + schema: + $ref: '#/components/schemas/OrderAddress' + required: true + parameters: + - $ref: '#/components/parameters/useAsBilling' + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-method: + put: + responses: + '200': + description: Success, the response body contains the basket with the added shipping method. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsMethodPut: + $ref: '#/components/examples/examples-ShipmentsMethodPut' + '400': + description: |- + Possible reasons: + - the id of the shipping method is missing. + - a shipping method with an ID was specified + which is not a valid shipping method ID. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Sets a shipping method to a specific shipment of a basket. + operationId: updateShippingMethodForShipment + summary: Update the shipping method for a shipment. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + ShipmentsMethodPut: + $ref: '#/components/examples/ShipmentsMethodPut' + schema: + $ref: '#/components/schemas/ShippingMethod' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-methods: + get: + responses: + '200': + description: Success, the response body contains the applicable shipping methods for a certain shipment of the basket. + content: + application/json: + examples: + ShipmentsMethodGet: + $ref: '#/components/examples/ShipmentsMethodGet' + schema: + $ref: '#/components/schemas/ShippingMethodResult' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: |- + Possible reasons: + - The basket with the given basket ID is unknown. + - The shipment with the given shipment ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Gets the applicable shipping methods for a certain shipment of a basket. + operationId: getShippingMethodsForShipment + summary: Retrieve the shipping methods for a shipment. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + - sfcc.shopper-baskets-orders + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/storefront: + put: + responses: + '200': + description: Success, the response body contains a basket that is set as a storefront basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPutStorefront: + $ref: '#/components/examples/BasketPutStorefront' + '400': + description: Thrown if a storefront basket already exists and the query parameter `exchange` is false. + content: + application/problem+json: + examples: + CustomerBasketQuotaExceededException: + $ref: '#/components/examples/CustomerBasketQuotaExceededException' + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Marks a basket as a storefront basket. + operationId: updateAsStorefrontBasket + summary: Designate a basket as a storefront basket. + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/exchange' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/siteId' + /organizations/{organizationId}/baskets/{basketId}/taxes: + get: + responses: + '200': + description: Success, the response body contains the external taxation from all line items from the referenced basket. + content: + application/json: + examples: + PostBasketBody: + $ref: '#/components/examples/BasketTaxGet' + schema: + $ref: '#/components/schemas/Taxes' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + '409': + description: |- + Possible Reasons: + - The tax mode of the referenced basket is not set to EXTERNAL. + content: + application/json: + examples: + InvalidTaxMode: + $ref: '#/components/examples/InvalidTaxMode' + UnsupportedRequest: + $ref: '#/components/examples/UnsupportedRequest' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: This method gives you the external taxation data set by the PUT taxes API. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. + operationId: getTaxesFromBasket + summary: Retrieve the external taxation information for a basket. + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + - sfcc.shopper-baskets-orders + parameters: + - $ref: '#/components/parameters/siteId' + put: + responses: + '204': + description: Success, without body. + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + '409': + description: |- + Possible Reasons: + - The tax mode of the referenced basket is not set to EXTERNAL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UnsupportedRequest: + $ref: '#/components/examples/UnsupportedRequest' + description: |- + This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for all taxable line items. + This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. + operationId: addTaxesForBasket + summary: Add external taxation information to a basket. + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + PostBasketBody: + $ref: '#/components/examples/BasketTaxPut' + schema: + $ref: '#/components/schemas/Taxes' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + ShopperTokenTaob: + type: oauth2 + description: "`ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. \nA token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`.\nTo get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). \nAfterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)).\nFor more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html).\n" + flows: + clientCredentials: + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + schemas: + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + CountryCode: + pattern: ^[A-Z][A-Z]$ + description: A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. + example: US + type: string + OrderAddress: + description: Document representing an order address. + properties: + address1: + description: The first address line. + example: 45 Main Rd. + type: string + address2: + description: The second address line. + example: Apartment 204 + type: string + city: + description: The city. + example: Boston + type: string + companyName: + description: The company name. + example: Salesforce + type: string + countryCode: + $ref: '#/components/schemas/CountryCode' + firstName: + description: The first name. + example: Max + type: string + fullName: + description: The full name. + example: Max Mustermann + type: string + id: + description: The ID of the address. + example: me + type: string + jobTitle: + description: The job title. + example: Software Engineer + type: string + lastName: + description: The last name. + example: Mustermann + type: string + phone: + description: The phone number. + example: '6175555555' + type: string + postBox: + description: The post office box. + example: PO BOX 109 + type: string + postalCode: + description: The postal code. + example: '05408' + type: string + salutation: + description: The salutation. + example: Mr + type: string + secondName: + description: The second name. + type: string + stateCode: + description: The state code. + example: MA + type: string + suffix: + description: The suffix. + example: Sr + type: string + suite: + description: The suite. + example: 24A + type: string + title: + description: The title. + example: Dr. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + ProductDetailsLink: + description: Document representing a link to the resource for product details. + properties: + productDescription: + description: The description of the product. + example: Nintendo DS revolutionizes handheld gameplay. + type: string + productId: + $ref: '#/components/schemas/ProductId' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + title: + description: The link title. + example: Nintendo DS Game Console + type: string + type: object + required: + - productId + additionalProperties: false + BonusDiscountLineItem: + description: Document representing a bonus discount line item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + bonusProducts: + description: The bonus products the customer can choose from. + type: array + items: + $ref: '#/components/schemas/ProductDetailsLink' + couponCode: + description: The coupon code that triggered the promotion, if applicable. + example: 5ties + type: string + id: + description: The ID of the line item. It is read only. + example: 91f4dd8bfa0653d58b7783b04f + type: string + maxBonusItems: + format: int32 + description: The maximum number of bonus items the user can select for this promotion. + type: integer + promotionId: + description: The ID of the promotion that triggered the creation of the line item. + example: Buy1Get2 + type: string + CouponItemId: + minLength: 1 + type: string + description: The coupon item ID + example: d4c9c0141e9c74c150225580f3 + CouponItem: + description: Document representing a coupon item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + code: + maxLength: 256 + description: The coupon code. + example: 5ties + type: string + couponItemId: + description: The coupon item ID. It is read only. + allOf: + - $ref: '#/components/schemas/CouponItemId' + statusCode: + description: The status of the coupon item. It is read only. + example: no_applicable_promotion + enum: + - coupon_code_already_in_basket + - coupon_code_already_redeemed + - coupon_code_unknown + - coupon_disabled + - redemption_limit_exceeded + - customer_redemption_limit_exceeded + - timeframe_redemption_limit_exceeded + - no_active_promotion + - coupon_already_in_basket + - no_applicable_promotion + - applied + - adhoc + type: string + valid: + description: |- + A flag indicating whether the coupon item is valid. A coupon line item is valid if + the status code is "applied" or "no_applicable_promotion". It is read only. + example: true + type: boolean + required: + - code + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + CustomerInfo: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: The customer information for guest or logged-in customers. + type: object + properties: + customerId: + maxLength: 100 + description: The customer ID. It is read only. + example: abMKqMaNYOBMnNdDNzyC5oNTi5 + type: string + customerName: + description: The customer name. + example: Max Mustermann + type: string + customerNo: + maxLength: 100 + description: The customer number. + example: '0002352' + type: string + email: + description: The customer's email address. + example: no-reply@salesforce.com + type: string + required: + - email + GiftCertificateItemId: + example: 629dea6e7b61e58da629b57b21 + type: string + minLength: 1 + GiftCertificateItem: + description: A gift certificate item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The gift certificate item amount. + example: 20 + type: number + giftCertificateItemId: + description: The item ID. It is read only. + allOf: + - $ref: '#/components/schemas/GiftCertificateItemId' + message: + maxLength: 4000 + description: The gift certificate message. + example: Birthday present. + type: string + recipientEmail: + minLength: 1 + description: The recipient email. + example: no-reply@salesforce.com + type: string + recipientName: + description: The recipient's name. + example: Daniel Mustermann + type: string + senderName: + description: The sender's name. + example: Max Mustermann + type: string + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + required: + - amount + - recipientEmail + Discount: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: Document representing a discount. + type: object + properties: + amount: + format: double + description: The discount amount for discount types that define specific discount amounts. It is read only. + example: 130.88 + type: number + percentage: + format: double + description: The discount percent for discount types that define percentage discounts. It is read only. + example: 0.19 + type: number + priceBookId: + description: The price book ID that is used with some types. It is read only. + example: usd-sale-prices + type: string + type: + description: The type of discount. It is read only. + example: fixed_price + enum: + - percentage + - fixed_price + - amount + - free + - price_book_price + - bonus + - total_fixed_price + - bonus_choice + - percentage_off_options + type: string + required: + - type + PriceAdjustmentId: + example: ba248424e3eee797f062161f8b + type: string + PriceAdjustment: + description: |- + Document representing a price adjustment within a basket or order. Price adjustments + can be assigned at the order, product, or shipping level. + properties: + appliedDiscount: + description: |- + Details describing the discount this price adjustment is based on. For adjustments + not based on a discount, this value is null. + allOf: + - $ref: '#/components/schemas/Discount' + couponCode: + description: |- + The coupon code of the coupon this price adjustment is based on. For adjustments + not based on a coupon, this value is null. It is read only. + example: 5ties + type: string + createdBy: + description: The user who created the price adjustment. It is read only. + example: Support + type: string + creationDate: + description: The timestamp when the price adjustment was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + custom: + description: |- + A flag indicating whether this price adjustment was created by custom logic. This + flag is set to true unless the price adjustment was created by the promotion + engine. + example: true + type: boolean + itemText: + description: The text describing the item. + type: string + lastModified: + description: The timestamp when the price adjustment was last modified. It is read only. + example: '2021-02-25T09:58:08.715Z' + type: string + format: date-time + manual: + description: |- + A flag indicating whether this price adjustment was created by a manual process. + If the price adjustment was created by the promotion engine, this value is always + false. + example: true + type: boolean + price: + format: double + description: The adjustment price. It is read only. + example: 120.88 + type: number + priceAdjustmentId: + description: The price adjustment ID. It is read only. + allOf: + - $ref: '#/components/schemas/PriceAdjustmentId' + promotionId: + description: |- + The ID of the related promotion. Custom price adjustments + can be assigned any promotion ID so long it is not + used by a price adjustment belonging to the same item, + and is not used by a promotion defined in the promotion engine. + If not specified, a promotion ID is generated. + type: string + reasonCode: + description: The reason for the price adjustment. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + Status: + description: Document representing an object status. + properties: + code: + description: The status code. + type: string + message: + description: The status message. + type: string + status: + format: int32 + description: |- + The status. + For more information on the status values see Status.OK and Status.ERROR. + type: integer + type: object + additionalProperties: false + PaymentCard: + additionalProperties: false + description: Document representing a payment card. + type: object + properties: + cardType: + maxLength: 256 + description: The payment card type. + example: Visa + type: string + creditCardExpired: + description: A flag indicating if the credit card is expired. It is read only. + example: true + type: boolean + creditCardToken: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + example: E67TY8GQ27X + type: string + expirationMonth: + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + maxLength: 4000 + description: The masked payment card number. + example: '*********4422' + type: string + numberLastDigits: + maxLength: 4000 + description: The last digits of the payment card number. It is read only. + example: '4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month the payment card is valid from. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year the payment card is valid from. + example: 2015 + type: integer + PaymentInstrumentId: + description: The payment instrument ID + example: ba248424e3eee797f062162f8b + type: string + OrderPaymentInstrument: + description: Document representing an order payment instrument. + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + authorizationStatus: + description: The authorization status of the payment transaction. It is read only. + allOf: + - $ref: '#/components/schemas/Status' + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '12030000' + type: string + maskedGiftCertificateCode: + description: The gift certificate code with the last 4 characters not masked. + example: '******Gzzy' + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/PaymentCard' + paymentInstrumentId: + description: The payment instrument ID. It is read only. + allOf: + - $ref: '#/components/schemas/PaymentInstrumentId' + paymentMethodId: + maxLength: 256 + description: The payment method ID. It is read only. + example: CREDIT_CARD + type: string + type: object + ProductItem: + description: Document representing a product item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including + adjustments. If the taxation policy is net, it doesn't include tax. If the + taxation policy is gross, it includes tax. It is read only. + example: 130 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. + example: true + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. + example: inventory + type: string + itemId: + description: |- + The product item ID. Use it to identify this item when updating its quantity or + creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not + including order-level adjustments or shipping charges. If the taxation policy is + net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 20.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation + policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 15.5 + type: number + productId: + maxLength: 100 + description: The ID of the product. + example: nintendo-ds-console + type: string + productListItem: + description: |- + If this product line item was added from a product list, this value is a reference + to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A + related shipping item represents a surcharge applied to individual products using + a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax for the product item, not including price adjustments. It is read only. + example: 0.3 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this product item. It is read only. + example: 30 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.9 + type: number + ItemId: + description: The item id. + example: 430ef5aad3a24de59378458434 + type: string + OptionItem: + description: |- + An option item represents an optional purchase related to a product item, and is always associated with that parent product + item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + example: ba248414e3eee797f062162f8b + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. It is read only. + example: false + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: false + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. It is read only. + example: inventory + type: string + itemId: + description: The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + example: The item text. + type: string + optionId: + maxLength: 256 + description: The ID of the option. It is read only. + example: consoleWarranty + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + optionValueId: + maxLength: 256 + description: The ID of the option value. It is read only. + example: '000' + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + example: 150.99 + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not including order-level adjustments or + shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated order-level adjustments, but not + including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 40.5 + type: number + productId: + $ref: '#/components/schemas/ProductId' + productListItem: + description: If this product line item was added from a product list, this value is a reference to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The ordered quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A related shipping item represents a + surcharge applied to individual products using a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax on the line item before applying any adjustments. It is read only. + example: 0 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. It is read only. + example: 50 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.19 + type: number + required: + - optionId + - optionValueId + ProductListLink: + description: Document representing a link to a product list. + properties: + description: + description: The description of this product list. + type: string + name: + description: The name of this product list. + type: string + public: + description: |- + A flag indicating whether the owner made this product list available for access + by other customers. It is read only. + example: true + type: boolean + title: + description: The link title. + type: string + type: + description: The type of the product list. + example: shopping_list + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + type: string + type: object + additionalProperties: false + ProductListItemReference: + description: Document representing product list item details. + type: object + additionalProperties: false + properties: + id: + description: The ID of the product list item. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + priority: + format: int32 + description: The priority of the product list item. + example: 1 + type: integer + productDetailsLink: + $ref: '#/components/schemas/ProductDetailsLink' + productList: + description: A reference to the associated product list. It is read only. + allOf: + - $ref: '#/components/schemas/ProductListLink' + public: + example: false + type: boolean + purchasedQuantity: + format: double + description: The total quantity of this item purchased from the product list. + example: 0 + type: number + quantity: + minimum: 0 + format: double + description: The number of products or gift certificates that get shipped when purchasing this product list item. + example: 1 + type: number + type: + description: Specifies whether the item is a product or a gift certificate. + example: product + enum: + - product + - gift_certificate + type: string + required: + - id + ShipmentId: + minLength: 1 + type: string + example: me + description: The identifier of the shipment + ShippingPromotion: + description: Document representing a shipping promotion. + properties: + calloutMsg: + description: The localized callout message of the promotion. + example: $30 Fixed Shipping Amount Above 150 + type: string + promotionId: + description: The unique ID of the promotion. + example: $30FixedShippingAmountAbove150 + type: string + promotionName: + description: The localized promotion name. + example: $30 Fixed Shipping Amount Above 150 + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ShippingMethod: + description: Document representing a shipping method. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + description: + description: The localized description of the shipping method. + example: Order received within 7-10 business days + type: string + externalShippingMethod: + description: The external shipping method. + type: string + id: + maxLength: 256 + description: The shipping method ID. + example: '001' + type: string + name: + description: The localized name of the shipping method. + example: Ground + type: string + price: + format: double + description: |- + The shipping cost total, including shipment level costs, + product level fix, and surcharge costs. It is read only. + example: 15 + type: number + shippingPromotions: + description: |- + The array of active customer shipping promotions for this shipping + method. This array can be empty. + type: array + items: + $ref: '#/components/schemas/ShippingPromotion' + type: object + required: + - id + Shipment: + description: Document representing a shipment. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not including + service charges such as shipping. If the Discount Taxation preference is set to Tax Products and + Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + gift: + description: A flag indicating whether the shipment is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + merchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, not including price adjustments or service charges such as + shipping. It is read only. + example: 4.95 + type: number + productSubTotal: + format: double + description: |- + The total price of all products in the shipment, including item-level adjustments, but not including + order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If + the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + shipmentId: + description: The order-specific ID of the shipment. The default value is 'me'. + default: me + allOf: + - $ref: '#/components/schemas/ShipmentId' + shipmentNo: + description: The shipment number of this shipment. This number is automatically generated. It is read only. + type: string + shipmentTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments, shipping charges, + and tax. It is read only. + example: 39.99 + type: number + shippingAddress: + description: The shipping address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + shippingMethod: + $ref: '#/components/schemas/ShippingMethod' + shippingStatus: + description: The shipping status of the shipment. + example: shipped + enum: + - not_shipped + - shipped + type: string + shippingTotal: + format: double + description: |- + The total price of all shipping charges in the shipment, including shipping adjustments. If the + taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. + example: 0.3 + type: number + taxTotal: + format: double + description: |- + The total tax on the shipment, including item-level price adjustments and service charges such as + shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on + Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 1.8 + type: number + trackingNumber: + description: The tracking number of the shipment. + example: 1Z204E380338943508 + type: string + type: object + ShippingItem: + description: Document representing a shipping item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax for the shipping item, including price adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the shipping item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + itemId: + description: |- + The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a + custom price adjustment for it. It is read only. + example: 430ef5aad3a24de59378458434 + type: string + itemText: + description: The text describing the shipping item. + example: Shipping + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the shipping item including item-level adjustments, but not including order-level + adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + type: number + shipmentId: + description: The identifier of the shipment to which this item belongs. + allOf: + - $ref: '#/components/schemas/ShipmentId' + tax: + format: double + description: The tax on the product item, not including adjustments. It is read only. + example: 0.19 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this shipping item. It is read only. + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. + type: number + type: object + Basket: + description: Document representing a basket. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not + including service charges such as shipping. If the Discount Taxation preference is set to Tax + Products and Shipping Only Based on Adjusted Price, this amount also includes prorated + order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + agentBasket: + description: Is the basket created by an agent? It is read only. + example: true + type: boolean + basketId: + description: The unique identifier for the basket. It is read only. + example: e78aa5646a8efebdd9cdd38be7 + type: string + billingAddress: + description: The billing address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + bonusDiscountLineItems: + description: The bonus discount line items. + type: array + items: + $ref: '#/components/schemas/BonusDiscountLineItem' + channelType: + description: The sales channel. It is read only. + example: storefront + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + couponItems: + description: The coupon items. + type: array + items: + $ref: '#/components/schemas/CouponItem' + creationDate: + description: The timestamp when the basket was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + currency: + $ref: '#/components/schemas/CurrencyCode' + customerInfo: + description: The customer information, if the customer is logged in. + allOf: + - $ref: '#/components/schemas/CustomerInfo' + giftCertificateItems: + description: The gift certificate line items. + type: array + items: + $ref: '#/components/schemas/GiftCertificateItem' + inventoryReservationExpiry: + description: The expiration datetime of the inventory reservation. It is read only. + example: '2015-05-19T15:30:18.000Z' + type: string + format: date-time + lastModified: + description: The timestamp when the basket was last modified. It is read only. + example: '2015-05-19T15:25:18.000Z' + type: string + format: date-time + merchandizeTotalTax: + format: double + description: |- + The total products tax in the purchase currency. + Merchandise total price represents the sum of the product prices before + services (such as shipping) or adjustments from promotions have + been added. It is read only. + example: 4.95 + type: number + orderPriceAdjustments: + description: The order-level price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + orderTotal: + format: double + description: The total price, including products, shipping and tax. It is read only. + example: 110.24 + type: number + paymentInstruments: + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/OrderPaymentInstrument' + productItems: + description: The product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + productSubTotal: + format: double + description: |- + The total price of all products including item-level adjustments, but not including order-level adjustments or shipping + charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 88 + type: number + shipments: + description: The shipments. + type: array + items: + $ref: '#/components/schemas/Shipment' + shippingItems: + description: The shipping items. + type: array + items: + $ref: '#/components/schemas/ShippingItem' + shippingTotal: + format: double + description: |- + The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on all shipping charges, not including shipping adjustments. It is read only. + example: 0.3 + type: number + sourceCode: + description: The source code assigned to the basket. It is read only. + example: OUTDOOR1 + type: string + taxTotal: + format: double + description: The total tax amount. It is read only. + example: 5.25 + type: number + taxation: + description: The taxation policy (gross or net). It is read only. + example: net + enum: + - gross + - net + type: string + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + TaxItem: + description: Object representing the taxation. + properties: + id: + description: The taxation identifier. + type: string + rate: + format: double + description: The taxation rate. + example: 0.13 + type: number + value: + format: double + description: The tax amount. Will be computed if not set. + type: number + type: object + required: + - id + - rate + additionalProperties: false + TaxItems: + description: Taxation for a line item. + type: object + properties: + taxItems: + description: The list of tax items. It is read only. + type: array + items: + $ref: '#/components/schemas/TaxItem' + OrderPaymentCardRequest: + description: Document representing an order payment card request. + type: object + properties: + cardType: + maxLength: 256 + description: 'The payment card type (for example: Visa).' + example: Visa + type: string + creditCardToken: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + example: E67TY8GQ27X + type: string + expirationMonth: + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + pattern: ^[0-9 -]{0,7}\D{6,15}\d{0,4}$ + maxLength: 25 + description: The masked payment card number. + example: '*********4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month the payment card is valid from. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year the payment card is valid from. + example: 2019 + type: integer + BasketPaymentInstrumentRequest: + description: Document representing a basket payment instrument request. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '12030000' + type: string + giftCertificateCode: + maxLength: 256 + description: The gift certificate code. + example: AFGRTUZ + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/OrderPaymentCardRequest' + paymentMethodId: + maxLength: 256 + description: The payment method ID. + example: CREDIT_CARD + type: string + PaymentCardSpec: + description: Document representing the specification for a payment card. + type: object + properties: + cardType: + description: The payment card type. It is read only. + example: Visa + type: string + checksumVerificationEnabled: + description: A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. + example: true + type: boolean + description: + description: The localized description of the payment card. It is read only. + type: string + image: + description: The URL to the image that represents the payment card. It is read only. + type: string + name: + description: The localized name of the payment card. It is read only. + type: string + numberLengths: + description: |- + The sorted list of number lengths (individual lengths as well as + length ranges). It is read only. + type: array + items: + type: string + numberPrefixes: + description: |- + The sorted list of number prefixes (individual prefixes as well + as prefix ranges). It is read only. + type: array + items: + type: string + securityCodeLength: + format: int32 + description: The length of the security code for this card. It is read only. + type: integer + PaymentMethod: + description: Document representing a payment method. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + cards: + description: The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. + type: array + items: + $ref: '#/components/schemas/PaymentCardSpec' + description: + description: The localized description of the payment method or card. It is read only. + type: string + id: + maxLength: 256 + description: The ID of the payment method or card. It is read only. + type: string + image: + description: The URL to the image that represents the payment method or card. It is read only. + type: string + name: + description: The localized name of the payment method or card. It is read only. + type: string + paymentProcessorId: + description: The payment processor ID. It is read only. It is read only. + type: string + required: + - id + PaymentMethodResult: + description: Result document of payment methods applicable for a basket. + properties: + applicablePaymentMethods: + description: The applicable payment methods. It is read only. + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + type: object + DiscountRequest: + description: Request that represents a discount to be applied to a custom price adjustment. + type: object + additionalProperties: false + properties: + type: + description: |- + The type of discount. + - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. + - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. + - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. + example: percentage + enum: + - percentage + - fixed_price + - amount + type: string + value: + format: double + description: The amount of the discount. + example: 20 + type: number + required: + - type + - value + PriceAdjustmentRequest: + description: Request that represents a price adjustment. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + discount: + description: A discount that can be specified instead of a price. + allOf: + - $ref: '#/components/schemas/DiscountRequest' + itemId: + description: The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. + example: 93196fae953cbedbe54d67e760 + type: string + itemText: + description: The text describing the item in more detail. + example: A discounted item + type: string + level: + description: |- + The level at which the adjustment is applied. + - `order` indicates that the price adjustment should be added directly to basket. + - `product` indicates that the price adjustment should be added to the product item. + - `shipping` indicates that the price adjustment is added to the shipping item. + example: order + enum: + - product + - shipping + - order + type: string + promotionId: + description: The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. + example: Shipping100 + type: string + reasonCode: + description: The reason for the price adjustment. + example: Shipping promotion on order above $1,000 USD + type: string + required: + - level + PriceBookIds: + maxItems: 10 + description: Array of price book IDs to use for the basket calculation. + type: array + items: + maxLength: 256 + type: string + ShippingMethodResult: + description: Result document containing shipping methods. + properties: + applicableShippingMethods: + description: The applicable shipping method documents. It is read only. + type: array + items: + $ref: '#/components/schemas/ShippingMethod' + defaultShippingMethodId: + description: The default shipping method. It is read only. + example: me + type: string + type: object + Taxes: + description: Document representing the tax rates and (optionally) amounts for all items in a basket. + properties: + taxes: + description: 'Map containing the TaxItems for the line item ids: Map' + type: object + additionalProperties: + $ref: '#/components/schemas/TaxItems' + type: object + required: + - taxes + additionalProperties: false + parameters: + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + taxMode: + name: taxMode + in: query + description: "Determines how taxes are calculated. \n\nThe default value is `internal` where the tax calculation is done automatically based on internal tax tables. Setting `taxMode` to `external` allows manual modification of the tax rates and values. \nExternal tax data is mandatory for product line items, option line items, shipping line items, coupon line items, and bonus discount line item. \nGift certificate line items are optional and use zero tax rate by default, which can be overwritten. Price adjustments cannot be set because they are either calculated or inherited. \nDepending on the type, the tax rate is either obtained from the related line item or computed as a prorate of the basket." + schema: + default: internal + enum: + - internal + - external + type: string + example: external + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + overrideExisting: + name: overrideExisting + in: query + description: |- + If the current shopper has no active basket, this parameter is ignored. If the current shopper has an active basket, this parameter controls the behavior: + - `false` (default): Return a BasketTransferException (HTTP status 409). The basket owner doesn't change. + - `true`: Force the transfer by deleting the current shopper's active basket and making the current shopper the owner of the previous shopper's basket. Returns the transferred basket (HTTP status 200). + schema: + default: false + type: boolean + example: false + createDestinationBasket: + name: createDestinationBasket + in: query + description: |- + If the current shopper has an active basket, this parameter is ignored. If the current shopper has no active basket, this parameter controls the behavior: + - `false` (default): Return a BasketMergeException (HTTP status 409). + - `true`: Force the merge by creating a basket for the current shopper and copying information from the previous shopper's basket into it. Return success (HTTP status 200). + schema: + default: false + type: boolean + productItemMergeMode: + name: productItemMergeMode + in: query + description: |- + This parameter controls the quantity calculation for products that exist in both baskets. + - higher_quantity (default): Compare the product's quantities in each basket, and use the higher value. + - sum_quantities: Use the sum of the product's quantities from both baskets. + - saved_quantity: Use the product's quantity in the current shopper's active basket. Ignore the quantity from the previous shopper's basket. + - separate_item: Add a separate product item to the current shopper's basket for the quantity in the previous shopper's basket. + schema: + default: higher_quantity + enum: + - higher_quantity + - sum_quantities + - saved_quantity + - separate_item + type: string + basketId: + name: basketId + in: path + required: true + schema: + minLength: 1 + type: string + description: The ID of the basket to be modified. + removeExternalTax: + name: removeExternalTax + in: query + description: 'If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the `currency` triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values.' + schema: + default: true + type: boolean + useAsShipping: + name: useAsShipping + in: query + example: true + schema: + type: boolean + couponItemId: + name: couponItemId + in: path + required: true + schema: + $ref: '#/components/schemas/CouponItemId' + description: The ID of the coupon item. + giftCertificateItemId: + name: giftCertificateItemId + in: path + required: true + schema: + $ref: '#/components/schemas/GiftCertificateItemId' + description: the ID of the gift certificate item to be updated. + itemId: + name: itemId + in: path + required: true + schema: + $ref: '#/components/schemas/ItemId' + description: The ID of the item to be updated. + paymentInstrumentId: + name: paymentInstrumentId + in: path + required: true + schema: + $ref: '#/components/schemas/PaymentInstrumentId' + priceAdjustmentId: + name: priceAdjustmentId + in: path + required: true + schema: + $ref: '#/components/schemas/PriceAdjustmentId' + shipmentId: + name: shipmentId + in: path + required: true + schema: + $ref: '#/components/schemas/ShipmentId' + description: The ID of the shipment to be modified. + useAsBilling: + name: useAsBilling + in: query + example: true + schema: + type: boolean + exchange: + name: exchange + in: query + description: If true, an existing storefront basket is exchanged and marked as an agent basket. If false, a `CustomerBasketsQuotaExceededException` is thrown. + schema: + type: boolean + examples: + BasketPost: + value: + customerInfo: + email: shopper@salesforce-test.com + customerNo: '000000001' + billingAddress: + firstName: Stephanie + lastName: Miller + address1: 104 Presidential Way + city: Woburn + postalCode: '01801' + stateCode: MA + countryCode: US + shipments: + - shippingMethod: + id: '001' + shippingAddress: + firstName: Agustin + lastName: Estes + address1: 4162 Turkey Pen Road + city: New York + postalCode: '10016' + stateCode: NY + countryCode: US + paymentInstruments: + - paymentMethodId: CREDIT_CARD + paymentCard: + cardType: Visa + couponItems: + - code: 5ties + productItems: + - productId: green-umbrella + quantity: 3 + examples-BasketPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + BadRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + title: Bad Request + detail: Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'. + CustomerBasketQuotaExceededException: + value: + title: Customer Baskets Quota Exceeded + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-baskets-quota-exceeded + detail: The maximum number of baskets per customer was exceeded. Please reuse or delete one of the existing baskets (40e91e04aba6e42a6836f79308). + basketIds: 40e91e04aba6e42a6836f79308 + ShipmentNotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found + title: Shipment Not Found + detail: The shipping method with ID '123' is unknown or can't be applied to the basket. + ForbiddenMissingPrevCustomerInfo: + value: + title: Forbidden + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden + detail: Your access-token is valid, but it contains no previous customer to process this action. + SourceBasketException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/no-source-basket-exception + title: Conflict + detail: The previous customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has no active basket. + BasketTransferException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-transfer-basket-already-exists-exception + title: Conflict + detail: The current customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has an active basket. + BasketMergeException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-merge-no-current-basket-exception + title: Conflict + detail: The current customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has no active basket. + BasketGet: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + CustomerInfoJwtMismatch: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + title: Bad Request + detail: The customer is invalid. + BasketNotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found + title: Basket Not Found + detail: No basket with ID '123' could be found. + BasketPatch: + value: + c_textValue: oak + examples-BasketPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: 7800e0f611dac6caf77afb9df9 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:53:30.993Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:53:35.747Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 2b76b8644eb6da43e7e223b48d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 43c38652bc3844e14cd482ff28 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: b4ff13039bc7abd1b9d933b871 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 193e99bc1205b870cebd36d970 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: ac7a3b62dc1df8de898d7a2141 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + c_textValue: oak + BasketPutAgent: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: true + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + BillingAddressPut: + value: + firstName: Stephanie + lastName: Miller + address1: 385 Prospect Valley Road + city: Woburn + postalCode: '01801' + stateCode: MA + countryCode: US + examples-BillingAddressPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 385 Prospect Valley Road + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: 7800e0f611dac6caf77afb9df9 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:53:30.993Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:53:35.747Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 2b76b8644eb6da43e7e223b48d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 43c38652bc3844e14cd482ff28 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: b4ff13039bc7abd1b9d933b871 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 193e99bc1205b870cebd36d970 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: ac7a3b62dc1df8de898d7a2141 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + CouponCodePost: + value: + code: 10_percent_off + examples-CouponCodePost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + - code: 10_percent_off + couponItemId: 9372d0f511dac8caf77afc4kj2 + statusCode: applied + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + CustomerPut: + value: + email: shopperUpdate@salesforce-test.com + examples-CustomerPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopperUpdate@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + GiftCertPost: + value: + amount: 1 + recipientEmail: miller@salesforce-test.com + shipmentId: me + examples-GiftCertPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopperUpdate@salesforce-test.com + giftCertificateItems: + - amount: 2 + giftCertificateItemId: 83726a8351540534af93f3b15f + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + GiftCertPatch: + value: + amount: 1 + recipientEmail: miller@salesforce-test.com + examples-GiftCertPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopperUpdate@salesforce-test.com + giftCertificateItems: + - amount: 1 + giftCertificateItemId: 83726a8351540534af93f3b15f + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + ItemPost: + value: + - productId: green-bag + quantity: 1 + ItemsPatch: + value: + - itemId: 051e908cca031ebf8ee80cbb0a + productId: green-bag + quantity: 1 + - itemId: 078a492cca031ebf8ee80739ab + optionItems: + - optionId: Option1 + optionValueId: ValueA + quantity: 1 + ItemPatch: + value: + quantity: 1 + examples-ItemPatch: + value: + adjustedMerchandizeTotalTax: 10 + adjustedShippingTotalTax: 0.4 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: 7800e0f611dac6caf77afb9df9 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:53:30.993Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:58:39.498Z' + merchandizeTotalTax: 10 + orderTotal: 218.38 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 2b76b8644eb6da43e7e223b48d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 10 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 43c38652bc3844e14cd482ff28 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: b4ff13039bc7abd1b9d933b871 + itemText: We will plant a tree for your order. + optionId: plantATre + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 1 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 199.99 + priceAfterItemDiscount: 199.99 + priceAfterOrderDiscount: 199.99 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 1 + shipmentId: me + tax: 10 + taxBasis: 199.99 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 199.99 + productTotal: 199.99 + shipments: + - adjustedMerchandizeTotalTax: 10 + adjustedShippingTotalTax: 0.4 + gift: false + merchandizeTotalTax: 10 + productSubTotal: 199.99 + productTotal: 199.99 + shipmentId: me + shipmentTotal: 218.38 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 193e99bc1205b870cebd36d970 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 7.99 + shippingStatus: not_shipped + shippingTotal: 7.99 + shippingTotalTax: 0.4 + taxTotal: 10.4 + shippingItems: + - adjustedTax: 0.4 + basePrice: 7.99 + itemId: ac7a3b62dc1df8de898d7a2141 + itemText: Shipping + price: 7.99 + priceAfterItemDiscount: 7.99 + shipmentId: me + tax: 0.4 + taxBasis: 7.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 7.99 + shippingTotalTax: 0.4 + taxation: net + taxTotal: 10.4 + BasketItemTaxPut: + value: + taxItems: + - id: DE_7 + rate: 0.07 + value: 13.99 + - id: DE_19 + rate: 0.19 + UnsupportedRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled + title: Unsupported Request If SCAPI Hooks Enabled + detail: You can't call this endpoint because Salesforce Commerce API hook execution is enabled. + PaymentInstrumentPost: + value: + amount: 1 + paymentCard: + expirationYear: 1990 + expirationMonth: 7 + validFromMonth: 8 + validFromYear: 2007 + issueNumber: i117 + maskedNumber: '*********1234' + holder: Miller + cardType: Visa + paymentMethodId: CREDIT_CARD + PaymentInstrumentPatch: + value: + amount: 0 + paymentCard: + holder: Miller + cardType: Visa + paymentMethodId: CREDIT_CARD + examples-PaymentInstrumentPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + holder: Miller + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + PaymentMethodsGet: + value: + applicablePaymentMethods: + - id: GIFT_CERTIFICATE + name: Gift Certificate + paymentProcessorId: BASIC_GIFT_CERTIFICATE + - cards: + - cardType: Visa + checksumVerificationEnabled: true + name: Visa + numberLengths: + - '13' + - '16' + numberPrefixes: + - '4' + - cardType: Amex + checksumVerificationEnabled: true + name: American Express + numberLengths: + - '15' + numberPrefixes: + - '34' + - '37' + - cardType: Master Card + checksumVerificationEnabled: true + name: MasterCard + numberLengths: + - '16' + numberPrefixes: + - 51-55 + - cardType: Discover + checksumVerificationEnabled: true + name: Discover + numberLengths: + - '16' + numberPrefixes: + - '6011' + - 622126-622925 + - 644-649 + - '65' + id: CREDIT_CARD + name: Credit Card + paymentProcessorId: BASIC_CREDIT + - id: PayPal + name: Pay Pal + paymentProcessorId: PAYPAL_EXPRESS + - id: BML + name: Bill Me Later + paymentProcessorId: CYBERSOURCE_BML + PriceAdjustmentPost: + value: + discount: + value: 5 + type: percentage + itemText: MyOrderAdjustment + level: order + promotionId: manual adjustment + examples-PriceAdjustmentPost: + value: + adjustedMerchandizeTotalTax: 28.45 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderPriceAdjustments: + - appliedDiscount: + amount: 0.05 + percentage: 5 + type: percentage + createdBy: testAgent + creationDate: '2015-05-25T09:13:10.942Z' + custom: true + itemText: MyOrderAdjustment + manual: true + price: -30 + promotionId: manual adjustment + priceAdjustmentId: cdzoAiWbOmbiUaaadlfSpMDgNw + orderTotal: 615.21 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 569.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 569.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 569.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + PriceAdjustmentPatch: + value: + appliedDiscount: + amount: 15 + type: amount + itemText: AgentOrderAdjustment + reasonCode: override manual promo + examples-PriceAdjustmentPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderPriceAdjustments: + - appliedDiscount: + amount: 15 + type: amount + createdBy: testWapiAgent + creationDate: '2017-03-14T09:15:35.543Z' + custom: true + itemText: MyOrderAdjustment + lastModified: '2017-03-14T09:15:35.594Z' + manual: true + price: -15 + priceAdjustmentId: e397cd21f9a9c0643277ba1011 + promotionId: manual adjustment + reasonCode: override manual promo + orderTotal: 631.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + PriceAdjustmentIdNotFoundException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/price-adjustment-not-found + title: Price Adjustment Not Found + detail: No price adjustment with ID '453599643347eac5e4ebd85b49' could be found. + PriceBooksGet: + value: + - price-book-id1 + - price-book-id2 + PriceBooksPut: + value: + - price-book-id1 + - price-book-id2 + ShipmentsPost: + value: + shipmentId: me2 + shippingMethod: + id: '001' + shippingAddress: + firstName: Stephanie + lastName: Miller + address1: 385 Prospect Valley Road + city: Woburn + postalCode: '01801' + stateCode: MA + countryCode: US + examples-ShipmentsPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + shippingMethod: + description: Order received in 2 business days + id: '002' + name: 2-Day Express + price: 20.99 + shippingStatus: not_shipped + shippingTotal: 20.99 + shippingTotalTax: 1.05 + taxTotal: 36.05 + - adjustedMerchandizeTotalTax: 35 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 35 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me2 + shipmentTotal: 646.76 + shippingAddress: + address1: 385 Prospect Valley Road + city: Woburn + stateCode: MA + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 84f06786daa68ae33af7e21ec6 + lastName: Miller + shippingMethod: + description: Order received in 2 business days + id: '001' + name: 2-Day Express + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 35 + shippingItems: + - adjustedTax: 1.05 + basePrice: 20.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 20.99 + priceAfterItemDiscount: 20.99 + shipmentId: me + tax: 1.05 + taxBasis: 20.99 + taxClassId: standard + taxRate: 0.05 + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: 6fea9966277c94e06b482a5c43 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 36.98 + shippingTotalTax: 1.35 + taxation: net + taxTotal: 36.35 + Forbidden: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden + title: Forbidden + detail: The shipment with ID 'me' corresponds to the default shipment and can't be deleted. + ShipmentsPatch: + value: + shipmentId: me + shipmentNo: ignored shipment no + shippingMethod: + id: '003' + shippingAddress: + firstName: Ward J + lastName: Adamek + address1: 4911 Lincoln Street + city: IDANHA + postalCode: '97350' + stateCode: OR + countryCode: US + c_wapi-string: shipment_custom_property + examples-ShipmentsPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + shippingMethod: + description: Order received in 2 business days + id: '002' + name: 2-Day Express + price: 20.99 + shippingStatus: not_shipped + shippingTotal: 20.99 + shippingTotalTax: 1.05 + taxTotal: 36.05 + shippingItems: + - adjustedTax: 1.05 + basePrice: 20.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 20.99 + priceAfterItemDiscount: 20.99 + shipmentId: me + tax: 1.05 + taxBasis: 20.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 20.99 + shippingTotalTax: 1.05 + taxation: net + taxTotal: 36.05 + ShipmentsAddressPut: + value: + firstName: Ward J + lastName: Adamek + address1: 4911 Lincoln Street + city: IDANHA + postalCode: '97350' + stateCode: OR + countryCode: US + examples-ShipmentsAddressPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + postalCode: '97350' + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + stateCode: OR + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + ShipmentsMethodPut: + value: + id: '003' + examples-ShipmentsMethodPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + postalCode: '97350' + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + stateCode: OR + shippingMethod: + description: Order received the next business day + id: '003' + name: Overnight + price: 29.99 + shippingStatus: not_shipped + shippingTotal: 29.99 + shippingTotalTax: 1.5 + taxTotal: 36.5 + shippingItems: + - adjustedTax: 1.5 + basePrice: 29.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 29.99 + priceAfterItemDiscount: 29.99 + shipmentId: me + tax: 1.5 + taxBasis: 29.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 29.99 + shippingTotalTax: 1.5 + taxation: net + taxTotal: 36.5 + ShipmentsMethodGet: + value: + applicableShippingMethods: + - description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + - description: Order received in 2 business days + id: '002' + name: 2-Day Express + price: 20.99 + - description: Order received the next business day + id: '003' + name: Overnight + price: 29.99 + - description: Store Pickup + id: '005' + name: Store Pickup + price: 0 + c_storePickupEnabled: true + defaultShippingMethodId: '001' + BasketPutStorefront: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: callcenter + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + BasketTaxGet: + value: + taxes: + 3d4e28425ce0b3a65b0ac4e163: + taxItems: + - id: DE_7 + rate: 0.07 + value: 13.99 + - id: DE_19 + rate: 0.19 + ff9452ed11fcf5c80f9143a8f1: + taxItems: + - id: US_1 + rate: 0.01 + - id: US_5 + rate: 0.05 + InvalidTaxMode: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode + title: Invalid Tax Mode + detail: Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode. + BasketTaxPut: + value: + taxes: + 3d4e28425ce0b3a65b0ac4e163: + taxItems: + - id: DE_7 + rate: 0.07 + value: 13.99 + - id: DE_19 + rate: 0.19 + ff9452ed11fcf5c80f9143a8f1: + taxItems: + - id: US_1 + rate: 0.01 + - id: US_5 + rate: 0.05 +x-sdk-classname: ShopperBasketsV1 diff --git a/apis/shopper-baskets-oas/shopper-baskets-oas-1.8.23/shopper-baskets-oas-v1-public.yaml b/apis/shopper-baskets-oas/shopper-baskets-oas-1.8.23/shopper-baskets-oas-v1-public.yaml new file mode 100644 index 00000000..8bb23f27 --- /dev/null +++ b/apis/shopper-baskets-oas/shopper-baskets-oas-1.8.23/shopper-baskets-oas-v1-public.yaml @@ -0,0 +1,6590 @@ +openapi: 3.0.3 +info: + title: Shopper Baskets + version: v1 + description: |- + # API Overview + + Use the Shopper Baskets API to create a basket in the B2C Commerce system and populate it with all the data required to ready the basket for checkout. + + To create a basket, start with the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets?meta=createBasket) endpoint. The endpoint creates the basket in the B2C Commerce system and returns a JSON representation of the basket with a `basketId` property. + + If you provide the JSON for a prepopulated basket to the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets?meta=createBasket) endpoint, you can create a basket using a single API request. + + You can also create a basket and gradually populate it with data using subsequent API requests that reference the same `basketId`. The gradual approach allows you to validate the input data as you go. + + The Shopper Baskets API includes endpoints to populate each part of a basket separately, including: + + - Billing address + - Customer information + - Line items + - Products + - Coupons + - Gift certificates + - Payment methods + - Price books + - Shipments + - Taxation (for items and the basket itself) + + In addition to creating a basket, the main `/baskets` resource offers endpoints to get, transfer, merge, and delete baskets, depending on the HTTP method that you use and the parameters that you supply. These endpoints can you help you handle a variety of complex scenarios, such as when a user starts shopping as a guest and then logs in before checkout. + + You can also use the main `/baskets` resource to add custom properties to your basket, prefixed with `c_` (example: `c_faxNumber`). + + When your basket is fully populated, you can use its `basketId` property to create an order with the [Shopper Orders API](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-orders?meta=Summary). + + For more detail on building baskets, see [Build Baskets and Place Orders](https://developer.salesforce.com/docs/commerce/commerce-api/guide/work-with-baskets-orders.html). + + ## Authentication & Authorization + + The client requesting the basket information must have access to the `/baskets` resource. The Shopper Baskets API requires a shopper access token from the Shopper Login and API Access Service (SLAS). + + For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + The following resources require an Account Manager OAuth token with a client ID: + + - `/baskets/{basketId}/taxes` + - `/baskets/{basketId}/items/{itemId}/taxes` + - `/baskets/{basketId}/price-books` + + ## Use Cases + + ### Use Hooks + + For details on working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) + + ## Basket Calculation + + Unless you’re using [hooks](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html), each modification to a basket triggers the following calculations: + + 1. Calculate product prices: + - Iterate through the product line items and determine the base price of each using its price model. If multiple price books apply to a product, the lowest price is used. + - Calculate product option line item prices using the product option model. + - For bonus products, check dependent adjustments in the basket to determine the price. + 2. Iterate through the gift certificate line items and calculate the price of each by multiplying the base price by the quantity. + 3. Recalculate for all promotions, adding and removing them as appropriate. + 4. Apply product-specific shipping costs. + 5. Calculate the total shipping cost. + 6. Recalculate for all promotions, adding and removing them as appropriate. + 7. Calculate prices for products added by the promotion engine. + 8. Calculate taxes using line item tax class codes. + - For internal tax mode, use the tax tables. + - For external tax mode, use the tax rates returned by the tax API endpoints. + 9. Calculate the order’s net, tax, and gross totals by adding up the line totals. + + ## External Taxation + + The B2C Commerce API calculates taxes internally using tax tables. If you want to integrate with a third-party tax provider, or calculate tax on your own, you can use the external taxation feature to add a taxation rate and optional taxation value. When setting a taxation rate, the taxation is calculated for this specific rate. If you pass a value, this value is used as taxation value, as well, without recalculation. To use this feature, set the `taxMode` parameter to `external` when creating the basket. + + When using external taxation, you must set a tax rate either in one request to the `/baskets/{basketId}/taxes` or with separate requests for each line item, using `/baskets/{basketId}/items/{lineItemId}/taxes`. + + If the tax mode of a basket is set to `external`, a tax item is required for all line items even for zero-tax items to avoid oversights. + + ### External Taxation with Hooks Enabled + + To use external tax calculation with [hooks](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html), use the following API methods in the [Calculate Hook](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html#calculate-hook): + - `dw.order.LineItemCtnr#isExternallyTaxed`: Returns true if the basket was created with `taxMode = external` + - `dw.order.TaxMgr#applyExternalTax`: Applies externally set tax rates to the given basket. Only use when `dw.order.LineItemCtnr#isExternallyTaxed` returns true. + + The following example shows an implementation of external tax calculation with hooks enabled in the [Calculate Hook](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html#calculate-hook): + + exports.calculate = function (basket) { + if ( basket.isExternallyTaxed() ) + { + TaxMgr.applyExternalTaxation( basket ); // apply the external tax calculation based on the tax rates set by the SCAPI external taxation APIs + } + else + { + // calculation with tax tables or customization + } + } +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-baskets/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/baskets: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + post: + description: |- + Creates a new basket. + + The created basket is initialized with default values. Optional JSON data provided in the request body is populated into the created basket. It can be updated with other endpoints offered by the Shopper Baskets API. + + Each customer can have just one open basket. When a basket is created, it is said to be open. It remains open until either an order is created from it or it is deleted. + operationId: createBasket + summary: Create a new basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + responses: + '200': + description: The initialized basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the provided payment method is invalid or not applicable. + - the customerId URL parameter does not match the verified customer + represented by the JSON Web Token (JWT). + - a new basket cannot be created because the maximum number + of baskets per customer would be exceeded. + - the same shipment ID appeared twice in the body. + - the coupon number is not provided. + - a fixed price adjustment was added at order level which is disallowed. + - a promotion ID was + used twice, while attempting to add a price adjustment. + - a system promotion + ID was used as a manual promotion ID, while attempting to add a price adjustment. + - more than one hundred price adjustments would have been + created. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + CustomerBasketQuotaExceededException: + $ref: '#/components/examples/CustomerBasketQuotaExceededException' + '404': + description: Thrown if the shipment with the given shipment ID is unknown. + content: + application/problem+json: + examples: + ShipmentNotFound: + $ref: '#/components/examples/ShipmentNotFound' + requestBody: + content: + application/json: + examples: + PostBasketBody: + $ref: '#/components/examples/BasketPost' + schema: + $ref: '#/components/schemas/Basket' + required: true + parameters: + - $ref: '#/components/parameters/taxMode' + - $ref: '#/components/parameters/locale' + /organizations/{organizationId}/baskets/actions/transfer: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + post: + description: |- + Transfer the previous shopper's basket to the current shopper by updating the basket's owner. No other values change. You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token. + + A success response contains the transferred basket. + + If the current shopper has an active basket, and the `overrideExisting` request parameter is `false`, then the transfer request returns a BasketTransferException (HTTP status 409). You can proceed with one of these options: + - Keep the current shopper's active basket. + - Merge the previous and current shoppers' baskets by calling the `baskets/merge` endpoint. + - Force the transfer by calling the `baskets/transfer` endpoint again, with the parameter `overrideExisting=true`. Forcing the transfer deletes the current shopper's active basket. + operationId: transferBasket + summary: Transfer an existing basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/overrideExisting' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: The transferred basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '403': + description: The call returns this error if no SLAS token for a registered shopper is available. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ForbiddenMissingPrevCustomerInfo: + $ref: '#/components/examples/ForbiddenMissingPrevCustomerInfo' + '409': + description: |- + The call returns this response in either of these cases: + - The previous shopper has no active basket. + - The current shopper has an active basket and the `overrideExisting` query parameter was `false` (default value). + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SourceBasketException: + $ref: '#/components/examples/SourceBasketException' + BasketTransferException: + $ref: '#/components/examples/BasketTransferException' + /organizations/{organizationId}/baskets/actions/merge: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + post: + operationId: mergeBasket + summary: Merge baskets. + description: |- + Merge data from the previous shopper's basket into the current shopper's active basket and delete the previous shopper's basket. This endpoint doesn't merge Personally Identifiable Information (PII). You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token. After the merge, all basket amounts are recalculated and totaled, including lookups for prices, taxes, shipping, and promotions, unless hooks are enabled. + + The following information is merged: + - custom attributes on the basket and on all copied records + - product items + - gift certificate items + - coupon items + - shipments + - ad-hoc price adjustments + + To control the merging of products that exist in both baskets, use the `productItemMergeMode` parameter. By default, the higher of the two basket quantities is used for each product. Products in both baskets are considered to be the same when all of the following values match (if one product doesn't have a value, the other product is a match only if it also doesn't have that value): + - shipment + - productId + - option values + - wishlist reference + - inventory list id + - gift flag & message + - ad-hoc price adjustments + + If any of the listed values don't match, then the item in the previous shopper's basket is copied to a new line item in the current shopper's basket. If the listed values all match, but the matching products have different values for any custom attribute, the merged line item keeps the custom attribute value from the current shopper's basket. + + A success response contains the current shopper's active basket. The previous guest shopper's active basket is deleted. + + If the current shopper doesn't have an active basket, and the createDestinationBasket request parameter is false, then the merge request returns a BasketMergeException (HTTP status 409). You can proceed with one of these options: + - Transfer the previous shopper's active basket to the current logged-in shopper by calling the `baskets/transfer` endpoint. + - Force the merge by calling the `baskets/merge` endpoint again, with the parameter `createDestinationBasket=true`. Forcing the merge creates a new basket for the current shopper and copies information from the previous shopper's basket into it. Because the merge doesn't copy all basket data, a forced merge is not the same as a transfer. For example, the new basket doesn't contain any Personally Identifiable Information (PII) from the previous basket. + + ### before merge + | Previous Shopper's Basket, SKU: Quantity, Custom Attributes | Current Shopper's Basket, SKU: Quantity, Custom Attributes | + |-------------------------------------------------------------|-------------------------------------------------------------| + | SKU_A: 5
SKU_B: 3
SKU_C: 4
c_customAttr_1: 'ABC'
c_customAttr_2: 'DEF' | SKU_A: 2
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_3: 'XYZ' | + + ### after merge - (previous shopper's basket is deleted) + | productItemMergeMode | Current Shopper's Basket - SKU: Quantity, Custom Attributes | + |----------------------|--------------------------------------------------------------| + | sum_quantities | SKU_A: 7
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + | higher_quantity | SKU_A: 5
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + | saved_quantity | SKU_A: 2
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + | separate_item | SKU_A: 5
SKU_B: 3
SKU_C: 4
SKU_A: 2
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/createDestinationBasket' + - $ref: '#/components/parameters/productItemMergeMode' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: The current shopper's active basket, including items merged from the previous shopper's basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '403': + description: The call returns this error if no SLAS token for a registered shopper is available. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ForbiddenMissingPrevCustomerInfo: + $ref: '#/components/examples/ForbiddenMissingPrevCustomerInfo' + '409': + description: |- + The call returns this response in either of these cases: + - The previous shopper has no active basket. + - The current shopper has no active basket and the `createDestinationBasket` query parameter was `false` (default value). + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SourceBasketException: + $ref: '#/components/examples/SourceBasketException' + BasketMergeException: + $ref: '#/components/examples/BasketMergeException' + /organizations/{organizationId}/baskets/{basketId}: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + delete: + description: Removes a basket. + summary: Delete a basket. + operationId: deleteBasket + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + responses: + '204': + description: Success, without a body. + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + get: + description: Gets a basket. + operationId: getBasket + summary: Retrieve an existing basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + - sfcc.shopper-baskets-orders + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the retrieved basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + GetBasket: + $ref: '#/components/examples/BasketGet' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + patch: + description: |- + Updates a basket. Only the currency of the basket, source code, the custom + properties of the basket, and the shipping items will be considered. + operationId: updateBasket + summary: Update a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/locale' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPatch: + $ref: '#/components/examples/BasketPatch' + responses: + '200': + description: Success, the response body contains the updated basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPatch: + $ref: '#/components/examples/examples-BasketPatch' + '400': + description: |- + Possible reasons: + - the customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + - the basket cannot be updated because the + requested currency is not supported by the site. + - the given shipping item ID is null or empty. + - a few shipping items with the same item ID are + provided. + - the provided code is not currently active. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the shipping item with the given item ID is + unknown for the basket. + - the provided code was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + /organizations/{organizationId}/baskets/{basketId}/agent: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + put: + description: Marks a basket as an agent basket. + operationId: updateAsAgentBasket + summary: Designate a basket as an agent basket. + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains basket that is set as an agent basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPutAgent: + $ref: '#/components/examples/BasketPutAgent' + '400': + description: Marking this basket as an agent basket would exceed the open agent basket limit for the basket customer. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerBasketQuotaExceededException' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + /organizations/{organizationId}/baskets/{basketId}/billing-address: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + put: + description: Sets the billing address of a basket. + operationId: updateBillingAddressForBasket + summary: Add a billing address to a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/locale' + - $ref: '#/components/parameters/useAsShipping' + - $ref: '#/components/parameters/removeExternalTax' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/OrderAddress' + examples: + BillingAddressPut: + $ref: '#/components/examples/BillingAddressPut' + responses: + '200': + description: Success, the response body contains basket with the added billing address. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BillingAddress: + $ref: '#/components/examples/examples-BillingAddressPut' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + /organizations/{organizationId}/baskets/{basketId}/coupons: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + post: + description: Adds a coupon to an existing basket. + operationId: addCouponToBasket + summary: Add a coupon to a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/locale' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CouponItem' + examples: + CouponCodePost: + $ref: '#/components/examples/CouponCodePost' + responses: + '200': + description: Success, the response body contains the basket with the added coupon. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + CouponCodePost: + $ref: '#/components/examples/examples-CouponCodePost' + '400': + description: |- + Possible Reasons: + - the customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + - the coupon number is not provided. + - the coupon code specified is invalid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + /organizations/{organizationId}/baskets/{basketId}/coupons/{couponItemId}: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/couponItemId' + delete: + description: Removes a coupon from the basket. + operationId: removeCouponFromBasket + summary: Remove a coupon from a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket without the deleted coupon. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + Basket: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the couponItemId URL parameter does not match any + coupon item ID in the basket. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + /organizations/{organizationId}/baskets/{basketId}/customer: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + put: + description: Sets customer information for an existing basket. + operationId: updateCustomerForBasket + summary: Add shopper information to a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/locale' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerInfo' + examples: + BillingAddressPut: + $ref: '#/components/examples/CustomerPut' + responses: + '200': + description: Success, the response body contains the basket with the added customer information. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BillingAddress: + $ref: '#/components/examples/examples-CustomerPut' + '400': + description: |- + Possible reasons: + - the customer assigned to the basket does not match the verified + customer represented by the JSON Web Token (JWT). + - the customer cannot be set to the basket because the + max number of baskets per customer would be exceeded. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the customer with the given customer number is unknown. + - the basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + /organizations/{organizationId}/baskets/{basketId}/gift-certificate-items: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + post: + description: Adds a gift certificate item to an existing basket. + operationId: addGiftCertificateItemToBasket + summary: Add a gift certificate to a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket with the added gift certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + GiftCertPost: + $ref: '#/components/examples/examples-GiftCertPost' + '400': + description: The gift certificate item amount is negative. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the shipment with the given shipment ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + requestBody: + content: + application/json: + examples: + GiftCertificateItemPost: + $ref: '#/components/examples/GiftCertPost' + schema: + $ref: '#/components/schemas/GiftCertificateItem' + /organizations/{organizationId}/baskets/{basketId}/gift-certificate-items/{giftCertificateItemId}: + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/giftCertificateItemId' + delete: + description: Deletes a gift certificate item from an existing basket. + operationId: removeGiftCertificateItemFromBasket + summary: Remove a gift certificate from a basket. + parameters: + - $ref: '#/components/parameters/locale' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + responses: + '200': + description: Success, the response body contains the basket without the deleted gift certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the gift certificate item with the given gift certificate item ID is unknown. + patch: + description: Updates a gift certificate item of an existing basket. + operationId: updateGiftCertificateItemInBasket + summary: Update gift certificate information for a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket with the updated gift certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + GiftCertPatch: + $ref: '#/components/examples/examples-GiftCertPatch' + '400': + description: The gift certificate item amount is negative. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the gift certificate item with the given gift certificate item ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + requestBody: + content: + application/json: + examples: + GiftCertificateItemPost: + $ref: '#/components/examples/GiftCertPatch' + schema: + $ref: '#/components/schemas/GiftCertificateItem' + /organizations/{organizationId}/baskets/{basketId}/items: + post: + responses: + '200': + description: Success, the response body contains the basket with the added items. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the given product ID is null or invalid. + - the product with the given product ID is unknown, offline or + not assigned to site catalog or the given product item quantity is null or invalid. + - a null quantity value. + - the requested product quantity is not available. + - the product cannot be added to the basket because of its type. + - an option with the specified option ID is unknown. + - an option with the specified option value ID is + unknown. + - the maximum allowed number of products added to the basket, + has been exceeded. + - the customer assigned to the basket does not match the verified + customer represented by the JSON Web Token (JWT). + - the provided bonus discount line item ID is not + present in the current basket. + - the quantity of the product to be added will result in the + number of selected bonus choice products to exceed the amount that the user is permitted to select. + - the selected bonus product is not an applicable product for + the bonus discount line item provided. + body: + application/problem+json: + type: ErrorResponse + examples: + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the basket does not contain a shipment with the given shipment ID. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: |- + Adds new items to a basket. The added items are associated with the + specified shipment. If no shipment id is specified, the added items are associated with the default shipment. + Considered values from the request body, for each item are: + + - productId: a valid product ID. This is the ID of the product to be added to the basket. If the + product is already in the basket, the API either increments the quantity of the existing product line item or + creates a new product line item, based on the site preference 'Add Product Behavior'. For option products and + product bundles containing variation masters, the API creates a new product line item regardless of the site + preference. + - shipmentId: a valid shipment ID (optional). This is the ID of the shipment in which the product item + is created. + - quantity: a number between 0.01 and 999. This is the quantity of the product to order. + - inventoryId: a valid inventory ID (optional). This is the ID of the inventory from which the item is + allocated. + - bonusDiscountLineItemId: a valid bonus discount line item ID (optional). This is the ID of the + bonus discount line item for which the added product is a selected bonus product. + - optionItems/optionValueId: a valid option value ID. This is an option value for an option item of + an option product. This is only possible if the product item is an option + product. To set option values, you must specify a collection of option items in the optionItems + property. These option items must contain optionId and optionValueId. Also, + the values you specify must be valid for the option product that this product item represents. Otherwise, the + server throws an InvalidProductOptionItemException or an + InvalidProductOptionValueItemException. + - custom properties in the form c_: the custom property must correspond to a custom + attribute () defined for ProductLineItem. The value of this property must be valid for the + type of custom attribute defined for ProductLineItem. + operationId: addItemToBasket + summary: Add an item to a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + ItemPost: + $ref: '#/components/examples/ItemPost' + schema: + type: array + items: + $ref: '#/components/schemas/ProductItem' + required: true + parameters: + - $ref: '#/components/parameters/locale' + patch: + responses: + '200': + description: Success, the response body contains the basket with the updated item. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - no product item with a given item ID was found for the basket. + - the product with the given product ID in the + request body is invalid. + - a null quantity value. + - an option with a specified option ID is unknown. + - an option with a specified option value ID is unknown. + - the given shipment ID is invalid. + - the customer assigned to the basket does not + match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: 'Possible reasons: basket not found' + description: "Updates multiple items in a basket. This behaviour matches that of updating a \nsingle item, but the body contains an array of ProductItems to be updated that are identified by `itemId`.\nThe items to update can include bundled product items, although the \nkind of update supported for bundled product items is limited to `productId`, `gift`, `giftMessage`\nand custom properties.\nThe following values in the request body are considered by the server:\n\n- `itemId` (mandatory): identifies an item to be updated.\n- `productId`: a valid product ID. The purpose of this\nvalue is to change the variation of a variation product.\n- `shipmentId`: a valid shipment ID. The purpose of\nthis value is to move a product item to another shipment.\n- `quantity`: a number between 0 and 999. The purpose of\nthis value is to change the quantity of the product item. If the quantity is 0,\nthe product item is removed.\n- `optionItems`/`optionValueId`: a valid option value\nID. The purpose of this value is to exchange an option value for an\noption item of an option product.\nThis is only possible if the product item is an option product. To change\noption values, a collection of the option items to be changed must be\nprovided in the property `optionItems`. Those\n`optionItems` must contain `optionId`\nand `optionValueId`. The provided values must be valid\nfor the option product that this product item represents. Otherwise,\n`InvalidProductOptionItemException` or\n`InvalidProductOptionValueItemException` is thrown.\n- custom properties `c_`: a\nvalue corresponding to the type defined for custom attribute\n`` of the ProductLineItem. The purpose of this value is to\nadd or change the value of a custom attribute defined for the\nProductLineItem.\n- `gift`: a boolean value that specifies whether the item is a gift.\n- `giftMessage`: a message to include with the gift." + operationId: updateItemsInBasket + summary: Update a basket item. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + ItemsPatch: + $ref: '#/components/examples/ItemsPatch' + schema: + type: array + items: + $ref: '#/components/schemas/ProductItem' + required: true + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/siteId' + /organizations/{organizationId}/baskets/{basketId}/items/{itemId}: + delete: + responses: + '200': + description: Success, the response body contains the basket without the deleted item. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Removes a product item from the basket. + operationId: removeItemFromBasket + summary: Remove an item from a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + patch: + responses: + '200': + description: Success, the response body contains the basket with the updated item. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ItemPatchSuccess: + $ref: '#/components/examples/examples-ItemPatch' + '400': + description: |- + Possible reasons: + - no product item with given item ID was found for the basket. + - the product with the given product ID in the + request body is invalid. + - a null quantity value. + - an option with the specified option id is unknown. + - an option with the specified option value id is unknown. + - the given shipment ID is invalid. + - the customer assigned to the basket does not. + match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - a shipment with it's given ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: |- + Possible reasons: + - no product item with given item ID was found for the basket. + - the product with the given product ID in the + request body is invalid. + - a null quantity value. + - an option with the specified option id is unknown. + - an option with the specified option value id is unknown. + - the given shipment ID is invalid. + - the customer assigned to the basket does not. + match the verified customer represented by the JWT token. + operationId: updateItemInBasket + summary: Update an item in a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + ItemPatch: + $ref: '#/components/examples/ItemPatch' + schema: + $ref: '#/components/schemas/ProductItem' + required: true + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/items/{itemId}/taxes: + put: + responses: + '204': + description: Success, without body. + '404': + description: |- + Possible reasons: + - The basket with the given basket ID is unknown. + - The item with the given item ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + '409': + description: "Possible Reasons:\n- The tax mode of the referenced basket is not set to EXTERNAL. " + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UnsupportedRequest: + $ref: '#/components/examples/UnsupportedRequest' + description: This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for a specific taxable line item. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. + operationId: addTaxesForBasketItem + summary: Add taxation information for a basket item. + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + BasketItemTaxPut: + $ref: '#/components/examples/BasketItemTaxPut' + schema: + $ref: '#/components/schemas/TaxItems' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/payment-instruments: + post: + responses: + '200': + description: Success, the response body contains the basket with the added payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the provided payment method is invalid or not applicable. + - the customer assigned to the basket does not match the verified + customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Adds a payment instrument to a basket. + operationId: addPaymentInstrumentToBasket + summary: Add a payment instrument to a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + PaymentInstrumentPost: + $ref: '#/components/examples/PaymentInstrumentPost' + schema: + $ref: '#/components/schemas/BasketPaymentInstrumentRequest' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/payment-instruments/{paymentInstrumentId}: + delete: + responses: + '200': + description: Success, the response body contains the basket without the deleted payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the payment instrument with the given basket payment + instrument ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Removes a payment instrument of a basket. + operationId: removePaymentInstrumentFromBasket + summary: Remove a payment instrument from a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + patch: + responses: + '200': + description: Success, the response body contains the basket with the updated payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + PaymentInstrumentPatch: + $ref: '#/components/examples/examples-PaymentInstrumentPatch' + '400': + description: |- + Possible reasons: + - the provided payment method is invalid or not applicable. + - the basket payment intsrument with the given id is already permanently masked. + - The customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the payment instrument item with the given payment instrument ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Updates payment instrument of an existing basket. + operationId: updatePaymentInstrumentInBasket + summary: Update a payment instrument for a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + PaymentInstrumentPatch: + $ref: '#/components/examples/PaymentInstrumentPatch' + schema: + $ref: '#/components/schemas/OrderPaymentInstrument' + required: true + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/payment-methods: + get: + responses: + '200': + description: Success, the response body contains the applicable payment methods for the basket. + content: + application/json: + examples: + PaymentMethodsGet: + $ref: '#/components/examples/PaymentMethodsGet' + schema: + $ref: '#/components/schemas/PaymentMethodResult' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Gets applicable payment methods for an existing basket considering the open payment amount only. + operationId: getPaymentMethodsForBasket + summary: Retrieve payment instruments for a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + - sfcc.shopper-baskets-orders + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/price-adjustments: + post: + responses: + '200': + description: Success, the response body contains the basket with added price adjustment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + PriceAdjustmentPost: + $ref: '#/components/examples/examples-PriceAdjustmentPost' + '400': + description: |- + Possible reasons: + - a fixed price adjustment was already created for the given level. + - a fixed price adjustment was added at `order` level. + - a promotion ID was used twice. + - a system promotion ID was used as a manual promotion ID. + - more than one hundred price adjustments would have been created. + - the price adjustment limit had exceeded. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Adds a custom manual price adjustment to the basket. + operationId: addPriceAdjustmentToBasket + summary: Add a price adjustment to a basket. + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + PriceAdjustmentPost: + $ref: '#/components/examples/PriceAdjustmentPost' + schema: + $ref: '#/components/schemas/PriceAdjustmentRequest' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/price-adjustments/{priceAdjustmentId}: + delete: + responses: + '200': + description: Success, the response body contains the basket without the deleted price adjustment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: The priceAdjustmentId is missing, empty or whitespace. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Removes a custom manual price adjustment from the basket. + operationId: removePriceAdjustmentFromBasket + summary: Remove a price adjustment from a basket. + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + patch: + responses: + '200': + description: Success, the response body contains the basket with the updated price adjustment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + PriceAdjustmentPatch: + $ref: '#/components/examples/examples-PriceAdjustmentPatch' + '400': + description: |- + Possible reasons: + - the price adjustment is not manual and cannot be updated. + - the expected attributes are missing in the input. + - the type of a price adjustment does not match the adjustment type of the input data. + - the price adjustment limit is exceeded. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The price adjustment ID is not found. + content: + application/problem+json: + examples: + PriceAdjustmentIdNotFoundException: + $ref: '#/components/examples/PriceAdjustmentIdNotFoundException' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: "Updates a custom manual price adjustment on the basket. Only the following path values are considered for the update; all other attributes are ignored.\n- `discount` \n- `itemText`\n- `reasonCode`\n- `custom properties` \nThe discount `type` of a price adjustment cannot be updated and therefore, the value of the existing type must be passed. For an adjustment of type `percentage`, the `percentage` attribute is mandatory. For adjustments of type `amount` and `fixed_price`, the `amount` attribute is mandatory." + operationId: updatePriceAdjustmentInBasket + summary: Update a price adjustment for a basket. + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + PriceAdjustmentPatch: + $ref: '#/components/examples/PriceAdjustmentPatch' + schema: + $ref: '#/components/schemas/PriceAdjustment' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + parameters: + - $ref: '#/components/parameters/priceAdjustmentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/price-books: + get: + responses: + '200': + description: Success, the response body contains the priceBookIds for the basket. + content: + application/json: + examples: + PriceBooksGet: + $ref: '#/components/examples/PriceBooksGet' + schema: + $ref: '#/components/schemas/PriceBookIds' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: "( DEPRECATED ) Gets applicable price books for an existing basket. This endpoint is deprecated. \nUse [Shopper Context](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-context?meta=Summary), \nhooks or `dw.catalog.PriceBookMgr#getApplicablePriceBooks()` instead." + operationId: getPriceBooksForBasket + summary: Retrieve price books for a basket. + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + - sfcc.shopper-baskets-orders + parameters: + - $ref: '#/components/parameters/siteId' + put: + responses: + '204': + description: Success, without body. + '404': + description: The basket with the given basket ID is unknown or contains a price book ID that does not correspond to an existing price book. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: ( DEPRECATED ) This method allows you to put an array of priceBookIds to an existing basket, which will be used for basket calculation. This endpoint is deprecated. Use [Shopper Context](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-context?meta=Summary), hooks or `dw.catalog.PriceBookMgr#setApplicablePriceBooks()` instead. + operationId: addPriceBooksToBasket + summary: Add price books to a basket. + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + PriceBooksPut: + $ref: '#/components/examples/PriceBooksPut' + schema: + $ref: '#/components/schemas/PriceBookIds' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments: + post: + responses: + '200': + description: Success, the response body contains the basket with added shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsPost: + $ref: '#/components/examples/examples-ShipmentsPost' + '400': + description: |- + Possible reasons: + - a shipment id is not provided. + - a shipment with the provided ID already. + exists for the basket. + - a shipment with the provided shipment number + already exists for the basket. + - a shipping method with an ID was specified + which is not a valid shipping method ID. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + The basket with the given basket ID is + unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: |- + Creates a new shipment for a basket. + + The created shipment is initialized with values provided in the body + document and can be updated with further data API calls. Considered from + the body are the following properties if specified: + + - the ID + - the shipping address + - the shipping method + - gift boolean flag + - gift message + - custom properties + operationId: createShipmentForBasket + summary: Create a shipment for a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + ShipmentsPost: + $ref: '#/components/examples/ShipmentsPost' + schema: + $ref: '#/components/schemas/Shipment' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}: + delete: + responses: + '200': + description: Success, the response body contains the basket without the deleted shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the given shipment ID is invalid. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '403': + description: |- + The given shipment ID corresponds to the + default shipment and cannot be removed. + content: + application/problem+json: + examples: + BadRequest: + $ref: '#/components/examples/Forbidden' + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: |- + The basket with the given basket ID is + unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: |- + Removes a specified shipment and all associated product, gift certificate, + shipping, and price adjustment line items from a basket. + It is not allowed to remove the default shipment. + operationId: removeShipmentFromBasket + summary: Remove a shipment from a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + patch: + responses: + '200': + description: Success, the response body contains the basket with the updated shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsPatch: + $ref: '#/components/examples/examples-ShipmentsPatch' + '400': + description: |- + Possible reasons: + - the given shipment ID was invalid. + - a shipment with the provided ID already + exists for the basket. + - a shipment with the provided shipment number + already exists for the basket. + - a missing shipping method. + - an invalid shipping method. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: |- + Updates a shipment for a basket. + + The shipment is initialized with values provided in the body + document and can be updated with further data API calls. Considered from + the body are the following properties if specified: + - the ID + - the shipping address + - the shipping method + - gift boolean flag + - gift message + - custom properties + operationId: updateShipmentForBasket + summary: Update a shipment for a basket. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + ShipmentsPatch: + $ref: '#/components/examples/ShipmentsPatch' + schema: + $ref: '#/components/schemas/Shipment' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-address: + put: + responses: + '200': + description: Success, the response body contains the basket with the added shipping address. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsAddressPut: + $ref: '#/components/examples/examples-ShipmentsAddressPut' + '400': + description: |- + Possible reasons: + - the shipment with the given shipment ID is unknown. + - the customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Sets a shipping address of a specific shipment of a basket. + operationId: updateShippingAddressForShipment + summary: Update the shipping address for a shipment. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + ShipmentsAddressPut: + $ref: '#/components/examples/ShipmentsAddressPut' + schema: + $ref: '#/components/schemas/OrderAddress' + required: true + parameters: + - $ref: '#/components/parameters/useAsBilling' + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-method: + put: + responses: + '200': + description: Success, the response body contains the basket with the added shipping method. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsMethodPut: + $ref: '#/components/examples/examples-ShipmentsMethodPut' + '400': + description: |- + Possible reasons: + - the id of the shipping method is missing. + - a shipping method with an ID was specified + which is not a valid shipping method ID. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Sets a shipping method to a specific shipment of a basket. + operationId: updateShippingMethodForShipment + summary: Update the shipping method for a shipment. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + ShipmentsMethodPut: + $ref: '#/components/examples/ShipmentsMethodPut' + schema: + $ref: '#/components/schemas/ShippingMethod' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-methods: + get: + responses: + '200': + description: Success, the response body contains the applicable shipping methods for a certain shipment of the basket. + content: + application/json: + examples: + ShipmentsMethodGet: + $ref: '#/components/examples/ShipmentsMethodGet' + schema: + $ref: '#/components/schemas/ShippingMethodResult' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: |- + Possible reasons: + - The basket with the given basket ID is unknown. + - The shipment with the given shipment ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Gets the applicable shipping methods for a certain shipment of a basket. + operationId: getShippingMethodsForShipment + summary: Retrieve the shipping methods for a shipment. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + - sfcc.shopper-baskets-orders + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/storefront: + put: + responses: + '200': + description: Success, the response body contains a basket that is set as a storefront basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPutStorefront: + $ref: '#/components/examples/BasketPutStorefront' + '400': + description: Thrown if a storefront basket already exists and the query parameter `exchange` is false. + content: + application/problem+json: + examples: + CustomerBasketQuotaExceededException: + $ref: '#/components/examples/CustomerBasketQuotaExceededException' + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + description: Marks a basket as a storefront basket. + operationId: updateAsStorefrontBasket + summary: Designate a basket as a storefront basket. + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/exchange' + - $ref: '#/components/parameters/locale' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/siteId' + /organizations/{organizationId}/baskets/{basketId}/taxes: + get: + responses: + '200': + description: Success, the response body contains the external taxation from all line items from the referenced basket. + content: + application/json: + examples: + PostBasketBody: + $ref: '#/components/examples/BasketTaxGet' + schema: + $ref: '#/components/schemas/Taxes' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + '409': + description: |- + Possible Reasons: + - The tax mode of the referenced basket is not set to EXTERNAL. + content: + application/json: + examples: + InvalidTaxMode: + $ref: '#/components/examples/InvalidTaxMode' + UnsupportedRequest: + $ref: '#/components/examples/UnsupportedRequest' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: This method gives you the external taxation data set by the PUT taxes API. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. + operationId: getTaxesFromBasket + summary: Retrieve the external taxation information for a basket. + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + - sfcc.shopper-baskets-orders + parameters: + - $ref: '#/components/parameters/siteId' + put: + responses: + '204': + description: Success, without body. + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + '409': + description: |- + Possible Reasons: + - The tax mode of the referenced basket is not set to EXTERNAL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UnsupportedRequest: + $ref: '#/components/examples/UnsupportedRequest' + description: |- + This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for all taxable line items. + This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. + operationId: addTaxesForBasket + summary: Add external taxation information to a basket. + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + requestBody: + content: + application/json: + examples: + PostBasketBody: + $ref: '#/components/examples/BasketTaxPut' + schema: + $ref: '#/components/schemas/Taxes' + required: true + parameters: + - $ref: '#/components/parameters/siteId' + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + ShopperTokenTaob: + type: oauth2 + description: "`ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. \nA token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`.\nTo get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). \nAfterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)).\nFor more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html).\n" + flows: + clientCredentials: + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + schemas: + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + CountryCode: + pattern: ^[A-Z][A-Z]$ + description: A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. + example: US + type: string + OrderAddress: + description: Document representing an order address. + properties: + address1: + description: The first address line. + example: 45 Main Rd. + type: string + address2: + description: The second address line. + example: Apartment 204 + type: string + city: + description: The city. + example: Boston + type: string + companyName: + description: The company name. + example: Salesforce + type: string + countryCode: + $ref: '#/components/schemas/CountryCode' + firstName: + description: The first name. + example: Max + type: string + fullName: + description: The full name. + example: Max Mustermann + type: string + id: + description: The ID of the address. + example: me + type: string + jobTitle: + description: The job title. + example: Software Engineer + type: string + lastName: + description: The last name. + example: Mustermann + type: string + phone: + description: The phone number. + example: '6175555555' + type: string + postBox: + description: The post office box. + example: PO BOX 109 + type: string + postalCode: + description: The postal code. + example: '05408' + type: string + salutation: + description: The salutation. + example: Mr + type: string + secondName: + description: The second name. + type: string + stateCode: + description: The state code. + example: MA + type: string + suffix: + description: The suffix. + example: Sr + type: string + suite: + description: The suite. + example: 24A + type: string + title: + description: The title. + example: Dr. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + ProductDetailsLink: + description: Document representing a link to the resource for product details. + properties: + productDescription: + description: The description of the product. + example: Nintendo DS revolutionizes handheld gameplay. + type: string + productId: + $ref: '#/components/schemas/ProductId' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + title: + description: The link title. + example: Nintendo DS Game Console + type: string + type: object + required: + - productId + additionalProperties: false + BonusDiscountLineItem: + description: Document representing a bonus discount line item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + bonusProducts: + description: The bonus products the customer can choose from. + type: array + items: + $ref: '#/components/schemas/ProductDetailsLink' + couponCode: + description: The coupon code that triggered the promotion, if applicable. + example: 5ties + type: string + id: + description: The ID of the line item. It is read only. + example: 91f4dd8bfa0653d58b7783b04f + type: string + maxBonusItems: + format: int32 + description: The maximum number of bonus items the user can select for this promotion. + type: integer + promotionId: + description: The ID of the promotion that triggered the creation of the line item. + example: Buy1Get2 + type: string + CouponItemId: + minLength: 1 + type: string + description: The coupon item ID + example: d4c9c0141e9c74c150225580f3 + CouponItem: + description: Document representing a coupon item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + code: + maxLength: 256 + description: The coupon code. + example: 5ties + type: string + couponItemId: + description: The coupon item ID. It is read only. + allOf: + - $ref: '#/components/schemas/CouponItemId' + statusCode: + description: The status of the coupon item. It is read only. + example: no_applicable_promotion + enum: + - coupon_code_already_in_basket + - coupon_code_already_redeemed + - coupon_code_unknown + - coupon_disabled + - redemption_limit_exceeded + - customer_redemption_limit_exceeded + - timeframe_redemption_limit_exceeded + - no_active_promotion + - coupon_already_in_basket + - no_applicable_promotion + - applied + - adhoc + type: string + valid: + description: |- + A flag indicating whether the coupon item is valid. A coupon line item is valid if + the status code is "applied" or "no_applicable_promotion". It is read only. + example: true + type: boolean + required: + - code + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + CustomerInfo: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: The customer information for guest or logged-in customers. + type: object + properties: + customerId: + maxLength: 100 + description: The customer ID. It is read only. + example: abMKqMaNYOBMnNdDNzyC5oNTi5 + type: string + customerName: + description: The customer name. + example: Max Mustermann + type: string + customerNo: + maxLength: 100 + description: The customer number. + example: '0002352' + type: string + email: + description: The customer's email address. + example: no-reply@salesforce.com + type: string + required: + - email + GiftCertificateItemId: + example: 629dea6e7b61e58da629b57b21 + type: string + minLength: 1 + GiftCertificateItem: + description: A gift certificate item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The gift certificate item amount. + example: 20 + type: number + giftCertificateItemId: + description: The item ID. It is read only. + allOf: + - $ref: '#/components/schemas/GiftCertificateItemId' + message: + maxLength: 4000 + description: The gift certificate message. + example: Birthday present. + type: string + recipientEmail: + minLength: 1 + description: The recipient email. + example: no-reply@salesforce.com + type: string + recipientName: + description: The recipient's name. + example: Daniel Mustermann + type: string + senderName: + description: The sender's name. + example: Max Mustermann + type: string + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + required: + - amount + - recipientEmail + Discount: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: Document representing a discount. + type: object + properties: + amount: + format: double + description: The discount amount for discount types that define specific discount amounts. It is read only. + example: 130.88 + type: number + percentage: + format: double + description: The discount percent for discount types that define percentage discounts. It is read only. + example: 0.19 + type: number + priceBookId: + description: The price book ID that is used with some types. It is read only. + example: usd-sale-prices + type: string + type: + description: The type of discount. It is read only. + example: fixed_price + enum: + - percentage + - fixed_price + - amount + - free + - price_book_price + - bonus + - total_fixed_price + - bonus_choice + - percentage_off_options + type: string + required: + - type + PriceAdjustmentId: + example: ba248424e3eee797f062161f8b + type: string + PriceAdjustment: + description: |- + Document representing a price adjustment within a basket or order. Price adjustments + can be assigned at the order, product, or shipping level. + properties: + appliedDiscount: + description: |- + Details describing the discount this price adjustment is based on. For adjustments + not based on a discount, this value is null. + allOf: + - $ref: '#/components/schemas/Discount' + couponCode: + description: |- + The coupon code of the coupon this price adjustment is based on. For adjustments + not based on a coupon, this value is null. It is read only. + example: 5ties + type: string + createdBy: + description: The user who created the price adjustment. It is read only. + example: Support + type: string + creationDate: + description: The timestamp when the price adjustment was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + custom: + description: |- + A flag indicating whether this price adjustment was created by custom logic. This + flag is set to true unless the price adjustment was created by the promotion + engine. + example: true + type: boolean + itemText: + description: The text describing the item. + type: string + lastModified: + description: The timestamp when the price adjustment was last modified. It is read only. + example: '2021-02-25T09:58:08.715Z' + type: string + format: date-time + manual: + description: |- + A flag indicating whether this price adjustment was created by a manual process. + If the price adjustment was created by the promotion engine, this value is always + false. + example: true + type: boolean + price: + format: double + description: The adjustment price. It is read only. + example: 120.88 + type: number + priceAdjustmentId: + description: The price adjustment ID. It is read only. + allOf: + - $ref: '#/components/schemas/PriceAdjustmentId' + promotionId: + description: |- + The ID of the related promotion. Custom price adjustments + can be assigned any promotion ID so long it is not + used by a price adjustment belonging to the same item, + and is not used by a promotion defined in the promotion engine. + If not specified, a promotion ID is generated. + type: string + reasonCode: + description: The reason for the price adjustment. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + Status: + description: Document representing an object status. + properties: + code: + description: The status code. + type: string + message: + description: The status message. + type: string + status: + format: int32 + description: |- + The status. + For more information on the status values see Status.OK and Status.ERROR. + type: integer + type: object + additionalProperties: false + PaymentCard: + additionalProperties: false + description: Document representing a payment card. + type: object + properties: + cardType: + maxLength: 256 + description: The payment card type. + example: Visa + type: string + creditCardExpired: + description: A flag indicating if the credit card is expired. It is read only. + example: true + type: boolean + creditCardToken: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + example: E67TY8GQ27X + type: string + expirationMonth: + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + maxLength: 4000 + description: The masked payment card number. + example: '*********4422' + type: string + numberLastDigits: + maxLength: 4000 + description: The last digits of the payment card number. It is read only. + example: '4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month the payment card is valid from. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year the payment card is valid from. + example: 2015 + type: integer + PaymentInstrumentId: + description: The payment instrument ID + example: ba248424e3eee797f062162f8b + type: string + OrderPaymentInstrument: + description: Document representing an order payment instrument. + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + authorizationStatus: + description: The authorization status of the payment transaction. It is read only. + allOf: + - $ref: '#/components/schemas/Status' + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '12030000' + type: string + maskedGiftCertificateCode: + description: The gift certificate code with the last 4 characters not masked. + example: '******Gzzy' + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/PaymentCard' + paymentInstrumentId: + description: The payment instrument ID. It is read only. + allOf: + - $ref: '#/components/schemas/PaymentInstrumentId' + paymentMethodId: + maxLength: 256 + description: The payment method ID. It is read only. + example: CREDIT_CARD + type: string + type: object + ProductItem: + description: Document representing a product item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including + adjustments. If the taxation policy is net, it doesn't include tax. If the + taxation policy is gross, it includes tax. It is read only. + example: 130 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. + example: true + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. + example: inventory + type: string + itemId: + description: |- + The product item ID. Use it to identify this item when updating its quantity or + creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not + including order-level adjustments or shipping charges. If the taxation policy is + net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 20.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation + policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 15.5 + type: number + productId: + maxLength: 100 + description: The ID of the product. + example: nintendo-ds-console + type: string + productListItem: + description: |- + If this product line item was added from a product list, this value is a reference + to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A + related shipping item represents a surcharge applied to individual products using + a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax for the product item, not including price adjustments. It is read only. + example: 0.3 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this product item. It is read only. + example: 30 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.9 + type: number + ItemId: + description: The item id. + example: 430ef5aad3a24de59378458434 + type: string + OptionItem: + description: |- + An option item represents an optional purchase related to a product item, and is always associated with that parent product + item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + example: ba248414e3eee797f062162f8b + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. It is read only. + example: false + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: false + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. It is read only. + example: inventory + type: string + itemId: + description: The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + example: The item text. + type: string + optionId: + maxLength: 256 + description: The ID of the option. It is read only. + example: consoleWarranty + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + optionValueId: + maxLength: 256 + description: The ID of the option value. It is read only. + example: '000' + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + example: 150.99 + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not including order-level adjustments or + shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated order-level adjustments, but not + including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 40.5 + type: number + productId: + $ref: '#/components/schemas/ProductId' + productListItem: + description: If this product line item was added from a product list, this value is a reference to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The ordered quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A related shipping item represents a + surcharge applied to individual products using a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax on the line item before applying any adjustments. It is read only. + example: 0 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. It is read only. + example: 50 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.19 + type: number + required: + - optionId + - optionValueId + ProductListLink: + description: Document representing a link to a product list. + properties: + description: + description: The description of this product list. + type: string + name: + description: The name of this product list. + type: string + public: + description: |- + A flag indicating whether the owner made this product list available for access + by other customers. It is read only. + example: true + type: boolean + title: + description: The link title. + type: string + type: + description: The type of the product list. + example: shopping_list + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + type: string + type: object + additionalProperties: false + ProductListItemReference: + description: Document representing product list item details. + type: object + additionalProperties: false + properties: + id: + description: The ID of the product list item. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + priority: + format: int32 + description: The priority of the product list item. + example: 1 + type: integer + productDetailsLink: + $ref: '#/components/schemas/ProductDetailsLink' + productList: + description: A reference to the associated product list. It is read only. + allOf: + - $ref: '#/components/schemas/ProductListLink' + public: + example: false + type: boolean + purchasedQuantity: + format: double + description: The total quantity of this item purchased from the product list. + example: 0 + type: number + quantity: + minimum: 0 + format: double + description: The number of products or gift certificates that get shipped when purchasing this product list item. + example: 1 + type: number + type: + description: Specifies whether the item is a product or a gift certificate. + example: product + enum: + - product + - gift_certificate + type: string + required: + - id + ShipmentId: + minLength: 1 + type: string + example: me + description: The identifier of the shipment + ShippingPromotion: + description: Document representing a shipping promotion. + properties: + calloutMsg: + description: The localized callout message of the promotion. + example: $30 Fixed Shipping Amount Above 150 + type: string + promotionId: + description: The unique ID of the promotion. + example: $30FixedShippingAmountAbove150 + type: string + promotionName: + description: The localized promotion name. + example: $30 Fixed Shipping Amount Above 150 + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ShippingMethod: + description: Document representing a shipping method. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + description: + description: The localized description of the shipping method. + example: Order received within 7-10 business days + type: string + externalShippingMethod: + description: The external shipping method. + type: string + id: + maxLength: 256 + description: The shipping method ID. + example: '001' + type: string + name: + description: The localized name of the shipping method. + example: Ground + type: string + price: + format: double + description: |- + The shipping cost total, including shipment level costs, + product level fix, and surcharge costs. It is read only. + example: 15 + type: number + shippingPromotions: + description: |- + The array of active customer shipping promotions for this shipping + method. This array can be empty. + type: array + items: + $ref: '#/components/schemas/ShippingPromotion' + type: object + required: + - id + Shipment: + description: Document representing a shipment. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not including + service charges such as shipping. If the Discount Taxation preference is set to Tax Products and + Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + gift: + description: A flag indicating whether the shipment is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + merchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, not including price adjustments or service charges such as + shipping. It is read only. + example: 4.95 + type: number + productSubTotal: + format: double + description: |- + The total price of all products in the shipment, including item-level adjustments, but not including + order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If + the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + shipmentId: + description: The order-specific ID of the shipment. The default value is 'me'. + default: me + allOf: + - $ref: '#/components/schemas/ShipmentId' + shipmentNo: + description: The shipment number of this shipment. This number is automatically generated. It is read only. + type: string + shipmentTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments, shipping charges, + and tax. It is read only. + example: 39.99 + type: number + shippingAddress: + description: The shipping address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + shippingMethod: + $ref: '#/components/schemas/ShippingMethod' + shippingStatus: + description: The shipping status of the shipment. + example: shipped + enum: + - not_shipped + - shipped + type: string + shippingTotal: + format: double + description: |- + The total price of all shipping charges in the shipment, including shipping adjustments. If the + taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. + example: 0.3 + type: number + taxTotal: + format: double + description: |- + The total tax on the shipment, including item-level price adjustments and service charges such as + shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on + Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 1.8 + type: number + trackingNumber: + description: The tracking number of the shipment. + example: 1Z204E380338943508 + type: string + type: object + ShippingItem: + description: Document representing a shipping item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax for the shipping item, including price adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the shipping item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + itemId: + description: |- + The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a + custom price adjustment for it. It is read only. + example: 430ef5aad3a24de59378458434 + type: string + itemText: + description: The text describing the shipping item. + example: Shipping + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the shipping item including item-level adjustments, but not including order-level + adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + type: number + shipmentId: + description: The identifier of the shipment to which this item belongs. + allOf: + - $ref: '#/components/schemas/ShipmentId' + tax: + format: double + description: The tax on the product item, not including adjustments. It is read only. + example: 0.19 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this shipping item. It is read only. + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. + type: number + type: object + Basket: + description: Document representing a basket. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not + including service charges such as shipping. If the Discount Taxation preference is set to Tax + Products and Shipping Only Based on Adjusted Price, this amount also includes prorated + order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + agentBasket: + description: Is the basket created by an agent? It is read only. + example: true + type: boolean + basketId: + description: The unique identifier for the basket. It is read only. + example: e78aa5646a8efebdd9cdd38be7 + type: string + billingAddress: + description: The billing address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + bonusDiscountLineItems: + description: The bonus discount line items. + type: array + items: + $ref: '#/components/schemas/BonusDiscountLineItem' + channelType: + description: The sales channel. It is read only. + example: storefront + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + couponItems: + description: The coupon items. + type: array + items: + $ref: '#/components/schemas/CouponItem' + creationDate: + description: The timestamp when the basket was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + currency: + $ref: '#/components/schemas/CurrencyCode' + customerInfo: + description: The customer information, if the customer is logged in. + allOf: + - $ref: '#/components/schemas/CustomerInfo' + giftCertificateItems: + description: The gift certificate line items. + type: array + items: + $ref: '#/components/schemas/GiftCertificateItem' + inventoryReservationExpiry: + description: The expiration datetime of the inventory reservation. It is read only. + example: '2015-05-19T15:30:18.000Z' + type: string + format: date-time + lastModified: + description: The timestamp when the basket was last modified. It is read only. + example: '2015-05-19T15:25:18.000Z' + type: string + format: date-time + merchandizeTotalTax: + format: double + description: |- + The total products tax in the purchase currency. + Merchandise total price represents the sum of the product prices before + services (such as shipping) or adjustments from promotions have + been added. It is read only. + example: 4.95 + type: number + orderPriceAdjustments: + description: The order-level price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + orderTotal: + format: double + description: The total price, including products, shipping and tax. It is read only. + example: 110.24 + type: number + paymentInstruments: + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/OrderPaymentInstrument' + productItems: + description: The product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + productSubTotal: + format: double + description: |- + The total price of all products including item-level adjustments, but not including order-level adjustments or shipping + charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 88 + type: number + shipments: + description: The shipments. + type: array + items: + $ref: '#/components/schemas/Shipment' + shippingItems: + description: The shipping items. + type: array + items: + $ref: '#/components/schemas/ShippingItem' + shippingTotal: + format: double + description: |- + The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on all shipping charges, not including shipping adjustments. It is read only. + example: 0.3 + type: number + sourceCode: + description: The source code assigned to the basket. It is read only. + example: OUTDOOR1 + type: string + taxTotal: + format: double + description: The total tax amount. It is read only. + example: 5.25 + type: number + taxation: + description: The taxation policy (gross or net). It is read only. + example: net + enum: + - gross + - net + type: string + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + TaxItem: + description: Object representing the taxation. + properties: + id: + description: The taxation identifier. + type: string + rate: + format: double + description: The taxation rate. + example: 0.13 + type: number + value: + format: double + description: The tax amount. Will be computed if not set. + type: number + type: object + required: + - id + - rate + additionalProperties: false + TaxItems: + description: Taxation for a line item. + type: object + properties: + taxItems: + description: The list of tax items. It is read only. + type: array + items: + $ref: '#/components/schemas/TaxItem' + OrderPaymentCardRequest: + description: Document representing an order payment card request. + type: object + properties: + cardType: + maxLength: 256 + description: 'The payment card type (for example: Visa).' + example: Visa + type: string + creditCardToken: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + example: E67TY8GQ27X + type: string + expirationMonth: + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + pattern: ^[0-9 -]{0,7}\D{6,15}\d{0,4}$ + maxLength: 25 + description: The masked payment card number. + example: '*********4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month the payment card is valid from. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year the payment card is valid from. + example: 2019 + type: integer + BasketPaymentInstrumentRequest: + description: Document representing a basket payment instrument request. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '12030000' + type: string + giftCertificateCode: + maxLength: 256 + description: The gift certificate code. + example: AFGRTUZ + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/OrderPaymentCardRequest' + paymentMethodId: + maxLength: 256 + description: The payment method ID. + example: CREDIT_CARD + type: string + PaymentCardSpec: + description: Document representing the specification for a payment card. + type: object + properties: + cardType: + description: The payment card type. It is read only. + example: Visa + type: string + checksumVerificationEnabled: + description: A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. + example: true + type: boolean + description: + description: The localized description of the payment card. It is read only. + type: string + image: + description: The URL to the image that represents the payment card. It is read only. + type: string + name: + description: The localized name of the payment card. It is read only. + type: string + numberLengths: + description: |- + The sorted list of number lengths (individual lengths as well as + length ranges). It is read only. + type: array + items: + type: string + numberPrefixes: + description: |- + The sorted list of number prefixes (individual prefixes as well + as prefix ranges). It is read only. + type: array + items: + type: string + securityCodeLength: + format: int32 + description: The length of the security code for this card. It is read only. + type: integer + PaymentMethod: + description: Document representing a payment method. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + cards: + description: The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. + type: array + items: + $ref: '#/components/schemas/PaymentCardSpec' + description: + description: The localized description of the payment method or card. It is read only. + type: string + id: + maxLength: 256 + description: The ID of the payment method or card. It is read only. + type: string + image: + description: The URL to the image that represents the payment method or card. It is read only. + type: string + name: + description: The localized name of the payment method or card. It is read only. + type: string + paymentProcessorId: + description: The payment processor ID. It is read only. It is read only. + type: string + required: + - id + PaymentMethodResult: + description: Result document of payment methods applicable for a basket. + properties: + applicablePaymentMethods: + description: The applicable payment methods. It is read only. + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + type: object + DiscountRequest: + description: Request that represents a discount to be applied to a custom price adjustment. + type: object + additionalProperties: false + properties: + type: + description: |- + The type of discount. + - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. + - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. + - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. + example: percentage + enum: + - percentage + - fixed_price + - amount + type: string + value: + format: double + description: The amount of the discount. + example: 20 + type: number + required: + - type + - value + PriceAdjustmentRequest: + description: Request that represents a price adjustment. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + discount: + description: A discount that can be specified instead of a price. + allOf: + - $ref: '#/components/schemas/DiscountRequest' + itemId: + description: The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. + example: 93196fae953cbedbe54d67e760 + type: string + itemText: + description: The text describing the item in more detail. + example: A discounted item + type: string + level: + description: |- + The level at which the adjustment is applied. + - `order` indicates that the price adjustment should be added directly to basket. + - `product` indicates that the price adjustment should be added to the product item. + - `shipping` indicates that the price adjustment is added to the shipping item. + example: order + enum: + - product + - shipping + - order + type: string + promotionId: + description: The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. + example: Shipping100 + type: string + reasonCode: + description: The reason for the price adjustment. + example: Shipping promotion on order above $1,000 USD + type: string + required: + - level + PriceBookIds: + maxItems: 10 + description: Array of price book IDs to use for the basket calculation. + type: array + items: + maxLength: 256 + type: string + ShippingMethodResult: + description: Result document containing shipping methods. + properties: + applicableShippingMethods: + description: The applicable shipping method documents. It is read only. + type: array + items: + $ref: '#/components/schemas/ShippingMethod' + defaultShippingMethodId: + description: The default shipping method. It is read only. + example: me + type: string + type: object + Taxes: + description: Document representing the tax rates and (optionally) amounts for all items in a basket. + properties: + taxes: + description: 'Map containing the TaxItems for the line item ids: Map' + type: object + additionalProperties: + $ref: '#/components/schemas/TaxItems' + type: object + required: + - taxes + additionalProperties: false + parameters: + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + taxMode: + name: taxMode + in: query + description: "Determines how taxes are calculated. \n\nThe default value is `internal` where the tax calculation is done automatically based on internal tax tables. Setting `taxMode` to `external` allows manual modification of the tax rates and values. \nExternal tax data is mandatory for product line items, option line items, shipping line items, coupon line items, and bonus discount line item. \nGift certificate line items are optional and use zero tax rate by default, which can be overwritten. Price adjustments cannot be set because they are either calculated or inherited. \nDepending on the type, the tax rate is either obtained from the related line item or computed as a prorate of the basket." + schema: + default: internal + enum: + - internal + - external + type: string + example: external + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + overrideExisting: + name: overrideExisting + in: query + description: |- + If the current shopper has no active basket, this parameter is ignored. If the current shopper has an active basket, this parameter controls the behavior: + - `false` (default): Return a BasketTransferException (HTTP status 409). The basket owner doesn't change. + - `true`: Force the transfer by deleting the current shopper's active basket and making the current shopper the owner of the previous shopper's basket. Returns the transferred basket (HTTP status 200). + schema: + default: false + type: boolean + example: false + createDestinationBasket: + name: createDestinationBasket + in: query + description: |- + If the current shopper has an active basket, this parameter is ignored. If the current shopper has no active basket, this parameter controls the behavior: + - `false` (default): Return a BasketMergeException (HTTP status 409). + - `true`: Force the merge by creating a basket for the current shopper and copying information from the previous shopper's basket into it. Return success (HTTP status 200). + schema: + default: false + type: boolean + productItemMergeMode: + name: productItemMergeMode + in: query + description: |- + This parameter controls the quantity calculation for products that exist in both baskets. + - higher_quantity (default): Compare the product's quantities in each basket, and use the higher value. + - sum_quantities: Use the sum of the product's quantities from both baskets. + - saved_quantity: Use the product's quantity in the current shopper's active basket. Ignore the quantity from the previous shopper's basket. + - separate_item: Add a separate product item to the current shopper's basket for the quantity in the previous shopper's basket. + schema: + default: higher_quantity + enum: + - higher_quantity + - sum_quantities + - saved_quantity + - separate_item + type: string + basketId: + name: basketId + in: path + required: true + schema: + minLength: 1 + type: string + description: The ID of the basket to be modified. + removeExternalTax: + name: removeExternalTax + in: query + description: 'If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the `currency` triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values.' + schema: + default: true + type: boolean + useAsShipping: + name: useAsShipping + in: query + example: true + schema: + type: boolean + couponItemId: + name: couponItemId + in: path + required: true + schema: + $ref: '#/components/schemas/CouponItemId' + description: The ID of the coupon item. + giftCertificateItemId: + name: giftCertificateItemId + in: path + required: true + schema: + $ref: '#/components/schemas/GiftCertificateItemId' + description: the ID of the gift certificate item to be updated. + itemId: + name: itemId + in: path + required: true + schema: + $ref: '#/components/schemas/ItemId' + description: The ID of the item to be updated. + paymentInstrumentId: + name: paymentInstrumentId + in: path + required: true + schema: + $ref: '#/components/schemas/PaymentInstrumentId' + priceAdjustmentId: + name: priceAdjustmentId + in: path + required: true + schema: + $ref: '#/components/schemas/PriceAdjustmentId' + shipmentId: + name: shipmentId + in: path + required: true + schema: + $ref: '#/components/schemas/ShipmentId' + description: The ID of the shipment to be modified. + useAsBilling: + name: useAsBilling + in: query + example: true + schema: + type: boolean + exchange: + name: exchange + in: query + description: If true, an existing storefront basket is exchanged and marked as an agent basket. If false, a `CustomerBasketsQuotaExceededException` is thrown. + schema: + type: boolean + examples: + BasketPost: + value: + customerInfo: + email: shopper@salesforce-test.com + customerNo: '000000001' + billingAddress: + firstName: Stephanie + lastName: Miller + address1: 104 Presidential Way + city: Woburn + postalCode: '01801' + stateCode: MA + countryCode: US + shipments: + - shippingMethod: + id: '001' + shippingAddress: + firstName: Agustin + lastName: Estes + address1: 4162 Turkey Pen Road + city: New York + postalCode: '10016' + stateCode: NY + countryCode: US + paymentInstruments: + - paymentMethodId: CREDIT_CARD + paymentCard: + cardType: Visa + couponItems: + - code: 5ties + productItems: + - productId: green-umbrella + quantity: 3 + examples-BasketPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + BadRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + title: Bad Request + detail: Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'. + CustomerBasketQuotaExceededException: + value: + title: Customer Baskets Quota Exceeded + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-baskets-quota-exceeded + detail: The maximum number of baskets per customer was exceeded. Please reuse or delete one of the existing baskets (40e91e04aba6e42a6836f79308). + basketIds: 40e91e04aba6e42a6836f79308 + ShipmentNotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found + title: Shipment Not Found + detail: The shipping method with ID '123' is unknown or can't be applied to the basket. + ForbiddenMissingPrevCustomerInfo: + value: + title: Forbidden + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden + detail: Your access-token is valid, but it contains no previous customer to process this action. + SourceBasketException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/no-source-basket-exception + title: Conflict + detail: The previous customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has no active basket. + BasketTransferException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-transfer-basket-already-exists-exception + title: Conflict + detail: The current customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has an active basket. + BasketMergeException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-merge-no-current-basket-exception + title: Conflict + detail: The current customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has no active basket. + BasketGet: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + CustomerInfoJwtMismatch: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + title: Bad Request + detail: The customer is invalid. + BasketNotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found + title: Basket Not Found + detail: No basket with ID '123' could be found. + BasketPatch: + value: + c_textValue: oak + examples-BasketPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: 7800e0f611dac6caf77afb9df9 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:53:30.993Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:53:35.747Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 2b76b8644eb6da43e7e223b48d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 43c38652bc3844e14cd482ff28 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: b4ff13039bc7abd1b9d933b871 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 193e99bc1205b870cebd36d970 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: ac7a3b62dc1df8de898d7a2141 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + c_textValue: oak + BasketPutAgent: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: true + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + BillingAddressPut: + value: + firstName: Stephanie + lastName: Miller + address1: 385 Prospect Valley Road + city: Woburn + postalCode: '01801' + stateCode: MA + countryCode: US + examples-BillingAddressPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 385 Prospect Valley Road + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: 7800e0f611dac6caf77afb9df9 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:53:30.993Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:53:35.747Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 2b76b8644eb6da43e7e223b48d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 43c38652bc3844e14cd482ff28 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: b4ff13039bc7abd1b9d933b871 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 193e99bc1205b870cebd36d970 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: ac7a3b62dc1df8de898d7a2141 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + CouponCodePost: + value: + code: 10_percent_off + examples-CouponCodePost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + - code: 10_percent_off + couponItemId: 9372d0f511dac8caf77afc4kj2 + statusCode: applied + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + CustomerPut: + value: + email: shopperUpdate@salesforce-test.com + examples-CustomerPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopperUpdate@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + GiftCertPost: + value: + amount: 1 + recipientEmail: miller@salesforce-test.com + shipmentId: me + examples-GiftCertPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopperUpdate@salesforce-test.com + giftCertificateItems: + - amount: 2 + giftCertificateItemId: 83726a8351540534af93f3b15f + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + GiftCertPatch: + value: + amount: 1 + recipientEmail: miller@salesforce-test.com + examples-GiftCertPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopperUpdate@salesforce-test.com + giftCertificateItems: + - amount: 1 + giftCertificateItemId: 83726a8351540534af93f3b15f + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + ItemPost: + value: + - productId: green-bag + quantity: 1 + ItemsPatch: + value: + - itemId: 051e908cca031ebf8ee80cbb0a + productId: green-bag + quantity: 1 + - itemId: 078a492cca031ebf8ee80739ab + optionItems: + - optionId: Option1 + optionValueId: ValueA + quantity: 1 + ItemPatch: + value: + quantity: 1 + examples-ItemPatch: + value: + adjustedMerchandizeTotalTax: 10 + adjustedShippingTotalTax: 0.4 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: 7800e0f611dac6caf77afb9df9 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:53:30.993Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:58:39.498Z' + merchandizeTotalTax: 10 + orderTotal: 218.38 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 2b76b8644eb6da43e7e223b48d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 10 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 43c38652bc3844e14cd482ff28 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: b4ff13039bc7abd1b9d933b871 + itemText: We will plant a tree for your order. + optionId: plantATre + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 1 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 199.99 + priceAfterItemDiscount: 199.99 + priceAfterOrderDiscount: 199.99 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 1 + shipmentId: me + tax: 10 + taxBasis: 199.99 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 199.99 + productTotal: 199.99 + shipments: + - adjustedMerchandizeTotalTax: 10 + adjustedShippingTotalTax: 0.4 + gift: false + merchandizeTotalTax: 10 + productSubTotal: 199.99 + productTotal: 199.99 + shipmentId: me + shipmentTotal: 218.38 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 193e99bc1205b870cebd36d970 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 7.99 + shippingStatus: not_shipped + shippingTotal: 7.99 + shippingTotalTax: 0.4 + taxTotal: 10.4 + shippingItems: + - adjustedTax: 0.4 + basePrice: 7.99 + itemId: ac7a3b62dc1df8de898d7a2141 + itemText: Shipping + price: 7.99 + priceAfterItemDiscount: 7.99 + shipmentId: me + tax: 0.4 + taxBasis: 7.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 7.99 + shippingTotalTax: 0.4 + taxation: net + taxTotal: 10.4 + BasketItemTaxPut: + value: + taxItems: + - id: DE_7 + rate: 0.07 + value: 13.99 + - id: DE_19 + rate: 0.19 + UnsupportedRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled + title: Unsupported Request If SCAPI Hooks Enabled + detail: You can't call this endpoint because Salesforce Commerce API hook execution is enabled. + PaymentInstrumentPost: + value: + amount: 1 + paymentCard: + expirationYear: 1990 + expirationMonth: 7 + validFromMonth: 8 + validFromYear: 2007 + issueNumber: i117 + maskedNumber: '*********1234' + holder: Miller + cardType: Visa + paymentMethodId: CREDIT_CARD + PaymentInstrumentPatch: + value: + amount: 0 + paymentCard: + holder: Miller + cardType: Visa + paymentMethodId: CREDIT_CARD + examples-PaymentInstrumentPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + holder: Miller + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + PaymentMethodsGet: + value: + applicablePaymentMethods: + - id: GIFT_CERTIFICATE + name: Gift Certificate + paymentProcessorId: BASIC_GIFT_CERTIFICATE + - cards: + - cardType: Visa + checksumVerificationEnabled: true + name: Visa + numberLengths: + - '13' + - '16' + numberPrefixes: + - '4' + - cardType: Amex + checksumVerificationEnabled: true + name: American Express + numberLengths: + - '15' + numberPrefixes: + - '34' + - '37' + - cardType: Master Card + checksumVerificationEnabled: true + name: MasterCard + numberLengths: + - '16' + numberPrefixes: + - 51-55 + - cardType: Discover + checksumVerificationEnabled: true + name: Discover + numberLengths: + - '16' + numberPrefixes: + - '6011' + - 622126-622925 + - 644-649 + - '65' + id: CREDIT_CARD + name: Credit Card + paymentProcessorId: BASIC_CREDIT + - id: PayPal + name: Pay Pal + paymentProcessorId: PAYPAL_EXPRESS + - id: BML + name: Bill Me Later + paymentProcessorId: CYBERSOURCE_BML + PriceAdjustmentPost: + value: + discount: + value: 5 + type: percentage + itemText: MyOrderAdjustment + level: order + promotionId: manual adjustment + examples-PriceAdjustmentPost: + value: + adjustedMerchandizeTotalTax: 28.45 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderPriceAdjustments: + - appliedDiscount: + amount: 0.05 + percentage: 5 + type: percentage + createdBy: testAgent + creationDate: '2015-05-25T09:13:10.942Z' + custom: true + itemText: MyOrderAdjustment + manual: true + price: -30 + promotionId: manual adjustment + priceAdjustmentId: cdzoAiWbOmbiUaaadlfSpMDgNw + orderTotal: 615.21 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 569.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 569.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 569.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + PriceAdjustmentPatch: + value: + appliedDiscount: + amount: 15 + type: amount + itemText: AgentOrderAdjustment + reasonCode: override manual promo + examples-PriceAdjustmentPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderPriceAdjustments: + - appliedDiscount: + amount: 15 + type: amount + createdBy: testWapiAgent + creationDate: '2017-03-14T09:15:35.543Z' + custom: true + itemText: MyOrderAdjustment + lastModified: '2017-03-14T09:15:35.594Z' + manual: true + price: -15 + priceAdjustmentId: e397cd21f9a9c0643277ba1011 + promotionId: manual adjustment + reasonCode: override manual promo + orderTotal: 631.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + PriceAdjustmentIdNotFoundException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/price-adjustment-not-found + title: Price Adjustment Not Found + detail: No price adjustment with ID '453599643347eac5e4ebd85b49' could be found. + PriceBooksGet: + value: + - price-book-id1 + - price-book-id2 + PriceBooksPut: + value: + - price-book-id1 + - price-book-id2 + ShipmentsPost: + value: + shipmentId: me2 + shippingMethod: + id: '001' + shippingAddress: + firstName: Stephanie + lastName: Miller + address1: 385 Prospect Valley Road + city: Woburn + postalCode: '01801' + stateCode: MA + countryCode: US + examples-ShipmentsPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + shippingMethod: + description: Order received in 2 business days + id: '002' + name: 2-Day Express + price: 20.99 + shippingStatus: not_shipped + shippingTotal: 20.99 + shippingTotalTax: 1.05 + taxTotal: 36.05 + - adjustedMerchandizeTotalTax: 35 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 35 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me2 + shipmentTotal: 646.76 + shippingAddress: + address1: 385 Prospect Valley Road + city: Woburn + stateCode: MA + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 84f06786daa68ae33af7e21ec6 + lastName: Miller + shippingMethod: + description: Order received in 2 business days + id: '001' + name: 2-Day Express + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 35 + shippingItems: + - adjustedTax: 1.05 + basePrice: 20.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 20.99 + priceAfterItemDiscount: 20.99 + shipmentId: me + tax: 1.05 + taxBasis: 20.99 + taxClassId: standard + taxRate: 0.05 + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: 6fea9966277c94e06b482a5c43 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 36.98 + shippingTotalTax: 1.35 + taxation: net + taxTotal: 36.35 + Forbidden: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden + title: Forbidden + detail: The shipment with ID 'me' corresponds to the default shipment and can't be deleted. + ShipmentsPatch: + value: + shipmentId: me + shipmentNo: ignored shipment no + shippingMethod: + id: '003' + shippingAddress: + firstName: Ward J + lastName: Adamek + address1: 4911 Lincoln Street + city: IDANHA + postalCode: '97350' + stateCode: OR + countryCode: US + c_wapi-string: shipment_custom_property + examples-ShipmentsPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + shippingMethod: + description: Order received in 2 business days + id: '002' + name: 2-Day Express + price: 20.99 + shippingStatus: not_shipped + shippingTotal: 20.99 + shippingTotalTax: 1.05 + taxTotal: 36.05 + shippingItems: + - adjustedTax: 1.05 + basePrice: 20.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 20.99 + priceAfterItemDiscount: 20.99 + shipmentId: me + tax: 1.05 + taxBasis: 20.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 20.99 + shippingTotalTax: 1.05 + taxation: net + taxTotal: 36.05 + ShipmentsAddressPut: + value: + firstName: Ward J + lastName: Adamek + address1: 4911 Lincoln Street + city: IDANHA + postalCode: '97350' + stateCode: OR + countryCode: US + examples-ShipmentsAddressPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + postalCode: '97350' + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + stateCode: OR + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + ShipmentsMethodPut: + value: + id: '003' + examples-ShipmentsMethodPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + postalCode: '97350' + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + stateCode: OR + shippingMethod: + description: Order received the next business day + id: '003' + name: Overnight + price: 29.99 + shippingStatus: not_shipped + shippingTotal: 29.99 + shippingTotalTax: 1.5 + taxTotal: 36.5 + shippingItems: + - adjustedTax: 1.5 + basePrice: 29.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 29.99 + priceAfterItemDiscount: 29.99 + shipmentId: me + tax: 1.5 + taxBasis: 29.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 29.99 + shippingTotalTax: 1.5 + taxation: net + taxTotal: 36.5 + ShipmentsMethodGet: + value: + applicableShippingMethods: + - description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + - description: Order received in 2 business days + id: '002' + name: 2-Day Express + price: 20.99 + - description: Order received the next business day + id: '003' + name: Overnight + price: 29.99 + - description: Store Pickup + id: '005' + name: Store Pickup + price: 0 + c_storePickupEnabled: true + defaultShippingMethodId: '001' + BasketPutStorefront: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: callcenter + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + BasketTaxGet: + value: + taxes: + 3d4e28425ce0b3a65b0ac4e163: + taxItems: + - id: DE_7 + rate: 0.07 + value: 13.99 + - id: DE_19 + rate: 0.19 + ff9452ed11fcf5c80f9143a8f1: + taxItems: + - id: US_1 + rate: 0.01 + - id: US_5 + rate: 0.05 + InvalidTaxMode: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode + title: Invalid Tax Mode + detail: Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode. + BasketTaxPut: + value: + taxes: + 3d4e28425ce0b3a65b0ac4e163: + taxItems: + - id: DE_7 + rate: 0.07 + value: 13.99 + - id: DE_19 + rate: 0.19 + ff9452ed11fcf5c80f9143a8f1: + taxItems: + - id: US_1 + rate: 0.01 + - id: US_5 + rate: 0.05 diff --git a/apis/shopper-baskets-oas/shopper-baskets-oas-2.0.14/.metadata.json b/apis/shopper-baskets-oas/shopper-baskets-oas-2.0.14/.metadata.json new file mode 100644 index 00000000..69d4eb32 --- /dev/null +++ b/apis/shopper-baskets-oas/shopper-baskets-oas-2.0.14/.metadata.json @@ -0,0 +1,17 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-baskets-oas/2.0.14", + "name": "Shopper Baskets OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-baskets-oas", + "version": "2.0.14", + "categories": { + "SDK Type": [ + "Isomorphic", + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/shopper-baskets-oas/shopper-baskets-oas-2.0.14/exchange.json b/apis/shopper-baskets-oas/shopper-baskets-oas-2.0.14/exchange.json new file mode 100644 index 00000000..62f5dcca --- /dev/null +++ b/apis/shopper-baskets-oas/shopper-baskets-oas-2.0.14/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-baskets-oas-v2-public.yaml", + "name": "Shopper Baskets OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-baskets-oas", + "version": "2.0.14", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v2" +} \ No newline at end of file diff --git a/apis/shopper-baskets-oas/shopper-baskets-oas-2.0.14/shopper-baskets-oas-v2-internal.yaml b/apis/shopper-baskets-oas/shopper-baskets-oas-2.0.14/shopper-baskets-oas-v2-internal.yaml new file mode 100644 index 00000000..4676450b --- /dev/null +++ b/apis/shopper-baskets-oas/shopper-baskets-oas-2.0.14/shopper-baskets-oas-v2-internal.yaml @@ -0,0 +1,6575 @@ +openapi: 3.0.3 +info: + title: Shopper Baskets + version: v2 + description: |- + # API Overview + + Shopper Baskets V2 provides all Shopper Basket V1 functionality and adds support for temporary baskets. + Temporary baskets can perform calculations to generate totals, line items, promotions, and item availability without affecting the shopper’s storefront cart, and you can use those calculations for temporary basket checkout. You can also use a temporary basket for an immediate order request. + + **Note**: `dw.ocapi.shop.basket.beforePOST` hook is no longer supported and is replaced by the `dw.ocapi.shop.basket.beforePOST_v2` hook. + + Use the Shopper Baskets API to create a basket in the B2C Commerce system and populate it with all the data required to ready the basket for checkout. + + To create a basket, start with the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets-v2?meta=createBasket) endpoint. The endpoint creates the basket in the B2C Commerce system and returns a JSON representation of the basket with a `basketId` property. + + If you provide the JSON for a prepopulated basket to the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets-v2?meta=createBasket) endpoint, you can create a basket using a single API request. + + You can also create a basket and gradually populate it with data using subsequent API requests that reference the same `basketId`. The gradual approach allows you to validate the input data as you go. + + The Shopper Baskets API includes endpoints to populate each part of a basket separately, including: + + - Billing address + - Customer information + - Line items + - Products + - Coupons + - Gift certificates + - Payment methods + - Price books + - Shipments + - Taxation (for items and the basket itself) + + In addition to creating a basket, the main `/baskets` resource offers endpoints to get, transfer, merge, and delete baskets, depending on the HTTP method that you use and the parameters that you supply. These endpoints can you help you handle a variety of complex scenarios, such as when a user starts shopping as a guest and then logs in before checkout. + + You can also use the main `/baskets` resource to add custom properties to your basket, prefixed with `c_` (example: `c_faxNumber`). + + When your basket is fully populated, you can use its `basketId` property to create an order with the [Shopper Orders API](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-orders?meta=Summary). + + For more detail on building baskets, see [Build Baskets and Place Orders](https://developer.salesforce.com/docs/commerce/commerce-api/guide/work-with-baskets-orders.html). + + ## Authentication & Authorization + + The client requesting the basket information must have access to the `/baskets` resource. The Shopper Baskets API requires a shopper access token from the Shopper Login and API Access Service (SLAS). + + For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + The following resources require an Account Manager OAuth token with a client ID: + + - `/baskets/{basketId}/taxes` + - `/baskets/{basketId}/items/{itemId}/taxes` + - `/baskets/{basketId}/price-books` + + ## Use Cases + + ### Use Hooks + + For details on working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) + + ## Basket Calculation + + Unless you’re using [hooks](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html), each modification to a basket triggers the following calculations: + + 1. Calculate product prices: + - Iterate through the product line items and determine the base price of each using its price model. If multiple price books apply to a product, the lowest price is used. + - Calculate product option line item prices using the product option model. + - For bonus products, check dependent adjustments in the basket to determine the price. + 2. Iterate through the gift certificate line items and calculate the price of each by multiplying the base price by the quantity. + 3. Recalculate for all promotions, adding and removing them as appropriate. + 4. Apply product-specific shipping costs. + 5. Calculate the total shipping cost. + 6. Recalculate for all promotions, adding and removing them as appropriate. + 7. Calculate prices for products added by the promotion engine. + 8. Calculate taxes using line item tax class codes. + - For internal tax mode, use the tax tables. + - For external tax mode, use the tax rates returned by the tax API endpoints. + 9. Calculate the order’s net, tax, and gross totals by adding up the line totals. + + ## External Taxation + + The B2C Commerce API calculates taxes internally using tax tables. If you want to integrate with a third-party tax provider, or calculate tax on your own, you can use the external taxation feature to add a taxation rate and optional taxation value. When setting a taxation rate, the taxation is calculated for this specific rate. If you pass a value, this value is used as taxation value, as well, without recalculation. To use this feature, set the `taxMode` parameter to `external` when creating the basket. + + When using external taxation, you must set a tax rate either in one request to the `/baskets/{basketId}/taxes` or with separate requests for each line item, using `/baskets/{basketId}/items/{lineItemId}/taxes`. + + If the tax mode of a basket is set to `external`, a tax item is required for all line items even for zero-tax items to avoid oversights. + + ### External Taxation with Hooks Enabled + + To use external tax calculation with [hooks](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html), use the following API methods in the [Calculate Hook](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html#calculate-hook): + - `dw.order.LineItemCtnr#isExternallyTaxed`: Returns true if the basket was created with `taxMode = external` + - `dw.order.TaxMgr#applyExternalTax`: Applies externally set tax rates to the given basket. Only use when `dw.order.LineItemCtnr#isExternallyTaxed` returns true. + + The following example shows an implementation of external tax calculation with hooks enabled in the [Calculate Hook](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html#calculate-hook): + + exports.calculate = function (basket) { + if ( basket.isExternallyTaxed() ) + { + TaxMgr.applyExternalTaxation( basket ); // apply the external tax calculation based on the tax rates set by the SCAPI external taxation APIs + } + else + { + // calculation with tax tables or customization + } + } + + ## Temporary Baskets + + A temporary basket is populated with all the data required to ready the basket for checkout, but differs from a shopper basket in the following ways: + - Basket lifetime is limited to 15 minutes. + - The shopper can have up to 10 (default 4) temporary baskets, which can be configured via Basket Preferences (Sites -> Merchant Tools -> Basket Preferences) and specifying the preference **Temporary Baskets per Customer**. + - Available to all shoppers (guest and registered shoppers), as well as agents. + + To create a temporary basket, set the `temporary` parameter to `true` with the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets-v2?meta=createBasket) endpoint. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-baskets/v2 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/baskets: + post: + description: |- + Creates a new basket. + + The created basket is initialized with default values. Optional JSON data provided in the request body is populated into the created basket. It can be updated with other endpoints offered by the Shopper Baskets API. + + Each customer can have just one open basket. When a basket is created, it is said to be open. It remains open until either an order is created from it or it is deleted. + operationId: createBasket + summary: Create a new basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/taxMode' + - $ref: '#/components/parameters/temporary' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + PostBasketBody: + $ref: '#/components/examples/BasketPost' + required: true + responses: + '200': + description: The initialized basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the provided payment method is invalid or not applicable. + - the customerId URL parameter does not match the verified customer + represented by the JSON Web Token (JWT). + - a new basket cannot be created because the maximum number + of baskets per customer would be exceeded. + - a new temporary basket cannot be created because the maximum number + of temporary baskets per customer would be exceeded. + - the same shipment ID appeared twice in the body. + - the coupon number is not provided. + - a fixed price adjustment was added at order level which is disallowed. + - a promotion ID was used twice, while attempting to add a price adjustment. + - a system promotion ID was used as a manual promotion ID, while attempting to add a price adjustment. + - more than one hundred price adjustments would have been created. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + CustomerBasketQuotaExceededException: + $ref: '#/components/examples/CustomerBasketQuotaExceededException' + TemporaryBasketQuotaExceededException: + $ref: '#/components/examples/TemporaryBasketQuotaExceededException' + '404': + description: Thrown if the shipment with the given shipment ID is unknown. + content: + application/problem+json: + examples: + ShipmentNotFound: + $ref: '#/components/examples/ShipmentNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + /organizations/{organizationId}/baskets/actions/transfer: + post: + description: |- + Transfer the previous shopper's basket to the current shopper by updating the basket's owner. No other values change. You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token. + + A success response contains the transferred basket. + + If the current shopper has an active basket, and the `overrideExisting` request parameter is `false`, then the transfer request returns a BasketTransferException (HTTP status 409). You can proceed with one of these options: + - Keep the current shopper's active basket. + - Merge the previous and current shoppers' baskets by calling the `baskets/merge` endpoint. + - Force the transfer by calling the `baskets/transfer` endpoint again, with the parameter `overrideExisting=true`. Forcing the transfer deletes the current shopper's active basket. + operationId: transferBasket + summary: Transfer an existing basket. + parameters: + - $ref: '#/components/parameters/overrideExisting' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: The transferred basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '403': + description: The call returns this error if no SLAS token for a registered shopper is available. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ForbiddenMissingPrevCustomerInfo: + $ref: '#/components/examples/ForbiddenMissingPrevCustomerInfo' + '409': + description: |- + The call returns this response in either of these cases: + - The previous shopper has no active basket. + - The current shopper has an active basket and the `overrideExisting` query parameter was `false` (default value). + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SourceBasketException: + $ref: '#/components/examples/SourceBasketException' + BasketTransferException: + $ref: '#/components/examples/BasketTransferException' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + /organizations/{organizationId}/baskets/actions/merge: + post: + description: |- + Merge data from the previous shopper's basket into the current shopper's active basket and delete the previous shopper's basket. This endpoint doesn't merge Personally Identifiable Information (PII). You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token. After the merge, all basket amounts are recalculated and totaled, including lookups for prices, taxes, shipping, and promotions, unless hooks are enabled. + + The following information is merged: + - custom attributes on the basket and on all copied records + - product items + - gift certificate items + - coupon items + - shipments + - ad-hoc price adjustments + + To control the merging of products that exist in both baskets, use the `productItemMergeMode` parameter. By default, the higher of the two basket quantities is used for each product. Products in both baskets are considered to be the same when all of the following values match (if one product doesn't have a value, the other product is a match only if it also doesn't have that value): + - shipment + - productId + - option values + - wishlist reference + - inventory list id + - gift flag & message + - ad-hoc price adjustments + + If any of the listed values don't match, then the item in the previous shopper's basket is copied to a new line item in the current shopper's basket. If the listed values all match, but the matching products have different values for any custom attribute, the merged line item keeps the custom attribute value from the current shopper's basket. + + A success response contains the current shopper's active basket. The previous guest shopper's active basket is deleted. + + If the current shopper doesn't have an active basket, and the createDestinationBasket request parameter is false, then the merge request returns a BasketMergeException (HTTP status 409). You can proceed with one of these options: + - Transfer the previous shopper's active basket to the current logged-in shopper by calling the `baskets/transfer` endpoint. + - Force the merge by calling the `baskets/merge` endpoint again, with the parameter `createDestinationBasket=true`. Forcing the merge creates a new basket for the current shopper and copies information from the previous shopper's basket into it. Because the merge doesn't copy all basket data, a forced merge is not the same as a transfer. For example, the new basket doesn't contain any Personally Identifiable Information (PII) from the previous basket. + + ### before merge + | Previous Shopper's Basket, SKU: Quantity, Custom Attributes | Current Shopper's Basket, SKU: Quantity, Custom Attributes | + |-------------------------------------------------------------|-------------------------------------------------------------| + | SKU_A: 5
SKU_B: 3
SKU_C: 4
c_customAttr_1: 'ABC'
c_customAttr_2: 'DEF' | SKU_A: 2
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_3: 'XYZ' | + + ### after merge - (previous shopper's basket is deleted) + | productItemMergeMode | Current Shopper's Basket - SKU: Quantity, Custom Attributes | + |----------------------|--------------------------------------------------------------| + | sum_quantities | SKU_A: 7
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + | higher_quantity | SKU_A: 5
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + | saved_quantity | SKU_A: 2
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + | separate_item | SKU_A: 5
SKU_B: 3
SKU_C: 4
SKU_A: 2
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + operationId: mergeBasket + summary: Merge baskets. + parameters: + - $ref: '#/components/parameters/createDestinationBasket' + - $ref: '#/components/parameters/productItemMergeMode' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: The current shopper's active basket, including items merged from the previous shopper's basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '403': + description: The call returns this error if no SLAS token for a registered shopper is available. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ForbiddenMissingPrevCustomerInfo: + $ref: '#/components/examples/ForbiddenMissingPrevCustomerInfo' + '409': + description: |- + The call returns this response in either of these cases: + - The previous shopper has no active basket. + - The current shopper has no active basket and the `createDestinationBasket` query parameter was `false` (default value). + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SourceBasketException: + $ref: '#/components/examples/SourceBasketException' + BasketMergeException: + $ref: '#/components/examples/BasketMergeException' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + /organizations/{organizationId}/baskets/{basketId}: + get: + description: Gets a basket. + operationId: getBasket + summary: Retrieve an existing basket. + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the retrieved basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + GetBasket: + $ref: '#/components/examples/BasketGet' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + delete: + description: Removes a basket. + operationId: deleteBasket + summary: Delete a basket. + responses: + '204': + description: Success, without a body. + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + patch: + description: |- + Updates a basket. Only the currency of the basket, source code, the custom + properties of the basket, and the shipping items will be considered. + operationId: updateBasket + summary: Update a basket. + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPatch: + $ref: '#/components/examples/BasketPatch' + required: true + responses: + '200': + description: Success, the response body contains the updated basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPatch: + $ref: '#/components/examples/examples-BasketPatch' + '400': + description: |- + Possible reasons: + - the customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + - the basket cannot be updated because the + requested currency is not supported by the site. + - the given shipping item ID is null or empty. + - a few shipping items with the same item ID are + provided. + - the provided code is not currently active. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the shipping item with the given item ID is + unknown for the basket. + - the provided code was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/agent: + put: + description: Marks a basket as an agent basket. + operationId: updateAsAgentBasket + summary: Designate a basket as an agent basket. + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains basket that is set as an agent basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPutAgent: + $ref: '#/components/examples/BasketPutAgent' + '400': + description: Marking this basket as an agent basket would exceed the open agent basket limit for the basket customer. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerBasketQuotaExceededException' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/billing-address: + put: + description: Sets the billing address of a basket. + operationId: updateBillingAddressForBasket + summary: Add a billing address to a basket. + parameters: + - $ref: '#/components/parameters/locale' + - $ref: '#/components/parameters/useAsShipping' + - $ref: '#/components/parameters/removeExternalTax' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderAddress' + examples: + BillingAddressPut: + $ref: '#/components/examples/BillingAddressPut' + required: true + responses: + '200': + description: Success, the response body contains basket with the added billing address. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BillingAddress: + $ref: '#/components/examples/examples-BillingAddressPut' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/coupons: + post: + description: Adds a coupon to an existing basket. + operationId: addCouponToBasket + summary: Add a coupon to a basket. + parameters: + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CouponItem' + examples: + CouponCodePost: + $ref: '#/components/examples/CouponCodePost' + required: true + responses: + '200': + description: Success, the response body contains the basket with the added coupon. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + CouponCodePost: + $ref: '#/components/examples/examples-CouponCodePost' + '400': + description: |- + Possible Reasons: + - the customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + - the coupon number is not provided. + - the coupon code specified is invalid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/coupons/{couponItemId}: + delete: + description: Removes a coupon from the basket. + operationId: removeCouponFromBasket + summary: Remove a coupon from a basket. + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket without the deleted coupon. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + Basket: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the couponItemId URL parameter does not match any + coupon item ID in the basket. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/couponItemId' + /organizations/{organizationId}/baskets/{basketId}/customer: + put: + description: Sets customer information for an existing basket. + operationId: updateCustomerForBasket + summary: Add shopper information to a basket. + parameters: + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerInfo' + examples: + BillingAddressPut: + $ref: '#/components/examples/CustomerPut' + required: true + responses: + '200': + description: Success, the response body contains the basket with the added customer information. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BillingAddress: + $ref: '#/components/examples/examples-CustomerPut' + '400': + description: |- + Possible reasons: + - the customer assigned to the basket does not match the verified + customer represented by the JSON Web Token (JWT). + - the customer cannot be set to the basket because the + max number of baskets per customer would be exceeded. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the customer with the given customer number is unknown. + - the basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/gift-certificate-items: + post: + description: Adds a gift certificate item to an existing basket. + operationId: addGiftCertificateItemToBasket + summary: Add a gift certificate to a basket. + parameters: + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificateItem' + examples: + GiftCertificateItemPost: + $ref: '#/components/examples/GiftCertPost' + responses: + '200': + description: Success, the response body contains the basket with the added gift certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + GiftCertPost: + $ref: '#/components/examples/examples-GiftCertPost' + '400': + description: The gift certificate item amount is negative. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the shipment with the given shipment ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/gift-certificate-items/{giftCertificateItemId}: + delete: + description: Deletes a gift certificate item from an existing basket. + operationId: removeGiftCertificateItemFromBasket + summary: Remove a gift certificate from a basket. + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket without the deleted gift certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the gift certificate item with the given gift certificate item ID is unknown. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + patch: + description: Updates a gift certificate item of an existing basket. + operationId: updateGiftCertificateItemInBasket + summary: Update gift certificate information for a basket. + parameters: + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificateItem' + examples: + GiftCertificateItemPost: + $ref: '#/components/examples/GiftCertPatch' + responses: + '200': + description: Success, the response body contains the basket with the updated gift certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + GiftCertPatch: + $ref: '#/components/examples/examples-GiftCertPatch' + '400': + description: The gift certificate item amount is negative. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the gift certificate item with the given gift certificate item ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/giftCertificateItemId' + /organizations/{organizationId}/baskets/{basketId}/items: + post: + description: |- + Adds new items to a basket. The added items are associated with the + specified shipment. If no shipment id is specified, the added items are associated with the default shipment. + Considered values from the request body, for each item are: + + - productId: a valid product ID. This is the ID of the product to be added to the basket. If the + product is already in the basket, the API either increments the quantity of the existing product line item or + creates a new product line item, based on the site preference 'Add Product Behavior'. For option products and + product bundles containing variation masters, the API creates a new product line item regardless of the site + preference. + - shipmentId: a valid shipment ID (optional). This is the ID of the shipment in which the product item + is created. + - quantity: a number between 0.01 and 999. This is the quantity of the product to order. + - inventoryId: a valid inventory ID (optional). This is the ID of the inventory from which the item is + allocated. + - bonusDiscountLineItemId: a valid bonus discount line item ID (optional). This is the ID of the + bonus discount line item for which the added product is a selected bonus product. + - optionItems/optionValueId: a valid option value ID. This is an option value for an option item of + an option product. This is only possible if the product item is an option + product. To set option values, you must specify a collection of option items in the optionItems + property. These option items must contain optionId and optionValueId. Also, + the values you specify must be valid for the option product that this product item represents. Otherwise, the + server throws an InvalidProductOptionItemException or an + InvalidProductOptionValueItemException. + - custom properties in the form c_: the custom property must correspond to a custom + attribute () defined for ProductLineItem. The value of this property must be valid for the + type of custom attribute defined for ProductLineItem. + operationId: addItemToBasket + summary: Add an item to a basket. + parameters: + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProductItem' + examples: + ItemPost: + $ref: '#/components/examples/ItemPost' + required: true + responses: + '200': + description: Success, the response body contains the basket with the added items. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the given product ID is null or invalid. + - the product with the given product ID is unknown, offline or + not assigned to site catalog or the given product item quantity is null or invalid. + - a null quantity value. + - the requested product quantity is not available. + - the product cannot be added to the basket because of its type. + - an option with the specified option ID is unknown. + - an option with the specified option value ID is + unknown. + - the maximum allowed number of products added to the basket, + has been exceeded. + - the customer assigned to the basket does not match the verified + customer represented by the JSON Web Token (JWT). + - the provided bonus discount line item ID is not + present in the current basket. + - the quantity of the product to be added will result in the + number of selected bonus choice products to exceed the amount that the user is permitted to select. + - the selected bonus product is not an applicable product for + the bonus discount line item provided. + body: + application/problem+json: + type: ErrorResponse + examples: + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/errors/bad-request-example.raml + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the basket does not contain a shipment with the given shipment ID. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + patch: + description: |- + Updates multiple items in a basket. This behaviour matches that of updating a + single item, but the body contains an array of ProductItems to be updated that are identified by `itemId`. + The items to update can include bundled product items, although the + kind of update supported for bundled product items is limited to `productId`, `gift`, `giftMessage` + and custom properties. + The following values in the request body are considered by the server: + + - `itemId` (mandatory): identifies an item to be updated. + - `productId`: a valid product ID. The purpose of this + value is to change the variation of a variation product. + - `shipmentId`: a valid shipment ID. The purpose of + this value is to move a product item to another shipment. + - `quantity`: a number between 0 and 999. The purpose of + this value is to change the quantity of the product item. If the quantity is 0, + the product item is removed. + - `optionItems`/`optionValueId`: a valid option value + ID. The purpose of this value is to exchange an option value for an + option item of an option product. + This is only possible if the product item is an option product. To change + option values, a collection of the option items to be changed must be + provided in the property `optionItems`. Those + `optionItems` must contain `optionId` + and `optionValueId`. The provided values must be valid + for the option product that this product item represents. Otherwise, + `InvalidProductOptionItemException` or + `InvalidProductOptionValueItemException` is thrown. + - custom properties `c_`: a + value corresponding to the type defined for custom attribute + `` of the ProductLineItem. The purpose of this value is to + add or change the value of a custom attribute defined for the + ProductLineItem. + - `gift`: a boolean value that specifies whether the item is a gift. + - `giftMessage`: a message to include with the gift. + operationId: updateItemsInBasket + summary: Update a basket item. + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProductItem' + examples: + ItemPatch: + $ref: '#/components/examples/ItemPatch' + required: true + responses: + '200': + description: Success, the response body contains the basket with the updated item. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - no product item with a given item ID was found for the basket. + - the product with the given product ID in the + request body is invalid. + - a null quantity value. + - an option with a specified option ID is unknown. + - an option with a specified option value ID is unknown. + - the given shipment ID is invalid. + - the customer assigned to the basket does not + match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: 'Possible reasons: basket not found' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/siteId' + /organizations/{organizationId}/baskets/{basketId}/items/{itemId}: + delete: + description: Removes a product item from the basket. + operationId: removeItemFromBasket + summary: Remove an item from a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket without the deleted item. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + patch: + description: |- + Updates an item in a basket. The item to be updated can be a bundled product item, although the + kind of update supported for bundled product items is limited to `productId` (to support + variation products), `gift`, `giftMessage` and custom properties. + The following values in the request body are considered by the server: + + - `productId`: a valid product ID. The purpose of this + value is to exchange a variation of a variation product. + - `shipmentId`: a valid shipment ID. The purpose of + this value is to move a product item to another shipment. + - `quantity`: a number between 0 and 999. The purpose of + this value is to change quantity of the product item. If quantity is 0, + the product item is removed. + - `optionItems`/`optionValueId`: a valid option value + ID. The purpose of this value is to exchange an option value for an + option item of an option product. + This is only possible if the product item is an option product. To change + option values a collection of option items to be changed need to be + provided in property optionItems. Those + optionItems need to contain optionId + and `optionValueId`. The provided values must be valid + for the option product that this product item represents. Otherwise, + `InvalidProductOptionItemException` or + `InvalidProductOptionValueItemException` is thrown. + - custom properties `c_`: a + value corresponding to the type defined for custom attribute + `` of ProductLineItem. The purpose of this value is to + add or change the value of a custom attribute defined for + ProductLineItem. + - `gift`: a boolean value that specifies whether the item is a gift + - `giftMessage`: a message for the gift + operationId: updateItemInBasket + summary: Update an item in a basket. + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProductItem' + examples: + ItemPatch: + $ref: '#/components/examples/ItemPatch' + required: true + responses: + '200': + description: Success, the response body contains the basket with the updated item. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - no product item with given item ID was found for the basket. + - the product with the given product ID in the + request body is invalid. + - a null quantity value. + - an option with the specified option id is unknown. + - an option with the specified option value id is unknown. + - the given shipment ID is invalid. + - the customer assigned to the basket does not. + match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - a shipment with it's given ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/items/{itemId}/taxes: + put: + description: This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for a specific taxable line item. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. + operationId: addTaxesForBasketItem + summary: Add taxation information for a basket item. + parameters: + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaxItems' + examples: + BasketItemTaxPut: + $ref: '#/components/examples/BasketItemTaxPut' + required: true + responses: + '204': + description: Success, without body. + '404': + description: |- + Possible reasons: + - The basket with the given basket ID is unknown. + - The item with the given item ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + '409': + description: |- + Possible Reasons: + - The tax mode of the referenced basket is not set to EXTERNAL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UnsupportedRequest: + $ref: '#/components/examples/UnsupportedRequest' + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/payment-instruments: + post: + description: Adds a payment instrument to a basket. + operationId: addPaymentInstrumentToBasket + summary: Add a payment instrument to a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BasketPaymentInstrumentRequest' + examples: + PaymentInstrumentPost: + $ref: '#/components/examples/PaymentInstrumentPost' + required: true + responses: + '200': + description: Success, the response body contains the basket with the added payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the provided payment method is invalid or not applicable. + - the customer assigned to the basket does not match the verified + customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/payment-instruments/{paymentInstrumentId}: + delete: + description: Removes a payment instrument of a basket. + operationId: removePaymentInstrumentFromBasket + summary: Remove a payment instrument from a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket without the deleted payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the payment instrument with the given basket payment + instrument ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + patch: + description: Updates payment instrument of an existing basket. + operationId: updatePaymentInstrumentInBasket + summary: Update a payment instrument for a basket. + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderPaymentInstrument' + examples: + PaymentInstrumentPatch: + $ref: '#/components/examples/PaymentInstrumentPatch' + required: true + responses: + '200': + description: Success, the response body contains the basket with the updated payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + PaymentInstrumentPatch: + $ref: '#/components/examples/examples-PaymentInstrumentPatch' + '400': + description: |- + Possible reasons: + - the provided payment method is invalid or not applicable. + - the basket payment intsrument with the given id is already permanently masked. + - The customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the payment instrument item with the given payment instrument ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/payment-methods: + get: + description: Gets applicable payment methods for an existing basket considering the open payment amount only. + operationId: getPaymentMethodsForBasket + summary: Retrieve payment instruments for a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the applicable payment methods for the basket. + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentMethodResult' + examples: + PaymentMethodsGet: + $ref: '#/components/examples/PaymentMethodsGet' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/price-adjustments: + post: + description: Adds a custom manual price adjustment to the basket. + operationId: addPriceAdjustmentToBasket + summary: Add a price adjustment to a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PriceAdjustmentRequest' + examples: + PriceAdjustmentPost: + $ref: '#/components/examples/PriceAdjustmentPost' + required: true + responses: + '200': + description: Success, the response body contains the basket with added price adjustment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + PriceAdjustmentPost: + $ref: '#/components/examples/examples-PriceAdjustmentPost' + '400': + description: |- + Possible reasons: + - a fixed price adjustment was already created for the given level. + - a fixed price adjustment was added at `order` level. + - a promotion ID was used twice. + - a system promotion ID was used as a manual promotion ID. + - more than one hundred price adjustments would have been created. + - the price adjustment limit had exceeded. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/price-adjustments/{priceAdjustmentId}: + delete: + description: Removes a custom manual price adjustment from the basket. + operationId: removePriceAdjustmentFromBasket + summary: Remove a price adjustment from a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket without the deleted price adjustment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: The priceAdjustmentId is missing, empty or whitespace. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + patch: + description: |- + Updates a custom manual price adjustment on the basket. Only the following path values are considered for the update; all other attributes are ignored. + - `discount` + - `itemText` + - `reasonCode` + - `custom properties` + The discount `type` of a price adjustment cannot be updated and therefore, the value of the existing type must be passed. For an adjustment of type `percentage`, the `percentage` attribute is mandatory. For adjustments of type `amount` and `fixed_price`, the `amount` attribute is mandatory. + operationId: updatePriceAdjustmentInBasket + summary: Update a price adjustment for a basket. + parameters: + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PriceAdjustment' + examples: + PriceAdjustmentPatch: + $ref: '#/components/examples/PriceAdjustmentPatch' + required: true + responses: + '200': + description: Success, the response body contains the basket with the updated price adjustment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + PriceAdjustmentPatch: + $ref: '#/components/examples/examples-PriceAdjustmentPatch' + '400': + description: |- + Possible reasons: + - the price adjustment is not manual and cannot be updated. + - the expected attributes are missing in the input. + - the type of a price adjustment does not match the adjustment type of the input data. + - the price adjustment limit is exceeded. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The price adjustment ID is not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PriceAdjustmentIdNotFoundException: + $ref: '#/components/examples/PriceAdjustmentIdNotFoundException' + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/priceAdjustmentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/price-books: + get: + description: "( DEPRECATED ) Gets applicable price books for an existing basket. This endpoint is deprecated. \nUse [Shopper Context](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-context?meta=Summary),\nhooks or `dw.catalog.PriceBookMgr#getApplicablePriceBooks()` instead." + operationId: getPriceBooksForBasket + summary: Retrieve price books for a basket. + parameters: + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success, the response body contains the priceBookIds for the basket. + content: + application/json: + schema: + $ref: '#/components/schemas/PriceBookIds' + examples: + PriceBooksGet: + $ref: '#/components/examples/PriceBooksGet' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + put: + description: "( DEPRECATED ) This method allows you to put an array of priceBookIds to an existing basket, which will be used for basket calculation. This endpoint is deprecated. \nUse [Shopper Context](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-context?meta=Summary), \nhooks or `dw.catalog.PriceBookMgr#setApplicablePriceBooks()` instead." + operationId: addPriceBooksToBasket + summary: Add price books to a basket. + parameters: + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PriceBookIds' + examples: + PriceBooksPut: + $ref: '#/components/examples/PriceBooksPut' + required: true + responses: + '204': + description: Success, without body. + '404': + description: The basket with the given basket ID is unknown or contains a price book ID that does not correspond to an existing price book. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments: + post: + description: |- + Creates a new shipment for a basket. + + The created shipment is initialized with values provided in the body + document and can be updated with further data API calls. Considered from + the body are the following properties if specified: + + - the ID + - the shipping address + - the shipping method + - gift boolean flag + - gift message + - custom properties + operationId: createShipmentForBasket + summary: Create a shipment for a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Shipment' + examples: + ShipmentsPost: + $ref: '#/components/examples/ShipmentsPost' + required: true + responses: + '200': + description: Success, the response body contains the basket with added shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsPost: + $ref: '#/components/examples/examples-ShipmentsPost' + '400': + description: |- + Possible reasons: + - a shipment id is not provided. + - a shipment with the provided ID already. + exists for the basket. + - a shipment with the provided shipment number + already exists for the basket. + - a shipping method with an ID was specified + which is not a valid shipping method ID. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + The basket with the given basket ID is + unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}: + delete: + description: |- + Removes a specified shipment and all associated product, gift certificate, + shipping, and price adjustment line items from a basket. + It is not allowed to remove the default shipment. + operationId: removeShipmentFromBasket + summary: Remove a shipment from a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket without the deleted shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the given shipment ID is invalid. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '403': + description: |- + The given shipment ID corresponds to the + default shipment and cannot be removed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/Forbidden' + '404': + description: |- + The basket with the given basket ID is + unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + patch: + description: |- + Updates a shipment for a basket. + + The shipment is initialized with values provided in the body + document and can be updated with further data API calls. Considered from + the body are the following properties if specified: + - the ID + - the shipping address + - the shipping method + - gift boolean flag + - gift message + - custom properties + operationId: updateShipmentForBasket + summary: Update a shipment for a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Shipment' + examples: + ShipmentsPatch: + $ref: '#/components/examples/ShipmentsPatch' + required: true + responses: + '200': + description: Success, the response body contains the basket with the updated shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsPatch: + $ref: '#/components/examples/examples-ShipmentsPatch' + '400': + description: |- + Possible reasons: + - the given shipment ID was invalid. + - a shipment with the provided ID already + exists for the basket. + - a shipment with the provided shipment number + already exists for the basket. + - a missing shipping method. + - an invalid shipping method. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-address: + put: + description: Sets a shipping address of a specific shipment of a basket. + operationId: updateShippingAddressForShipment + summary: Update the shipping address for a shipment. + parameters: + - $ref: '#/components/parameters/useAsBilling' + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderAddress' + examples: + ShipmentsAddressPut: + $ref: '#/components/examples/ShipmentsAddressPut' + required: true + responses: + '200': + description: Success, the response body contains the basket with the added shipping address. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsAddressPut: + $ref: '#/components/examples/examples-ShipmentsAddressPut' + '400': + description: |- + Possible reasons: + - the shipment with the given shipment ID is unknown. + - the customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-method: + put: + description: Sets a shipping method to a specific shipment of a basket. + operationId: updateShippingMethodForShipment + summary: Update the shipping method for a shipment. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ShippingMethod' + examples: + ShipmentsMethodPut: + $ref: '#/components/examples/ShipmentsMethodPut' + required: true + responses: + '200': + description: Success, the response body contains the basket with the added shipping method. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsMethodPut: + $ref: '#/components/examples/examples-ShipmentsMethodPut' + '400': + description: |- + Possible reasons: + - the id of the shipping method is missing. + - a shipping method with an ID was specified + which is not a valid shipping method ID. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-methods: + get: + description: Gets the applicable shipping methods for a certain shipment of a basket. + operationId: getShippingMethodsForShipment + summary: Retrieve the shipping methods for a shipment. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the applicable shipping methods for a certain shipment of the basket. + content: + application/json: + schema: + $ref: '#/components/schemas/ShippingMethodResult' + examples: + ShipmentsMethodGet: + $ref: '#/components/examples/ShipmentsMethodGet' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: |- + Possible reasons: + - The basket with the given basket ID is unknown. + - The shipment with the given shipment ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/storefront: + put: + description: Marks a basket as a storefront basket. + operationId: updateAsStorefrontBasket + summary: Designate a basket as a storefront basket. + parameters: + - $ref: '#/components/parameters/exchange' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains a basket that is set as a storefront basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPutStorefront: + $ref: '#/components/examples/BasketPutStorefront' + '400': + description: Thrown if a storefront basket already exists and the query parameter `exchange` is false. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerBasketQuotaExceededException: + $ref: '#/components/examples/CustomerBasketQuotaExceededException' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/siteId' + /organizations/{organizationId}/baskets/{basketId}/taxes: + get: + description: This method gives you the external taxation data set by the PUT taxes API. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. + operationId: getTaxesFromBasket + summary: Retrieve the external taxation information for a basket. + parameters: + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success, the response body contains the external taxation from all line items from the referenced basket. + content: + application/json: + examples: + PostBasketBody: + $ref: '#/components/examples/BasketTaxGet' + schema: + $ref: '#/components/schemas/Taxes' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + '409': + description: |- + Possible Reasons: + - The tax mode of the referenced basket is not set to EXTERNAL. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidTaxMode: + $ref: '#/components/examples/InvalidTaxMode' + UnsupportedRequest: + $ref: '#/components/examples/UnsupportedRequest' + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + put: + description: This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for all taxable line items. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. + operationId: addTaxesForBasket + summary: Add external taxation information to a basket. + parameters: + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Taxes' + examples: + BasketTaxPut: + $ref: '#/components/examples/BasketTaxPut' + required: true + responses: + '204': + description: Success, without body. + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + '409': + description: |- + Possible Reasons: + - The tax mode of the referenced basket is not set to EXTERNAL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UnsupportedRequest: + $ref: '#/components/examples/UnsupportedRequest' + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + ShopperTokenTaob: + type: oauth2 + description: "`ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. \nA token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`.\nTo get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). \nAfterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)).\nFor more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html).\n" + flows: + clientCredentials: + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + schemas: + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + CountryCode: + pattern: ^[A-Z][A-Z]$ + description: A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. + example: US + type: string + OrderAddress: + description: Document representing an order address. + properties: + address1: + description: The first address line. + example: 45 Main Rd. + type: string + address2: + description: The second address line. + example: Apartment 204 + type: string + city: + description: The city. + example: Boston + type: string + companyName: + description: The company name. + example: Salesforce + type: string + countryCode: + $ref: '#/components/schemas/CountryCode' + firstName: + description: The first name. + example: Max + type: string + fullName: + description: The full name. + example: Max Mustermann + type: string + id: + description: The ID of the address. + example: me + type: string + jobTitle: + description: The job title. + example: Software Engineer + type: string + lastName: + description: The last name. + example: Mustermann + type: string + phone: + description: The phone number. + example: '6175555555' + type: string + postBox: + description: The post office box. + example: PO BOX 109 + type: string + postalCode: + description: The postal code. + example: '05408' + type: string + salutation: + description: The salutation. + example: Mr + type: string + secondName: + description: The second name. + type: string + stateCode: + description: The state code. + example: MA + type: string + suffix: + description: The suffix. + example: Sr + type: string + suite: + description: The suite. + example: 24A + type: string + title: + description: The title. + example: Dr. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + ProductDetailsLink: + description: Document representing a link to the resource for product details. + properties: + productDescription: + description: The description of the product. + example: Nintendo DS revolutionizes handheld gameplay. + type: string + productId: + $ref: '#/components/schemas/ProductId' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + title: + description: The link title. + example: Nintendo DS Game Console + type: string + type: object + required: + - productId + additionalProperties: false + BonusDiscountLineItem: + description: Document representing a bonus discount line item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + bonusProducts: + description: The bonus products the customer can choose from. + type: array + items: + $ref: '#/components/schemas/ProductDetailsLink' + couponCode: + description: The coupon code that triggered the promotion, if applicable. + example: 5ties + type: string + id: + description: The ID of the line item. It is read only. + example: 91f4dd8bfa0653d58b7783b04f + type: string + maxBonusItems: + format: int32 + description: The maximum number of bonus items the user can select for this promotion. + type: integer + promotionId: + description: The ID of the promotion that triggered the creation of the line item. + example: Buy1Get2 + type: string + CouponItemId: + minLength: 1 + type: string + description: The coupon item ID + example: d4c9c0141e9c74c150225580f3 + CouponItem: + description: Document representing a coupon item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + code: + maxLength: 256 + description: The coupon code. + example: 5ties + type: string + couponItemId: + description: The coupon item ID. It is read only. + allOf: + - $ref: '#/components/schemas/CouponItemId' + statusCode: + description: The status of the coupon item. It is read only. + example: no_applicable_promotion + enum: + - coupon_code_already_in_basket + - coupon_code_already_redeemed + - coupon_code_unknown + - coupon_disabled + - redemption_limit_exceeded + - customer_redemption_limit_exceeded + - timeframe_redemption_limit_exceeded + - no_active_promotion + - coupon_already_in_basket + - no_applicable_promotion + - applied + - adhoc + type: string + valid: + description: |- + A flag indicating whether the coupon item is valid. A coupon line item is valid if + the status code is "applied" or "no_applicable_promotion". It is read only. + example: true + type: boolean + required: + - code + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + CustomerInfo: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: The customer information for guest or logged-in customers. + type: object + properties: + customerId: + maxLength: 100 + description: The customer ID. It is read only. + example: abMKqMaNYOBMnNdDNzyC5oNTi5 + type: string + customerName: + description: The customer name. + example: Max Mustermann + type: string + customerNo: + maxLength: 100 + description: The customer number. + example: '0002352' + type: string + email: + description: The customer's email address. + example: no-reply@salesforce.com + type: string + required: + - email + GiftCertificateItemId: + example: 629dea6e7b61e58da629b57b21 + type: string + minLength: 1 + GiftCertificateItem: + description: A gift certificate item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The gift certificate item amount. + example: 20 + type: number + giftCertificateItemId: + description: The item ID. It is read only. + allOf: + - $ref: '#/components/schemas/GiftCertificateItemId' + message: + maxLength: 4000 + description: The gift certificate message. + example: Birthday present. + type: string + recipientEmail: + minLength: 1 + description: The recipient email. + example: no-reply@salesforce.com + type: string + recipientName: + description: The recipient's name. + example: Daniel Mustermann + type: string + senderName: + description: The sender's name. + example: Max Mustermann + type: string + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + required: + - amount + - recipientEmail + GroupedTaxItem: + description: Document representing the grouped tax item. + type: object + properties: + taxRate: + description: The tax rate. It is read only. + type: number + format: double + example: 0.1 + taxValue: + description: The summed up tax total for the tax rate. It is read only. + type: number + format: double + example: 10.03 + additionalProperties: false + Discount: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: Document representing a discount. + type: object + properties: + amount: + format: double + description: The discount amount for discount types that define specific discount amounts. It is read only. + example: 130.88 + type: number + percentage: + format: double + description: The discount percent for discount types that define percentage discounts. It is read only. + example: 0.19 + type: number + priceBookId: + description: The price book ID that is used with some types. It is read only. + example: usd-sale-prices + type: string + type: + description: The type of discount. It is read only. + example: fixed_price + enum: + - percentage + - fixed_price + - amount + - free + - price_book_price + - bonus + - total_fixed_price + - bonus_choice + - percentage_off_options + type: string + required: + - type + PriceAdjustmentId: + example: ba248424e3eee797f062161f8b + type: string + PriceAdjustment: + description: |- + Document representing a price adjustment within a basket or order. Price adjustments + can be assigned at the order, product, or shipping level. + properties: + appliedDiscount: + description: |- + Details describing the discount this price adjustment is based on. For adjustments + not based on a discount, this value is null. + allOf: + - $ref: '#/components/schemas/Discount' + couponCode: + description: |- + The coupon code of the coupon this price adjustment is based on. For adjustments + not based on a coupon, this value is null. It is read only. + example: 5ties + type: string + createdBy: + description: The user who created the price adjustment. It is read only. + example: Support + type: string + creationDate: + description: The timestamp when the price adjustment was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + custom: + description: |- + A flag indicating whether this price adjustment was created by custom logic. This + flag is set to true unless the price adjustment was created by the promotion + engine. + example: true + type: boolean + itemText: + description: The text describing the item. + type: string + lastModified: + description: The timestamp when the price adjustment was last modified. It is read only. + example: '2021-02-25T09:58:08.715Z' + type: string + format: date-time + manual: + description: |- + A flag indicating whether this price adjustment was created by a manual process. + If the price adjustment was created by the promotion engine, this value is always + false. + example: true + type: boolean + price: + format: double + description: The adjustment price. It is read only. + example: 120.88 + type: number + priceAdjustmentId: + description: The price adjustment ID. It is read only. + allOf: + - $ref: '#/components/schemas/PriceAdjustmentId' + promotionId: + description: |- + The ID of the related promotion. Custom price adjustments + can be assigned any promotion ID so long it is not + used by a price adjustment belonging to the same item, + and is not used by a promotion defined in the promotion engine. + If not specified, a promotion ID is generated. + type: string + reasonCode: + description: The reason for the price adjustment. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + Status: + description: Document representing an object status. + properties: + code: + description: The status code. + type: string + message: + description: The status message. + type: string + status: + format: int32 + description: |- + The status. + For more information on the status values see Status.OK and Status.ERROR. + type: integer + type: object + additionalProperties: false + PaymentCard: + additionalProperties: false + description: Document representing a payment card. + type: object + properties: + cardType: + maxLength: 256 + description: The payment card type. + example: Visa + type: string + creditCardExpired: + description: A flag indicating if the credit card is expired. It is read only. + example: true + type: boolean + creditCardToken: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + example: E67TY8GQ27X + type: string + expirationMonth: + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + maxLength: 4000 + description: The masked payment card number. + example: '*********4422' + type: string + numberLastDigits: + maxLength: 4000 + description: The last digits of the payment card number. It is read only. + example: '4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month the payment card is valid from. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year the payment card is valid from. + example: 2015 + type: integer + PaymentInstrumentId: + description: The payment instrument ID + example: ba248424e3eee797f062162f8b + type: string + OrderPaymentInstrument: + description: Document representing an order payment instrument. + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + authorizationStatus: + description: The authorization status of the payment transaction. It is read only. + allOf: + - $ref: '#/components/schemas/Status' + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '12030000' + type: string + maskedGiftCertificateCode: + description: The gift certificate code with the last 4 characters not masked. + example: '******Gzzy' + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/PaymentCard' + paymentInstrumentId: + description: The payment instrument ID. It is read only. + allOf: + - $ref: '#/components/schemas/PaymentInstrumentId' + paymentMethodId: + maxLength: 256 + description: The payment method ID. It is read only. + example: CREDIT_CARD + type: string + type: object + ProductItem: + description: Document representing a product item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including + adjustments. If the taxation policy is net, it doesn't include tax. If the + taxation policy is gross, it includes tax. It is read only. + example: 130 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. + example: true + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. + example: inventory + type: string + itemId: + description: |- + The product item ID. Use it to identify this item when updating its quantity or + creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not + including order-level adjustments or shipping charges. If the taxation policy is + net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 20.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation + policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 15.5 + type: number + productId: + maxLength: 100 + description: The ID of the product. + example: nintendo-ds-console + type: string + productListItem: + description: |- + If this product line item was added from a product list, this value is a reference + to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A + related shipping item represents a surcharge applied to individual products using + a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax for the product item, not including price adjustments. It is read only. + example: 0.3 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this product item. It is read only. + example: 30 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.9 + type: number + ItemId: + description: The item id. + example: 430ef5aad3a24de59378458434 + type: string + OptionItem: + description: |- + An option item represents an optional purchase related to a product item, and is always associated with that parent product + item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + example: ba248414e3eee797f062162f8b + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. It is read only. + example: false + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: false + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. It is read only. + example: inventory + type: string + itemId: + description: The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + example: The item text. + type: string + optionId: + maxLength: 256 + description: The ID of the option. It is read only. + example: consoleWarranty + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + optionValueId: + maxLength: 256 + description: The ID of the option value. It is read only. + example: '000' + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + example: 150.99 + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not including order-level adjustments or + shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated order-level adjustments, but not + including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 40.5 + type: number + productId: + $ref: '#/components/schemas/ProductId' + productListItem: + description: If this product line item was added from a product list, this value is a reference to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The ordered quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A related shipping item represents a + surcharge applied to individual products using a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax on the line item before applying any adjustments. It is read only. + example: 0 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. It is read only. + example: 50 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.19 + type: number + required: + - optionId + - optionValueId + ProductListLink: + description: Document representing a link to a product list. + properties: + description: + description: The description of this product list. + type: string + name: + description: The name of this product list. + type: string + public: + description: |- + A flag indicating whether the owner made this product list available for access + by other customers. It is read only. + example: true + type: boolean + title: + description: The link title. + type: string + type: + description: The type of the product list. + example: shopping_list + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + type: string + type: object + additionalProperties: false + ProductListItemReference: + description: Document representing product list item details. + type: object + additionalProperties: false + properties: + id: + description: The ID of the product list item. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + priority: + format: int32 + description: The priority of the product list item. + example: 1 + type: integer + productDetailsLink: + $ref: '#/components/schemas/ProductDetailsLink' + productList: + description: A reference to the associated product list. It is read only. + allOf: + - $ref: '#/components/schemas/ProductListLink' + public: + example: false + type: boolean + purchasedQuantity: + format: double + description: The total quantity of this item purchased from the product list. + example: 0 + type: number + quantity: + minimum: 0 + format: double + description: The number of products or gift certificates that get shipped when purchasing this product list item. + example: 1 + type: number + type: + description: Specifies whether the item is a product or a gift certificate. + example: product + enum: + - product + - gift_certificate + type: string + required: + - id + ShipmentId: + minLength: 1 + type: string + example: me + description: The identifier of the shipment + ShippingPromotion: + description: Document representing a shipping promotion. + properties: + calloutMsg: + description: The localized callout message of the promotion. + example: $30 Fixed Shipping Amount Above 150 + type: string + promotionId: + description: The unique ID of the promotion. + example: $30FixedShippingAmountAbove150 + type: string + promotionName: + description: The localized promotion name. + example: $30 Fixed Shipping Amount Above 150 + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ShippingMethod: + description: Document representing a shipping method. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + description: + description: The localized description of the shipping method. + example: Order received within 7-10 business days + type: string + externalShippingMethod: + description: The external shipping method. + type: string + id: + maxLength: 256 + description: The shipping method ID. + example: '001' + type: string + name: + description: The localized name of the shipping method. + example: Ground + type: string + price: + format: double + description: |- + The shipping cost total, including shipment level costs, + product level fix, and surcharge costs. It is read only. + example: 15 + type: number + shippingPromotions: + description: |- + The array of active customer shipping promotions for this shipping + method. This array can be empty. + type: array + items: + $ref: '#/components/schemas/ShippingPromotion' + type: object + required: + - id + Shipment: + description: Document representing a shipment. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not including + service charges such as shipping. If the Discount Taxation preference is set to Tax Products and + Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + gift: + description: A flag indicating whether the shipment is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + merchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, not including price adjustments or service charges such as + shipping. It is read only. + example: 4.95 + type: number + productSubTotal: + format: double + description: |- + The total price of all products in the shipment, including item-level adjustments, but not including + order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If + the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + shipmentId: + description: The order-specific ID of the shipment. The default value is 'me'. + default: me + allOf: + - $ref: '#/components/schemas/ShipmentId' + shipmentNo: + description: The shipment number of this shipment. This number is automatically generated. It is read only. + type: string + shipmentTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments, shipping charges, + and tax. It is read only. + example: 39.99 + type: number + shippingAddress: + description: The shipping address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + shippingMethod: + $ref: '#/components/schemas/ShippingMethod' + shippingStatus: + description: The shipping status of the shipment. + example: shipped + enum: + - not_shipped + - shipped + type: string + shippingTotal: + format: double + description: |- + The total price of all shipping charges in the shipment, including shipping adjustments. If the + taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. + example: 0.3 + type: number + taxTotal: + format: double + description: |- + The total tax on the shipment, including item-level price adjustments and service charges such as + shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on + Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 1.8 + type: number + trackingNumber: + description: The tracking number of the shipment. + example: 1Z204E380338943508 + type: string + type: object + ShippingItem: + description: Document representing a shipping item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax for the shipping item, including price adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the shipping item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + itemId: + description: |- + The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a + custom price adjustment for it. It is read only. + example: 430ef5aad3a24de59378458434 + type: string + itemText: + description: The text describing the shipping item. + example: Shipping + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the shipping item including item-level adjustments, but not including order-level + adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + type: number + shipmentId: + description: The identifier of the shipment to which this item belongs. + allOf: + - $ref: '#/components/schemas/ShipmentId' + tax: + format: double + description: The tax on the product item, not including adjustments. It is read only. + example: 0.19 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this shipping item. It is read only. + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. + type: number + type: object + Basket: + description: Document representing a basket. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not + including service charges such as shipping. If the Discount Taxation preference is set to Tax + Products and Shipping Only Based on Adjusted Price, this amount also includes prorated + order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + agentBasket: + description: Is the basket created by an agent? It is read only. + example: true + type: boolean + basketId: + description: The unique identifier for the basket. It is read only. + example: e78aa5646a8efebdd9cdd38be7 + type: string + billingAddress: + description: The billing address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + bonusDiscountLineItems: + description: The bonus discount line items. + type: array + items: + $ref: '#/components/schemas/BonusDiscountLineItem' + channelType: + description: The sales channel. It is read only. + example: storefront + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + couponItems: + description: The coupon items. + type: array + items: + $ref: '#/components/schemas/CouponItem' + creationDate: + description: The timestamp when the basket was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + currency: + $ref: '#/components/schemas/CurrencyCode' + customerInfo: + description: The customer information, if the customer is logged in. + allOf: + - $ref: '#/components/schemas/CustomerInfo' + giftCertificateItems: + description: The gift certificate line items. + type: array + items: + $ref: '#/components/schemas/GiftCertificateItem' + groupedTaxItems: + description: |- + Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same + tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. + type: array + items: + $ref: '#/components/schemas/GroupedTaxItem' + inventoryReservationExpiry: + description: The expiration datetime of the inventory reservation. It is read only. + example: '2015-05-19T15:30:18.000Z' + type: string + format: date-time + lastModified: + description: The timestamp when the basket was last modified. It is read only. + example: '2015-05-19T15:25:18.000Z' + type: string + format: date-time + merchandizeTotalTax: + format: double + description: |- + The total products tax in the purchase currency. + Merchandise total price represents the sum of the product prices before + services (such as shipping) or adjustments from promotions have + been added. It is read only. + example: 4.95 + type: number + orderPriceAdjustments: + description: The order-level price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + orderTotal: + format: double + description: The total price, including products, shipping and tax. It is read only. + example: 110.24 + type: number + paymentInstruments: + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/OrderPaymentInstrument' + productItems: + description: The product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + productSubTotal: + format: double + description: |- + The total price of all products including item-level adjustments, but not including order-level adjustments or shipping + charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 88 + type: number + shipments: + description: The shipments. + type: array + items: + $ref: '#/components/schemas/Shipment' + shippingItems: + description: The shipping items. + type: array + items: + $ref: '#/components/schemas/ShippingItem' + shippingTotal: + format: double + description: |- + The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on all shipping charges, not including shipping adjustments. It is read only. + example: 0.3 + type: number + sourceCode: + description: The source code assigned to the basket. It is read only. + example: OUTDOOR1 + type: string + taxTotal: + format: double + description: The total tax amount. It is read only. + example: 5.25 + type: number + taxation: + description: The taxation policy (gross or net). It is read only. + example: net + enum: + - gross + - net + type: string + taxRoundedAtGroup: + description: If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. + example: true + type: boolean + temporaryBasket: + description: If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. + example: true + type: boolean + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + TaxItem: + description: Object representing the taxation. + properties: + id: + description: The taxation identifier. + type: string + rate: + format: double + description: The taxation rate. + example: 0.13 + type: number + value: + format: double + description: The tax amount. Will be computed if not set. + type: number + type: object + additionalProperties: false + required: + - id + - rate + TaxItems: + description: Taxation for a line item. + type: object + properties: + taxItems: + description: The list of tax items. It is read only. + type: array + items: + $ref: '#/components/schemas/TaxItem' + OrderPaymentCardRequest: + description: Document representing an order payment card request. + type: object + properties: + cardType: + maxLength: 256 + description: 'The payment card type (for example: Visa).' + example: Visa + type: string + creditCardToken: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + example: E67TY8GQ27X + type: string + expirationMonth: + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + pattern: ^[0-9 -]{0,7}\D{6,15}\d{0,4}$ + maxLength: 25 + description: The masked payment card number. + example: '*********4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month the payment card is valid from. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year the payment card is valid from. + example: 2019 + type: integer + BasketPaymentInstrumentRequest: + description: Document representing a basket payment instrument request. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '12030000' + type: string + giftCertificateCode: + maxLength: 256 + description: The gift certificate code. + example: AFGRTUZ + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/OrderPaymentCardRequest' + paymentMethodId: + maxLength: 256 + description: The payment method ID. + example: CREDIT_CARD + type: string + PaymentCardSpec: + description: Document representing the specification for a payment card. + type: object + properties: + cardType: + description: The payment card type. It is read only. + example: Visa + type: string + checksumVerificationEnabled: + description: A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. + example: true + type: boolean + description: + description: The localized description of the payment card. It is read only. + type: string + image: + description: The URL to the image that represents the payment card. It is read only. + type: string + name: + description: The localized name of the payment card. It is read only. + type: string + numberLengths: + description: |- + The sorted list of number lengths (individual lengths as well as + length ranges). It is read only. + type: array + items: + type: string + numberPrefixes: + description: |- + The sorted list of number prefixes (individual prefixes as well + as prefix ranges). It is read only. + type: array + items: + type: string + securityCodeLength: + format: int32 + description: The length of the security code for this card. It is read only. + type: integer + PaymentMethod: + description: Document representing a payment method. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + cards: + description: The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. + type: array + items: + $ref: '#/components/schemas/PaymentCardSpec' + description: + description: The localized description of the payment method or card. It is read only. + type: string + id: + maxLength: 256 + description: The ID of the payment method or card. It is read only. + type: string + image: + description: The URL to the image that represents the payment method or card. It is read only. + type: string + name: + description: The localized name of the payment method or card. It is read only. + type: string + paymentProcessorId: + description: The payment processor ID. It is read only. It is read only. + type: string + required: + - id + PaymentMethodResult: + description: Result document of payment methods applicable for a basket. + properties: + applicablePaymentMethods: + description: The applicable payment methods. It is read only. + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + type: object + DiscountRequest: + description: Request that represents a discount to be applied to a custom price adjustment. + type: object + additionalProperties: false + properties: + type: + description: |- + The type of discount. + - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. + - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. + - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. + example: percentage + enum: + - percentage + - fixed_price + - amount + type: string + value: + format: double + description: The amount of the discount. + example: 20 + type: number + required: + - type + - value + PriceAdjustmentRequest: + description: Request that represents a price adjustment. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + discount: + description: A discount that can be specified instead of a price. + allOf: + - $ref: '#/components/schemas/DiscountRequest' + itemId: + description: The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. + example: 93196fae953cbedbe54d67e760 + type: string + itemText: + description: The text describing the item in more detail. + example: A discounted item + type: string + level: + description: |- + The level at which the adjustment is applied. + - `order` indicates that the price adjustment should be added directly to basket. + - `product` indicates that the price adjustment should be added to the product item. + - `shipping` indicates that the price adjustment is added to the shipping item. + example: order + enum: + - product + - shipping + - order + type: string + promotionId: + description: The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. + example: Shipping100 + type: string + reasonCode: + description: The reason for the price adjustment. + example: Shipping promotion on order above $1,000 USD + type: string + required: + - level + PriceBookIds: + maxItems: 10 + description: Array of price book IDs to use for the basket calculation. + type: array + items: + maxLength: 256 + type: string + ShippingMethodResult: + description: Result document containing shipping methods. + properties: + applicableShippingMethods: + description: The applicable shipping method documents. It is read only. + type: array + items: + $ref: '#/components/schemas/ShippingMethod' + defaultShippingMethodId: + description: The default shipping method. It is read only. + example: me + type: string + type: object + Taxes: + description: Document representing the tax rates and (optionally) amounts for all items in a basket. + properties: + taxes: + description: 'Map containing the TaxItems for the line item ids: Map' + type: object + additionalProperties: + $ref: '#/components/schemas/TaxItems' + type: object + required: + - taxes + additionalProperties: false + parameters: + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + taxMode: + name: taxMode + in: query + description: "Determines how taxes are calculated. \n\nThe default value is `internal` where the tax calculation is done automatically based on internal tax tables. Setting `taxMode` to `external` allows manual modification of the tax rates and values. \nExternal tax data is mandatory for product line items, option line items, shipping line items, coupon line items, and bonus discount line item. \nGift certificate line items are optional and use zero tax rate by default, which can be overwritten. Price adjustments cannot be set because they are either calculated or inherited. \nDepending on the type, the tax rate is either obtained from the related line item or computed as a prorate of the basket." + schema: + default: internal + enum: + - internal + - external + type: string + example: external + temporary: + name: temporary + in: query + description: If set to true, the basket created is a temporary basket. + schema: + default: false + type: boolean + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + overrideExisting: + name: overrideExisting + in: query + description: |- + If the current shopper has no active basket, this parameter is ignored. If the current shopper has an active basket, this parameter controls the behavior: + - `false` (default): Return a BasketTransferException (HTTP status 409). The basket owner doesn't change. + - `true`: Force the transfer by deleting the current shopper's active basket and making the current shopper the owner of the previous shopper's basket. Returns the transferred basket (HTTP status 200). + schema: + default: false + type: boolean + example: false + createDestinationBasket: + name: createDestinationBasket + in: query + description: |- + If the current shopper has an active basket, this parameter is ignored. If the current shopper has no active basket, this parameter controls the behavior: + - `false` (default): Return a BasketMergeException (HTTP status 409). + - `true`: Force the merge by creating a basket for the current shopper and copying information from the previous shopper's basket into it. Return success (HTTP status 200). + schema: + default: false + type: boolean + productItemMergeMode: + name: productItemMergeMode + in: query + description: |- + This parameter controls the quantity calculation for products that exist in both baskets. + - higher_quantity (default): Compare the product's quantities in each basket, and use the higher value. + - sum_quantities: Use the sum of the product's quantities from both baskets. + - saved_quantity: Use the product's quantity in the current shopper's active basket. Ignore the quantity from the previous shopper's basket. + - separate_item: Add a separate product item to the current shopper's basket for the quantity in the previous shopper's basket. + schema: + default: higher_quantity + enum: + - higher_quantity + - sum_quantities + - saved_quantity + - separate_item + type: string + basketId: + name: basketId + in: path + required: true + schema: + minLength: 1 + type: string + description: The ID of the basket to be modified. + removeExternalTax: + name: removeExternalTax + in: query + description: 'If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the `currency` triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values.' + schema: + default: true + type: boolean + useAsShipping: + name: useAsShipping + in: query + schema: + type: boolean + couponItemId: + name: couponItemId + in: path + required: true + schema: + $ref: '#/components/schemas/CouponItemId' + description: The ID of the coupon item. + giftCertificateItemId: + name: giftCertificateItemId + in: path + required: true + schema: + $ref: '#/components/schemas/GiftCertificateItemId' + description: the ID of the gift certificate item to be updated. + itemId: + name: itemId + in: path + required: true + schema: + $ref: '#/components/schemas/ItemId' + description: The ID of the item to be updated. + paymentInstrumentId: + name: paymentInstrumentId + in: path + required: true + schema: + $ref: '#/components/schemas/PaymentInstrumentId' + priceAdjustmentId: + name: priceAdjustmentId + in: path + required: true + schema: + $ref: '#/components/schemas/PriceAdjustmentId' + shipmentId: + name: shipmentId + in: path + required: true + schema: + $ref: '#/components/schemas/ShipmentId' + description: The ID of the shipment to be modified. + useAsBilling: + name: useAsBilling + in: query + schema: + type: boolean + exchange: + name: exchange + in: query + description: If true, an existing storefront basket is exchanged and marked as an agent basket. If false, a `CustomerBasketsQuotaExceededException` is thrown. + schema: + type: boolean + examples: + BasketPost: + value: + customerInfo: + email: shopper@salesforce-test.com + customerNo: '000000001' + billingAddress: + firstName: Stephanie + lastName: Miller + address1: 104 Presidential Way + city: Woburn + postalCode: '01801' + stateCode: MA + countryCode: US + shipments: + - shippingMethod: + id: '001' + shippingAddress: + firstName: Agustin + lastName: Estes + address1: 4162 Turkey Pen Road + city: New York + postalCode: '10016' + stateCode: NY + countryCode: US + paymentInstruments: + - paymentMethodId: CREDIT_CARD + paymentCard: + cardType: Visa + couponItems: + - code: 5ties + productItems: + - productId: green-umbrella + quantity: 3 + examples-BasketPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + BadRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + title: Bad Request + detail: Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'. + CustomerBasketQuotaExceededException: + value: + title: Customer Baskets Quota Exceeded + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-baskets-quota-exceeded + detail: The maximum number of baskets per customer was exceeded. Please reuse or delete one of the existing baskets (40e91e04aba6e42a6836f79308). + basketIds: 40e91e04aba6e42a6836f79308 + TemporaryBasketQuotaExceededException: + value: + title: Customer Temporary Baskets Quota Exceeded, + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-temporary-baskets-quota-exceeded + detail: The maximum number of temporary baskets per customer was exceeded. Please reuse or delete one of the existing temporary baskets (40e91e04aba6e42a6836f79308, 73ca0f0860a67df946782c2688). + basketIds: 40e91e04aba6e42a6836f79308, 73ca0f0860a67df946782c2688 + ShipmentNotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found + title: Shipment Not Found + detail: The shipping method with ID '123' is unknown or can't be applied to the basket. + ForbiddenMissingPrevCustomerInfo: + value: + title: Forbidden + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden + detail: Your access-token is valid, but it contains no previous customer to process this action. + SourceBasketException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/no-source-basket-exception + title: Conflict + detail: The previous customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has no active basket. + BasketTransferException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-transfer-basket-already-exists-exception + title: Conflict + detail: The current customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has an active basket. + BasketMergeException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-merge-no-current-basket-exception + title: Conflict + detail: The current customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has no active basket. + BasketGet: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + CustomerInfoJwtMismatch: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + title: Bad Request + detail: The customer is invalid. + BasketNotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found + title: Basket Not Found + detail: No basket with ID '123' could be found. + BasketPatch: + value: + c_textValue: oak + examples-BasketPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: 7800e0f611dac6caf77afb9df9 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:53:30.993Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:53:35.747Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 2b76b8644eb6da43e7e223b48d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 43c38652bc3844e14cd482ff28 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: b4ff13039bc7abd1b9d933b871 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 193e99bc1205b870cebd36d970 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: ac7a3b62dc1df8de898d7a2141 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + c_textValue: oak + BasketPutAgent: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: true + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + BillingAddressPut: + value: + firstName: Stephanie + lastName: Miller + address1: 385 Prospect Valley Road + city: Woburn + postalCode: '01801' + stateCode: MA + countryCode: US + examples-BillingAddressPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 385 Prospect Valley Road + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: 7800e0f611dac6caf77afb9df9 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:53:30.993Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:53:35.747Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 2b76b8644eb6da43e7e223b48d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 43c38652bc3844e14cd482ff28 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: b4ff13039bc7abd1b9d933b871 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 193e99bc1205b870cebd36d970 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: ac7a3b62dc1df8de898d7a2141 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + CouponCodePost: + value: + code: 10_percent_off + examples-CouponCodePost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + - code: 10_percent_off + couponItemId: 9372d0f511dac8caf77afc4kj2 + statusCode: applied + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + CustomerPut: + value: + email: shopperUpdate@salesforce-test.com + examples-CustomerPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopperUpdate@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + GiftCertPost: + value: + amount: 1 + recipientEmail: miller@salesforce-test.com + shipmentId: me + examples-GiftCertPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopperUpdate@salesforce-test.com + giftCertificateItems: + - amount: 2 + giftCertificateItemId: 83726a8351540534af93f3b15f + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + GiftCertPatch: + value: + amount: 1 + recipientEmail: miller@salesforce-test.com + examples-GiftCertPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopperUpdate@salesforce-test.com + giftCertificateItems: + - amount: 1 + giftCertificateItemId: 83726a8351540534af93f3b15f + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + ItemPost: + value: + - productId: green-bag + quantity: 1 + ItemPatch: + value: + quantity: 1 + BasketItemTaxPut: + value: + taxItems: + - id: DE_7 + rate: 0.07 + value: 13.99 + - id: DE_19 + rate: 0.19 + UnsupportedRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled + title: Unsupported Request If SCAPI Hooks Enabled + detail: You can't call this endpoint because Salesforce Commerce API hook execution is enabled. + PaymentInstrumentPost: + value: + amount: 1 + paymentCard: + expirationYear: 1990 + expirationMonth: 7 + validFromMonth: 8 + validFromYear: 2007 + issueNumber: i117 + maskedNumber: '*********1234' + holder: Miller + cardType: Visa + paymentMethodId: CREDIT_CARD + PaymentInstrumentPatch: + value: + amount: 0 + paymentCard: + holder: Miller + cardType: Visa + paymentMethodId: CREDIT_CARD + examples-PaymentInstrumentPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + holder: Miller + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + PaymentMethodsGet: + value: + applicablePaymentMethods: + - id: GIFT_CERTIFICATE + name: Gift Certificate + paymentProcessorId: BASIC_GIFT_CERTIFICATE + - cards: + - cardType: Visa + checksumVerificationEnabled: true + name: Visa + numberLengths: + - '13' + - '16' + numberPrefixes: + - '4' + - cardType: Amex + checksumVerificationEnabled: true + name: American Express + numberLengths: + - '15' + numberPrefixes: + - '34' + - '37' + - cardType: Master Card + checksumVerificationEnabled: true + name: MasterCard + numberLengths: + - '16' + numberPrefixes: + - 51-55 + - cardType: Discover + checksumVerificationEnabled: true + name: Discover + numberLengths: + - '16' + numberPrefixes: + - '6011' + - 622126-622925 + - 644-649 + - '65' + id: CREDIT_CARD + name: Credit Card + paymentProcessorId: BASIC_CREDIT + - id: PayPal + name: Pay Pal + paymentProcessorId: PAYPAL_EXPRESS + - id: BML + name: Bill Me Later + paymentProcessorId: CYBERSOURCE_BML + PriceAdjustmentPost: + value: + discount: + value: 5 + type: percentage + itemText: MyOrderAdjustment + level: order + promotionId: manual adjustment + examples-PriceAdjustmentPost: + value: + adjustedMerchandizeTotalTax: 28.45 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderPriceAdjustments: + - appliedDiscount: + amount: 0.05 + percentage: 5 + type: percentage + createdBy: testAgent + creationDate: '2015-05-25T09:13:10.942Z' + custom: true + itemText: MyOrderAdjustment + manual: true + price: -30 + promotionId: manual adjustment + priceAdjustmentId: cdzoAiWbOmbiUaaadlfSpMDgNw + orderTotal: 615.21 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 569.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 569.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 569.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + PriceAdjustmentPatch: + value: + appliedDiscount: + amount: 15 + type: amount + itemText: AgentOrderAdjustment + reasonCode: override manual promo + examples-PriceAdjustmentPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderPriceAdjustments: + - appliedDiscount: + amount: 15 + type: amount + createdBy: testWapiAgent + creationDate: '2017-03-14T09:15:35.543Z' + custom: true + itemText: MyOrderAdjustment + lastModified: '2017-03-14T09:15:35.594Z' + manual: true + price: -15 + priceAdjustmentId: e397cd21f9a9c0643277ba1011 + promotionId: manual adjustment + reasonCode: override manual promo + orderTotal: 631.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + PriceAdjustmentIdNotFoundException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/price-adjustment-not-found + title: Price Adjustment Not Found + detail: No price adjustment with ID '453599643347eac5e4ebd85b49' could be found. + PriceBooksGet: + value: + - price-book-id1 + - price-book-id2 + PriceBooksPut: + value: + - price-book-id1 + - price-book-id2 + ShipmentsPost: + value: + shipmentId: me2 + shippingMethod: + id: '001' + shippingAddress: + firstName: Stephanie + lastName: Miller + address1: 385 Prospect Valley Road + city: Woburn + postalCode: '01801' + stateCode: MA + countryCode: US + examples-ShipmentsPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + shippingMethod: + description: Order received in 2 business days + id: '002' + name: 2-Day Express + price: 20.99 + shippingStatus: not_shipped + shippingTotal: 20.99 + shippingTotalTax: 1.05 + taxTotal: 36.05 + - adjustedMerchandizeTotalTax: 35 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 35 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me2 + shipmentTotal: 646.76 + shippingAddress: + address1: 385 Prospect Valley Road + city: Woburn + stateCode: MA + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 84f06786daa68ae33af7e21ec6 + lastName: Miller + shippingMethod: + description: Order received in 2 business days + id: '001' + name: 2-Day Express + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 35 + shippingItems: + - adjustedTax: 1.05 + basePrice: 20.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 20.99 + priceAfterItemDiscount: 20.99 + shipmentId: me + tax: 1.05 + taxBasis: 20.99 + taxClassId: standard + taxRate: 0.05 + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: 6fea9966277c94e06b482a5c43 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 36.98 + shippingTotalTax: 1.35 + taxation: net + taxTotal: 36.35 + Forbidden: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden + title: Forbidden + detail: The shipment with ID 'me' corresponds to the default shipment and can't be deleted. + ShipmentsPatch: + value: + shipmentId: me + shipmentNo: ignored shipment no + shippingMethod: + id: '003' + shippingAddress: + firstName: Ward J + lastName: Adamek + address1: 4911 Lincoln Street + city: IDANHA + postalCode: '97350' + stateCode: OR + countryCode: US + c_wapi-string: shipment_custom_property + examples-ShipmentsPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + shippingMethod: + description: Order received in 2 business days + id: '002' + name: 2-Day Express + price: 20.99 + shippingStatus: not_shipped + shippingTotal: 20.99 + shippingTotalTax: 1.05 + taxTotal: 36.05 + shippingItems: + - adjustedTax: 1.05 + basePrice: 20.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 20.99 + priceAfterItemDiscount: 20.99 + shipmentId: me + tax: 1.05 + taxBasis: 20.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 20.99 + shippingTotalTax: 1.05 + taxation: net + taxTotal: 36.05 + ShipmentsAddressPut: + value: + firstName: Ward J + lastName: Adamek + address1: 4911 Lincoln Street + city: IDANHA + postalCode: '97350' + stateCode: OR + countryCode: US + examples-ShipmentsAddressPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + postalCode: '97350' + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + stateCode: OR + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + ShipmentsMethodPut: + value: + id: '003' + examples-ShipmentsMethodPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + postalCode: '97350' + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + stateCode: OR + shippingMethod: + description: Order received the next business day + id: '003' + name: Overnight + price: 29.99 + shippingStatus: not_shipped + shippingTotal: 29.99 + shippingTotalTax: 1.5 + taxTotal: 36.5 + shippingItems: + - adjustedTax: 1.5 + basePrice: 29.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 29.99 + priceAfterItemDiscount: 29.99 + shipmentId: me + tax: 1.5 + taxBasis: 29.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 29.99 + shippingTotalTax: 1.5 + taxation: net + taxTotal: 36.5 + ShipmentsMethodGet: + value: + applicableShippingMethods: + - description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + - description: Order received in 2 business days + id: '002' + name: 2-Day Express + price: 20.99 + - description: Order received the next business day + id: '003' + name: Overnight + price: 29.99 + - description: Store Pickup + id: '005' + name: Store Pickup + price: 0 + c_storePickupEnabled: true + defaultShippingMethodId: '001' + BasketPutStorefront: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: callcenter + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + BasketTaxGet: + value: + taxes: + 3d4e28425ce0b3a65b0ac4e163: + taxItems: + - id: DE_7 + rate: 0.07 + value: 13.99 + - id: DE_19 + rate: 0.19 + ff9452ed11fcf5c80f9143a8f1: + taxItems: + - id: US_1 + rate: 0.01 + - id: US_5 + rate: 0.05 + InvalidTaxMode: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode + title: Invalid Tax Mode + detail: Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode. + BasketTaxPut: + value: + taxes: + 3d4e28425ce0b3a65b0ac4e163: + taxItems: + - id: DE_7 + rate: 0.07 + value: 13.99 + - id: DE_19 + rate: 0.19 + ff9452ed11fcf5c80f9143a8f1: + taxItems: + - id: US_1 + rate: 0.01 + - id: US_5 + rate: 0.05 +x-sdk-classname: ShopperBasketsV2 diff --git a/apis/shopper-baskets-oas/shopper-baskets-oas-2.0.14/shopper-baskets-oas-v2-public.yaml b/apis/shopper-baskets-oas/shopper-baskets-oas-2.0.14/shopper-baskets-oas-v2-public.yaml new file mode 100644 index 00000000..696e9179 --- /dev/null +++ b/apis/shopper-baskets-oas/shopper-baskets-oas-2.0.14/shopper-baskets-oas-v2-public.yaml @@ -0,0 +1,6574 @@ +openapi: 3.0.3 +info: + title: Shopper Baskets + version: v2 + description: |- + # API Overview + + Shopper Baskets V2 provides all Shopper Basket V1 functionality and adds support for temporary baskets. + Temporary baskets can perform calculations to generate totals, line items, promotions, and item availability without affecting the shopper’s storefront cart, and you can use those calculations for temporary basket checkout. You can also use a temporary basket for an immediate order request. + + **Note**: `dw.ocapi.shop.basket.beforePOST` hook is no longer supported and is replaced by the `dw.ocapi.shop.basket.beforePOST_v2` hook. + + Use the Shopper Baskets API to create a basket in the B2C Commerce system and populate it with all the data required to ready the basket for checkout. + + To create a basket, start with the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets-v2?meta=createBasket) endpoint. The endpoint creates the basket in the B2C Commerce system and returns a JSON representation of the basket with a `basketId` property. + + If you provide the JSON for a prepopulated basket to the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets-v2?meta=createBasket) endpoint, you can create a basket using a single API request. + + You can also create a basket and gradually populate it with data using subsequent API requests that reference the same `basketId`. The gradual approach allows you to validate the input data as you go. + + The Shopper Baskets API includes endpoints to populate each part of a basket separately, including: + + - Billing address + - Customer information + - Line items + - Products + - Coupons + - Gift certificates + - Payment methods + - Price books + - Shipments + - Taxation (for items and the basket itself) + + In addition to creating a basket, the main `/baskets` resource offers endpoints to get, transfer, merge, and delete baskets, depending on the HTTP method that you use and the parameters that you supply. These endpoints can you help you handle a variety of complex scenarios, such as when a user starts shopping as a guest and then logs in before checkout. + + You can also use the main `/baskets` resource to add custom properties to your basket, prefixed with `c_` (example: `c_faxNumber`). + + When your basket is fully populated, you can use its `basketId` property to create an order with the [Shopper Orders API](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-orders?meta=Summary). + + For more detail on building baskets, see [Build Baskets and Place Orders](https://developer.salesforce.com/docs/commerce/commerce-api/guide/work-with-baskets-orders.html). + + ## Authentication & Authorization + + The client requesting the basket information must have access to the `/baskets` resource. The Shopper Baskets API requires a shopper access token from the Shopper Login and API Access Service (SLAS). + + For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + + The following resources require an Account Manager OAuth token with a client ID: + + - `/baskets/{basketId}/taxes` + - `/baskets/{basketId}/items/{itemId}/taxes` + - `/baskets/{basketId}/price-books` + + ## Use Cases + + ### Use Hooks + + For details on working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) + + ## Basket Calculation + + Unless you’re using [hooks](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html), each modification to a basket triggers the following calculations: + + 1. Calculate product prices: + - Iterate through the product line items and determine the base price of each using its price model. If multiple price books apply to a product, the lowest price is used. + - Calculate product option line item prices using the product option model. + - For bonus products, check dependent adjustments in the basket to determine the price. + 2. Iterate through the gift certificate line items and calculate the price of each by multiplying the base price by the quantity. + 3. Recalculate for all promotions, adding and removing them as appropriate. + 4. Apply product-specific shipping costs. + 5. Calculate the total shipping cost. + 6. Recalculate for all promotions, adding and removing them as appropriate. + 7. Calculate prices for products added by the promotion engine. + 8. Calculate taxes using line item tax class codes. + - For internal tax mode, use the tax tables. + - For external tax mode, use the tax rates returned by the tax API endpoints. + 9. Calculate the order’s net, tax, and gross totals by adding up the line totals. + + ## External Taxation + + The B2C Commerce API calculates taxes internally using tax tables. If you want to integrate with a third-party tax provider, or calculate tax on your own, you can use the external taxation feature to add a taxation rate and optional taxation value. When setting a taxation rate, the taxation is calculated for this specific rate. If you pass a value, this value is used as taxation value, as well, without recalculation. To use this feature, set the `taxMode` parameter to `external` when creating the basket. + + When using external taxation, you must set a tax rate either in one request to the `/baskets/{basketId}/taxes` or with separate requests for each line item, using `/baskets/{basketId}/items/{lineItemId}/taxes`. + + If the tax mode of a basket is set to `external`, a tax item is required for all line items even for zero-tax items to avoid oversights. + + ### External Taxation with Hooks Enabled + + To use external tax calculation with [hooks](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html), use the following API methods in the [Calculate Hook](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html#calculate-hook): + - `dw.order.LineItemCtnr#isExternallyTaxed`: Returns true if the basket was created with `taxMode = external` + - `dw.order.TaxMgr#applyExternalTax`: Applies externally set tax rates to the given basket. Only use when `dw.order.LineItemCtnr#isExternallyTaxed` returns true. + + The following example shows an implementation of external tax calculation with hooks enabled in the [Calculate Hook](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html#calculate-hook): + + exports.calculate = function (basket) { + if ( basket.isExternallyTaxed() ) + { + TaxMgr.applyExternalTaxation( basket ); // apply the external tax calculation based on the tax rates set by the SCAPI external taxation APIs + } + else + { + // calculation with tax tables or customization + } + } + + ## Temporary Baskets + + A temporary basket is populated with all the data required to ready the basket for checkout, but differs from a shopper basket in the following ways: + - Basket lifetime is limited to 15 minutes. + - The shopper can have up to 10 (default 4) temporary baskets, which can be configured via Basket Preferences (Sites -> Merchant Tools -> Basket Preferences) and specifying the preference **Temporary Baskets per Customer**. + - Available to all shoppers (guest and registered shoppers), as well as agents. + + To create a temporary basket, set the `temporary` parameter to `true` with the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets-v2?meta=createBasket) endpoint. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-baskets/v2 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/baskets: + post: + description: |- + Creates a new basket. + + The created basket is initialized with default values. Optional JSON data provided in the request body is populated into the created basket. It can be updated with other endpoints offered by the Shopper Baskets API. + + Each customer can have just one open basket. When a basket is created, it is said to be open. It remains open until either an order is created from it or it is deleted. + operationId: createBasket + summary: Create a new basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/taxMode' + - $ref: '#/components/parameters/temporary' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + PostBasketBody: + $ref: '#/components/examples/BasketPost' + required: true + responses: + '200': + description: The initialized basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the provided payment method is invalid or not applicable. + - the customerId URL parameter does not match the verified customer + represented by the JSON Web Token (JWT). + - a new basket cannot be created because the maximum number + of baskets per customer would be exceeded. + - a new temporary basket cannot be created because the maximum number + of temporary baskets per customer would be exceeded. + - the same shipment ID appeared twice in the body. + - the coupon number is not provided. + - a fixed price adjustment was added at order level which is disallowed. + - a promotion ID was used twice, while attempting to add a price adjustment. + - a system promotion ID was used as a manual promotion ID, while attempting to add a price adjustment. + - more than one hundred price adjustments would have been created. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + CustomerBasketQuotaExceededException: + $ref: '#/components/examples/CustomerBasketQuotaExceededException' + TemporaryBasketQuotaExceededException: + $ref: '#/components/examples/TemporaryBasketQuotaExceededException' + '404': + description: Thrown if the shipment with the given shipment ID is unknown. + content: + application/problem+json: + examples: + ShipmentNotFound: + $ref: '#/components/examples/ShipmentNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + /organizations/{organizationId}/baskets/actions/transfer: + post: + description: |- + Transfer the previous shopper's basket to the current shopper by updating the basket's owner. No other values change. You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token. + + A success response contains the transferred basket. + + If the current shopper has an active basket, and the `overrideExisting` request parameter is `false`, then the transfer request returns a BasketTransferException (HTTP status 409). You can proceed with one of these options: + - Keep the current shopper's active basket. + - Merge the previous and current shoppers' baskets by calling the `baskets/merge` endpoint. + - Force the transfer by calling the `baskets/transfer` endpoint again, with the parameter `overrideExisting=true`. Forcing the transfer deletes the current shopper's active basket. + operationId: transferBasket + summary: Transfer an existing basket. + parameters: + - $ref: '#/components/parameters/overrideExisting' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: The transferred basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '403': + description: The call returns this error if no SLAS token for a registered shopper is available. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ForbiddenMissingPrevCustomerInfo: + $ref: '#/components/examples/ForbiddenMissingPrevCustomerInfo' + '409': + description: |- + The call returns this response in either of these cases: + - The previous shopper has no active basket. + - The current shopper has an active basket and the `overrideExisting` query parameter was `false` (default value). + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SourceBasketException: + $ref: '#/components/examples/SourceBasketException' + BasketTransferException: + $ref: '#/components/examples/BasketTransferException' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + /organizations/{organizationId}/baskets/actions/merge: + post: + description: |- + Merge data from the previous shopper's basket into the current shopper's active basket and delete the previous shopper's basket. This endpoint doesn't merge Personally Identifiable Information (PII). You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token. After the merge, all basket amounts are recalculated and totaled, including lookups for prices, taxes, shipping, and promotions, unless hooks are enabled. + + The following information is merged: + - custom attributes on the basket and on all copied records + - product items + - gift certificate items + - coupon items + - shipments + - ad-hoc price adjustments + + To control the merging of products that exist in both baskets, use the `productItemMergeMode` parameter. By default, the higher of the two basket quantities is used for each product. Products in both baskets are considered to be the same when all of the following values match (if one product doesn't have a value, the other product is a match only if it also doesn't have that value): + - shipment + - productId + - option values + - wishlist reference + - inventory list id + - gift flag & message + - ad-hoc price adjustments + + If any of the listed values don't match, then the item in the previous shopper's basket is copied to a new line item in the current shopper's basket. If the listed values all match, but the matching products have different values for any custom attribute, the merged line item keeps the custom attribute value from the current shopper's basket. + + A success response contains the current shopper's active basket. The previous guest shopper's active basket is deleted. + + If the current shopper doesn't have an active basket, and the createDestinationBasket request parameter is false, then the merge request returns a BasketMergeException (HTTP status 409). You can proceed with one of these options: + - Transfer the previous shopper's active basket to the current logged-in shopper by calling the `baskets/transfer` endpoint. + - Force the merge by calling the `baskets/merge` endpoint again, with the parameter `createDestinationBasket=true`. Forcing the merge creates a new basket for the current shopper and copies information from the previous shopper's basket into it. Because the merge doesn't copy all basket data, a forced merge is not the same as a transfer. For example, the new basket doesn't contain any Personally Identifiable Information (PII) from the previous basket. + + ### before merge + | Previous Shopper's Basket, SKU: Quantity, Custom Attributes | Current Shopper's Basket, SKU: Quantity, Custom Attributes | + |-------------------------------------------------------------|-------------------------------------------------------------| + | SKU_A: 5
SKU_B: 3
SKU_C: 4
c_customAttr_1: 'ABC'
c_customAttr_2: 'DEF' | SKU_A: 2
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_3: 'XYZ' | + + ### after merge - (previous shopper's basket is deleted) + | productItemMergeMode | Current Shopper's Basket - SKU: Quantity, Custom Attributes | + |----------------------|--------------------------------------------------------------| + | sum_quantities | SKU_A: 7
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + | higher_quantity | SKU_A: 5
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + | saved_quantity | SKU_A: 2
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + | separate_item | SKU_A: 5
SKU_B: 3
SKU_C: 4
SKU_A: 2
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | + operationId: mergeBasket + summary: Merge baskets. + parameters: + - $ref: '#/components/parameters/createDestinationBasket' + - $ref: '#/components/parameters/productItemMergeMode' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: The current shopper's active basket, including items merged from the previous shopper's basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '403': + description: The call returns this error if no SLAS token for a registered shopper is available. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ForbiddenMissingPrevCustomerInfo: + $ref: '#/components/examples/ForbiddenMissingPrevCustomerInfo' + '409': + description: |- + The call returns this response in either of these cases: + - The previous shopper has no active basket. + - The current shopper has no active basket and the `createDestinationBasket` query parameter was `false` (default value). + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SourceBasketException: + $ref: '#/components/examples/SourceBasketException' + BasketMergeException: + $ref: '#/components/examples/BasketMergeException' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + /organizations/{organizationId}/baskets/{basketId}: + get: + description: Gets a basket. + operationId: getBasket + summary: Retrieve an existing basket. + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the retrieved basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + GetBasket: + $ref: '#/components/examples/BasketGet' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + delete: + description: Removes a basket. + operationId: deleteBasket + summary: Delete a basket. + responses: + '204': + description: Success, without a body. + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + patch: + description: |- + Updates a basket. Only the currency of the basket, source code, the custom + properties of the basket, and the shipping items will be considered. + operationId: updateBasket + summary: Update a basket. + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPatch: + $ref: '#/components/examples/BasketPatch' + required: true + responses: + '200': + description: Success, the response body contains the updated basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPatch: + $ref: '#/components/examples/examples-BasketPatch' + '400': + description: |- + Possible reasons: + - the customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + - the basket cannot be updated because the + requested currency is not supported by the site. + - the given shipping item ID is null or empty. + - a few shipping items with the same item ID are + provided. + - the provided code is not currently active. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the shipping item with the given item ID is + unknown for the basket. + - the provided code was not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/agent: + put: + description: Marks a basket as an agent basket. + operationId: updateAsAgentBasket + summary: Designate a basket as an agent basket. + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains basket that is set as an agent basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPutAgent: + $ref: '#/components/examples/BasketPutAgent' + '400': + description: Marking this basket as an agent basket would exceed the open agent basket limit for the basket customer. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerBasketQuotaExceededException' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/billing-address: + put: + description: Sets the billing address of a basket. + operationId: updateBillingAddressForBasket + summary: Add a billing address to a basket. + parameters: + - $ref: '#/components/parameters/locale' + - $ref: '#/components/parameters/useAsShipping' + - $ref: '#/components/parameters/removeExternalTax' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderAddress' + examples: + BillingAddressPut: + $ref: '#/components/examples/BillingAddressPut' + required: true + responses: + '200': + description: Success, the response body contains basket with the added billing address. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BillingAddress: + $ref: '#/components/examples/examples-BillingAddressPut' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/coupons: + post: + description: Adds a coupon to an existing basket. + operationId: addCouponToBasket + summary: Add a coupon to a basket. + parameters: + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CouponItem' + examples: + CouponCodePost: + $ref: '#/components/examples/CouponCodePost' + required: true + responses: + '200': + description: Success, the response body contains the basket with the added coupon. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + CouponCodePost: + $ref: '#/components/examples/examples-CouponCodePost' + '400': + description: |- + Possible Reasons: + - the customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + - the coupon number is not provided. + - the coupon code specified is invalid. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/coupons/{couponItemId}: + delete: + description: Removes a coupon from the basket. + operationId: removeCouponFromBasket + summary: Remove a coupon from a basket. + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket without the deleted coupon. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + Basket: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the couponItemId URL parameter does not match any + coupon item ID in the basket. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/couponItemId' + /organizations/{organizationId}/baskets/{basketId}/customer: + put: + description: Sets customer information for an existing basket. + operationId: updateCustomerForBasket + summary: Add shopper information to a basket. + parameters: + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerInfo' + examples: + BillingAddressPut: + $ref: '#/components/examples/CustomerPut' + required: true + responses: + '200': + description: Success, the response body contains the basket with the added customer information. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BillingAddress: + $ref: '#/components/examples/examples-CustomerPut' + '400': + description: |- + Possible reasons: + - the customer assigned to the basket does not match the verified + customer represented by the JSON Web Token (JWT). + - the customer cannot be set to the basket because the + max number of baskets per customer would be exceeded. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the customer with the given customer number is unknown. + - the basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/gift-certificate-items: + post: + description: Adds a gift certificate item to an existing basket. + operationId: addGiftCertificateItemToBasket + summary: Add a gift certificate to a basket. + parameters: + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificateItem' + examples: + GiftCertificateItemPost: + $ref: '#/components/examples/GiftCertPost' + responses: + '200': + description: Success, the response body contains the basket with the added gift certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + GiftCertPost: + $ref: '#/components/examples/examples-GiftCertPost' + '400': + description: The gift certificate item amount is negative. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the shipment with the given shipment ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/gift-certificate-items/{giftCertificateItemId}: + delete: + description: Deletes a gift certificate item from an existing basket. + operationId: removeGiftCertificateItemFromBasket + summary: Remove a gift certificate from a basket. + parameters: + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket without the deleted gift certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the gift certificate item with the given gift certificate item ID is unknown. + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + patch: + description: Updates a gift certificate item of an existing basket. + operationId: updateGiftCertificateItemInBasket + summary: Update gift certificate information for a basket. + parameters: + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GiftCertificateItem' + examples: + GiftCertificateItemPost: + $ref: '#/components/examples/GiftCertPatch' + responses: + '200': + description: Success, the response body contains the basket with the updated gift certificate. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + GiftCertPatch: + $ref: '#/components/examples/examples-GiftCertPatch' + '400': + description: The gift certificate item amount is negative. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the gift certificate item with the given gift certificate item ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/giftCertificateItemId' + /organizations/{organizationId}/baskets/{basketId}/items: + post: + description: |- + Adds new items to a basket. The added items are associated with the + specified shipment. If no shipment id is specified, the added items are associated with the default shipment. + Considered values from the request body, for each item are: + + - productId: a valid product ID. This is the ID of the product to be added to the basket. If the + product is already in the basket, the API either increments the quantity of the existing product line item or + creates a new product line item, based on the site preference 'Add Product Behavior'. For option products and + product bundles containing variation masters, the API creates a new product line item regardless of the site + preference. + - shipmentId: a valid shipment ID (optional). This is the ID of the shipment in which the product item + is created. + - quantity: a number between 0.01 and 999. This is the quantity of the product to order. + - inventoryId: a valid inventory ID (optional). This is the ID of the inventory from which the item is + allocated. + - bonusDiscountLineItemId: a valid bonus discount line item ID (optional). This is the ID of the + bonus discount line item for which the added product is a selected bonus product. + - optionItems/optionValueId: a valid option value ID. This is an option value for an option item of + an option product. This is only possible if the product item is an option + product. To set option values, you must specify a collection of option items in the optionItems + property. These option items must contain optionId and optionValueId. Also, + the values you specify must be valid for the option product that this product item represents. Otherwise, the + server throws an InvalidProductOptionItemException or an + InvalidProductOptionValueItemException. + - custom properties in the form c_: the custom property must correspond to a custom + attribute () defined for ProductLineItem. The value of this property must be valid for the + type of custom attribute defined for ProductLineItem. + operationId: addItemToBasket + summary: Add an item to a basket. + parameters: + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProductItem' + examples: + ItemPost: + $ref: '#/components/examples/ItemPost' + required: true + responses: + '200': + description: Success, the response body contains the basket with the added items. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the given product ID is null or invalid. + - the product with the given product ID is unknown, offline or + not assigned to site catalog or the given product item quantity is null or invalid. + - a null quantity value. + - the requested product quantity is not available. + - the product cannot be added to the basket because of its type. + - an option with the specified option ID is unknown. + - an option with the specified option value ID is + unknown. + - the maximum allowed number of products added to the basket, + has been exceeded. + - the customer assigned to the basket does not match the verified + customer represented by the JSON Web Token (JWT). + - the provided bonus discount line item ID is not + present in the current basket. + - the quantity of the product to be added will result in the + number of selected bonus choice products to exceed the amount that the user is permitted to select. + - the selected bonus product is not an applicable product for + the bonus discount line item provided. + body: + application/problem+json: + type: ErrorResponse + examples: + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/errors/bad-request-example.raml + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the basket does not contain a shipment with the given shipment ID. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + patch: + description: |- + Updates multiple items in a basket. This behaviour matches that of updating a + single item, but the body contains an array of ProductItems to be updated that are identified by `itemId`. + The items to update can include bundled product items, although the + kind of update supported for bundled product items is limited to `productId`, `gift`, `giftMessage` + and custom properties. + The following values in the request body are considered by the server: + + - `itemId` (mandatory): identifies an item to be updated. + - `productId`: a valid product ID. The purpose of this + value is to change the variation of a variation product. + - `shipmentId`: a valid shipment ID. The purpose of + this value is to move a product item to another shipment. + - `quantity`: a number between 0 and 999. The purpose of + this value is to change the quantity of the product item. If the quantity is 0, + the product item is removed. + - `optionItems`/`optionValueId`: a valid option value + ID. The purpose of this value is to exchange an option value for an + option item of an option product. + This is only possible if the product item is an option product. To change + option values, a collection of the option items to be changed must be + provided in the property `optionItems`. Those + `optionItems` must contain `optionId` + and `optionValueId`. The provided values must be valid + for the option product that this product item represents. Otherwise, + `InvalidProductOptionItemException` or + `InvalidProductOptionValueItemException` is thrown. + - custom properties `c_`: a + value corresponding to the type defined for custom attribute + `` of the ProductLineItem. The purpose of this value is to + add or change the value of a custom attribute defined for the + ProductLineItem. + - `gift`: a boolean value that specifies whether the item is a gift. + - `giftMessage`: a message to include with the gift. + operationId: updateItemsInBasket + summary: Update a basket item. + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProductItem' + examples: + ItemPatch: + $ref: '#/components/examples/ItemPatch' + required: true + responses: + '200': + description: Success, the response body contains the basket with the updated item. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - no product item with a given item ID was found for the basket. + - the product with the given product ID in the + request body is invalid. + - a null quantity value. + - an option with a specified option ID is unknown. + - an option with a specified option value ID is unknown. + - the given shipment ID is invalid. + - the customer assigned to the basket does not + match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: 'Possible reasons: basket not found' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/siteId' + /organizations/{organizationId}/baskets/{basketId}/items/{itemId}: + delete: + description: Removes a product item from the basket. + operationId: removeItemFromBasket + summary: Remove an item from a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket without the deleted item. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + patch: + description: |- + Updates an item in a basket. The item to be updated can be a bundled product item, although the + kind of update supported for bundled product items is limited to `productId` (to support + variation products), `gift`, `giftMessage` and custom properties. + The following values in the request body are considered by the server: + + - `productId`: a valid product ID. The purpose of this + value is to exchange a variation of a variation product. + - `shipmentId`: a valid shipment ID. The purpose of + this value is to move a product item to another shipment. + - `quantity`: a number between 0 and 999. The purpose of + this value is to change quantity of the product item. If quantity is 0, + the product item is removed. + - `optionItems`/`optionValueId`: a valid option value + ID. The purpose of this value is to exchange an option value for an + option item of an option product. + This is only possible if the product item is an option product. To change + option values a collection of option items to be changed need to be + provided in property optionItems. Those + optionItems need to contain optionId + and `optionValueId`. The provided values must be valid + for the option product that this product item represents. Otherwise, + `InvalidProductOptionItemException` or + `InvalidProductOptionValueItemException` is thrown. + - custom properties `c_`: a + value corresponding to the type defined for custom attribute + `` of ProductLineItem. The purpose of this value is to + add or change the value of a custom attribute defined for + ProductLineItem. + - `gift`: a boolean value that specifies whether the item is a gift + - `giftMessage`: a message for the gift + operationId: updateItemInBasket + summary: Update an item in a basket. + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProductItem' + examples: + ItemPatch: + $ref: '#/components/examples/ItemPatch' + required: true + responses: + '200': + description: Success, the response body contains the basket with the updated item. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - no product item with given item ID was found for the basket. + - the product with the given product ID in the + request body is invalid. + - a null quantity value. + - an option with the specified option id is unknown. + - an option with the specified option value id is unknown. + - the given shipment ID is invalid. + - the customer assigned to the basket does not. + match the verified customer represented by the JWT token. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - a shipment with it's given ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/items/{itemId}/taxes: + put: + description: This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for a specific taxable line item. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. + operationId: addTaxesForBasketItem + summary: Add taxation information for a basket item. + parameters: + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaxItems' + examples: + BasketItemTaxPut: + $ref: '#/components/examples/BasketItemTaxPut' + required: true + responses: + '204': + description: Success, without body. + '404': + description: |- + Possible reasons: + - The basket with the given basket ID is unknown. + - The item with the given item ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + '409': + description: |- + Possible Reasons: + - The tax mode of the referenced basket is not set to EXTERNAL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UnsupportedRequest: + $ref: '#/components/examples/UnsupportedRequest' + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/itemId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/payment-instruments: + post: + description: Adds a payment instrument to a basket. + operationId: addPaymentInstrumentToBasket + summary: Add a payment instrument to a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BasketPaymentInstrumentRequest' + examples: + PaymentInstrumentPost: + $ref: '#/components/examples/PaymentInstrumentPost' + required: true + responses: + '200': + description: Success, the response body contains the basket with the added payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketsPostSuccess: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the provided payment method is invalid or not applicable. + - the customer assigned to the basket does not match the verified + customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/payment-instruments/{paymentInstrumentId}: + delete: + description: Removes a payment instrument of a basket. + operationId: removePaymentInstrumentFromBasket + summary: Remove a payment instrument from a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket without the deleted payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the payment instrument with the given basket payment + instrument ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + patch: + description: Updates payment instrument of an existing basket. + operationId: updatePaymentInstrumentInBasket + summary: Update a payment instrument for a basket. + parameters: + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderPaymentInstrument' + examples: + PaymentInstrumentPatch: + $ref: '#/components/examples/PaymentInstrumentPatch' + required: true + responses: + '200': + description: Success, the response body contains the basket with the updated payment instrument. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + PaymentInstrumentPatch: + $ref: '#/components/examples/examples-PaymentInstrumentPatch' + '400': + description: |- + Possible reasons: + - the provided payment method is invalid or not applicable. + - the basket payment intsrument with the given id is already permanently masked. + - The customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + Possible reasons: + - the basket with the given basket ID is unknown. + - the payment instrument item with the given payment instrument ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/paymentInstrumentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/payment-methods: + get: + description: Gets applicable payment methods for an existing basket considering the open payment amount only. + operationId: getPaymentMethodsForBasket + summary: Retrieve payment instruments for a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the applicable payment methods for the basket. + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentMethodResult' + examples: + PaymentMethodsGet: + $ref: '#/components/examples/PaymentMethodsGet' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/price-adjustments: + post: + description: Adds a custom manual price adjustment to the basket. + operationId: addPriceAdjustmentToBasket + summary: Add a price adjustment to a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PriceAdjustmentRequest' + examples: + PriceAdjustmentPost: + $ref: '#/components/examples/PriceAdjustmentPost' + required: true + responses: + '200': + description: Success, the response body contains the basket with added price adjustment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + PriceAdjustmentPost: + $ref: '#/components/examples/examples-PriceAdjustmentPost' + '400': + description: |- + Possible reasons: + - a fixed price adjustment was already created for the given level. + - a fixed price adjustment was added at `order` level. + - a promotion ID was used twice. + - a system promotion ID was used as a manual promotion ID. + - more than one hundred price adjustments would have been created. + - the price adjustment limit had exceeded. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/price-adjustments/{priceAdjustmentId}: + delete: + description: Removes a custom manual price adjustment from the basket. + operationId: removePriceAdjustmentFromBasket + summary: Remove a price adjustment from a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket without the deleted price adjustment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: The priceAdjustmentId is missing, empty or whitespace. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + patch: + description: |- + Updates a custom manual price adjustment on the basket. Only the following path values are considered for the update; all other attributes are ignored. + - `discount` + - `itemText` + - `reasonCode` + - `custom properties` + The discount `type` of a price adjustment cannot be updated and therefore, the value of the existing type must be passed. For an adjustment of type `percentage`, the `percentage` attribute is mandatory. For adjustments of type `amount` and `fixed_price`, the `amount` attribute is mandatory. + operationId: updatePriceAdjustmentInBasket + summary: Update a price adjustment for a basket. + parameters: + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PriceAdjustment' + examples: + PriceAdjustmentPatch: + $ref: '#/components/examples/PriceAdjustmentPatch' + required: true + responses: + '200': + description: Success, the response body contains the basket with the updated price adjustment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + PriceAdjustmentPatch: + $ref: '#/components/examples/examples-PriceAdjustmentPatch' + '400': + description: |- + Possible reasons: + - the price adjustment is not manual and cannot be updated. + - the expected attributes are missing in the input. + - the type of a price adjustment does not match the adjustment type of the input data. + - the price adjustment limit is exceeded. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The price adjustment ID is not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PriceAdjustmentIdNotFoundException: + $ref: '#/components/examples/PriceAdjustmentIdNotFoundException' + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/priceAdjustmentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/price-books: + get: + description: "( DEPRECATED ) Gets applicable price books for an existing basket. This endpoint is deprecated. \nUse [Shopper Context](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-context?meta=Summary),\nhooks or `dw.catalog.PriceBookMgr#getApplicablePriceBooks()` instead." + operationId: getPriceBooksForBasket + summary: Retrieve price books for a basket. + parameters: + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success, the response body contains the priceBookIds for the basket. + content: + application/json: + schema: + $ref: '#/components/schemas/PriceBookIds' + examples: + PriceBooksGet: + $ref: '#/components/examples/PriceBooksGet' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + put: + description: "( DEPRECATED ) This method allows you to put an array of priceBookIds to an existing basket, which will be used for basket calculation. This endpoint is deprecated. \nUse [Shopper Context](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-context?meta=Summary), \nhooks or `dw.catalog.PriceBookMgr#setApplicablePriceBooks()` instead." + operationId: addPriceBooksToBasket + summary: Add price books to a basket. + parameters: + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PriceBookIds' + examples: + PriceBooksPut: + $ref: '#/components/examples/PriceBooksPut' + required: true + responses: + '204': + description: Success, without body. + '404': + description: The basket with the given basket ID is unknown or contains a price book ID that does not correspond to an existing price book. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments: + post: + description: |- + Creates a new shipment for a basket. + + The created shipment is initialized with values provided in the body + document and can be updated with further data API calls. Considered from + the body are the following properties if specified: + + - the ID + - the shipping address + - the shipping method + - gift boolean flag + - gift message + - custom properties + operationId: createShipmentForBasket + summary: Create a shipment for a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Shipment' + examples: + ShipmentsPost: + $ref: '#/components/examples/ShipmentsPost' + required: true + responses: + '200': + description: Success, the response body contains the basket with added shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsPost: + $ref: '#/components/examples/examples-ShipmentsPost' + '400': + description: |- + Possible reasons: + - a shipment id is not provided. + - a shipment with the provided ID already. + exists for the basket. + - a shipment with the provided shipment number + already exists for the basket. + - a shipping method with an ID was specified + which is not a valid shipping method ID. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: |- + The basket with the given basket ID is + unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}: + delete: + description: |- + Removes a specified shipment and all associated product, gift certificate, + shipping, and price adjustment line items from a basket. + It is not allowed to remove the default shipment. + operationId: removeShipmentFromBasket + summary: Remove a shipment from a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the basket without the deleted shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPost: + $ref: '#/components/examples/examples-BasketPost' + '400': + description: |- + Possible reasons: + - the given shipment ID is invalid. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '403': + description: |- + The given shipment ID corresponds to the + default shipment and cannot be removed. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/Forbidden' + '404': + description: |- + The basket with the given basket ID is + unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + patch: + description: |- + Updates a shipment for a basket. + + The shipment is initialized with values provided in the body + document and can be updated with further data API calls. Considered from + the body are the following properties if specified: + - the ID + - the shipping address + - the shipping method + - gift boolean flag + - gift message + - custom properties + operationId: updateShipmentForBasket + summary: Update a shipment for a basket. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Shipment' + examples: + ShipmentsPatch: + $ref: '#/components/examples/ShipmentsPatch' + required: true + responses: + '200': + description: Success, the response body contains the basket with the updated shipment. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsPatch: + $ref: '#/components/examples/examples-ShipmentsPatch' + '400': + description: |- + Possible reasons: + - the given shipment ID was invalid. + - a shipment with the provided ID already + exists for the basket. + - a shipment with the provided shipment number + already exists for the basket. + - a missing shipping method. + - an invalid shipping method. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-address: + put: + description: Sets a shipping address of a specific shipment of a basket. + operationId: updateShippingAddressForShipment + summary: Update the shipping address for a shipment. + parameters: + - $ref: '#/components/parameters/useAsBilling' + - $ref: '#/components/parameters/removeExternalTax' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderAddress' + examples: + ShipmentsAddressPut: + $ref: '#/components/examples/ShipmentsAddressPut' + required: true + responses: + '200': + description: Success, the response body contains the basket with the added shipping address. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsAddressPut: + $ref: '#/components/examples/examples-ShipmentsAddressPut' + '400': + description: |- + Possible reasons: + - the shipment with the given shipment ID is unknown. + - the customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-method: + put: + description: Sets a shipping method to a specific shipment of a basket. + operationId: updateShippingMethodForShipment + summary: Update the shipping method for a shipment. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ShippingMethod' + examples: + ShipmentsMethodPut: + $ref: '#/components/examples/ShipmentsMethodPut' + required: true + responses: + '200': + description: Success, the response body contains the basket with the added shipping method. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + ShipmentsMethodPut: + $ref: '#/components/examples/examples-ShipmentsMethodPut' + '400': + description: |- + Possible reasons: + - the id of the shipping method is missing. + - a shipping method with an ID was specified + which is not a valid shipping method ID. + - the customer assigned to the basket does not match the + verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequest: + $ref: '#/components/examples/BadRequest' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-methods: + get: + description: Gets the applicable shipping methods for a certain shipment of a basket. + operationId: getShippingMethodsForShipment + summary: Retrieve the shipping methods for a shipment. + parameters: + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains the applicable shipping methods for a certain shipment of the basket. + content: + application/json: + schema: + $ref: '#/components/schemas/ShippingMethodResult' + examples: + ShipmentsMethodGet: + $ref: '#/components/examples/ShipmentsMethodGet' + '400': + description: |- + The customer assigned to the basket does not + match the verified customer represented by the JSON Web Token (JWT). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerInfoJwtMismatch: + $ref: '#/components/examples/CustomerInfoJwtMismatch' + '404': + description: |- + Possible reasons: + - The basket with the given basket ID is unknown. + - The shipment with the given shipment ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperToken: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/shipmentId' + - $ref: '#/components/parameters/basketId' + /organizations/{organizationId}/baskets/{basketId}/storefront: + put: + description: Marks a basket as a storefront basket. + operationId: updateAsStorefrontBasket + summary: Designate a basket as a storefront basket. + parameters: + - $ref: '#/components/parameters/exchange' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success, the response body contains a basket that is set as a storefront basket. + content: + application/json: + schema: + $ref: '#/components/schemas/Basket' + examples: + BasketPutStorefront: + $ref: '#/components/examples/BasketPutStorefront' + '400': + description: Thrown if a storefront basket already exists and the query parameter `exchange` is false. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CustomerBasketQuotaExceededException: + $ref: '#/components/examples/CustomerBasketQuotaExceededException' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + security: + - ShopperTokenTaob: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' + - $ref: '#/components/parameters/siteId' + /organizations/{organizationId}/baskets/{basketId}/taxes: + get: + description: This method gives you the external taxation data set by the PUT taxes API. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. + operationId: getTaxesFromBasket + summary: Retrieve the external taxation information for a basket. + parameters: + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Success, the response body contains the external taxation from all line items from the referenced basket. + content: + application/json: + examples: + PostBasketBody: + $ref: '#/components/examples/BasketTaxGet' + schema: + $ref: '#/components/schemas/Taxes' + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + '409': + description: |- + Possible Reasons: + - The tax mode of the referenced basket is not set to EXTERNAL. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + InvalidTaxMode: + $ref: '#/components/examples/InvalidTaxMode' + UnsupportedRequest: + $ref: '#/components/examples/UnsupportedRequest' + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders + - sfcc.shopper-baskets-orders.rw + put: + description: This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for all taxable line items. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. + operationId: addTaxesForBasket + summary: Add external taxation information to a basket. + parameters: + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Taxes' + examples: + BasketTaxPut: + $ref: '#/components/examples/BasketTaxPut' + required: true + responses: + '204': + description: Success, without body. + '404': + description: The basket with the given basket ID is unknown. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BasketNotFound: + $ref: '#/components/examples/BasketNotFound' + '409': + description: |- + Possible Reasons: + - The tax mode of the referenced basket is not set to EXTERNAL. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UnsupportedRequest: + $ref: '#/components/examples/UnsupportedRequest' + security: + - AmOAuth2: + - sfcc.shopper-baskets-orders.rw + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/basketId' +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + ShopperTokenTaob: + type: oauth2 + description: "`ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. \nA token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`.\nTo get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). \nAfterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)).\nFor more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html).\n" + flows: + clientCredentials: + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.shopper-baskets-orders: Scope granting read-access to shopper basket or orders endpoints + sfcc.shopper-baskets-orders.rw: Scope granting read and write access to shopper basket or orders endpoints + schemas: + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + CountryCode: + pattern: ^[A-Z][A-Z]$ + description: A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. + example: US + type: string + OrderAddress: + description: Document representing an order address. + properties: + address1: + description: The first address line. + example: 45 Main Rd. + type: string + address2: + description: The second address line. + example: Apartment 204 + type: string + city: + description: The city. + example: Boston + type: string + companyName: + description: The company name. + example: Salesforce + type: string + countryCode: + $ref: '#/components/schemas/CountryCode' + firstName: + description: The first name. + example: Max + type: string + fullName: + description: The full name. + example: Max Mustermann + type: string + id: + description: The ID of the address. + example: me + type: string + jobTitle: + description: The job title. + example: Software Engineer + type: string + lastName: + description: The last name. + example: Mustermann + type: string + phone: + description: The phone number. + example: '6175555555' + type: string + postBox: + description: The post office box. + example: PO BOX 109 + type: string + postalCode: + description: The postal code. + example: '05408' + type: string + salutation: + description: The salutation. + example: Mr + type: string + secondName: + description: The second name. + type: string + stateCode: + description: The state code. + example: MA + type: string + suffix: + description: The suffix. + example: Sr + type: string + suite: + description: The suite. + example: 24A + type: string + title: + description: The title. + example: Dr. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ProductId: + minLength: 1 + maxLength: 100 + type: string + description: The id (SKU) of the product. + example: apple-ipod-classic + ProductDetailsLink: + description: Document representing a link to the resource for product details. + properties: + productDescription: + description: The description of the product. + example: Nintendo DS revolutionizes handheld gameplay. + type: string + productId: + $ref: '#/components/schemas/ProductId' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + title: + description: The link title. + example: Nintendo DS Game Console + type: string + type: object + required: + - productId + additionalProperties: false + BonusDiscountLineItem: + description: Document representing a bonus discount line item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + bonusProducts: + description: The bonus products the customer can choose from. + type: array + items: + $ref: '#/components/schemas/ProductDetailsLink' + couponCode: + description: The coupon code that triggered the promotion, if applicable. + example: 5ties + type: string + id: + description: The ID of the line item. It is read only. + example: 91f4dd8bfa0653d58b7783b04f + type: string + maxBonusItems: + format: int32 + description: The maximum number of bonus items the user can select for this promotion. + type: integer + promotionId: + description: The ID of the promotion that triggered the creation of the line item. + example: Buy1Get2 + type: string + CouponItemId: + minLength: 1 + type: string + description: The coupon item ID + example: d4c9c0141e9c74c150225580f3 + CouponItem: + description: Document representing a coupon item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + code: + maxLength: 256 + description: The coupon code. + example: 5ties + type: string + couponItemId: + description: The coupon item ID. It is read only. + allOf: + - $ref: '#/components/schemas/CouponItemId' + statusCode: + description: The status of the coupon item. It is read only. + example: no_applicable_promotion + enum: + - coupon_code_already_in_basket + - coupon_code_already_redeemed + - coupon_code_unknown + - coupon_disabled + - redemption_limit_exceeded + - customer_redemption_limit_exceeded + - timeframe_redemption_limit_exceeded + - no_active_promotion + - coupon_already_in_basket + - no_applicable_promotion + - applied + - adhoc + type: string + valid: + description: |- + A flag indicating whether the coupon item is valid. A coupon line item is valid if + the status code is "applied" or "no_applicable_promotion". It is read only. + example: true + type: boolean + required: + - code + ISOCurrency: + pattern: ^[A-Z][A-Z][A-Z]$ + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + example: USD + type: string + NoValue: + default: N/A + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + example: N/A + enum: + - N/A + type: string + CurrencyCode: + description: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. + example: USD + oneOf: + - $ref: '#/components/schemas/ISOCurrency' + - $ref: '#/components/schemas/NoValue' + CustomerInfo: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: The customer information for guest or logged-in customers. + type: object + properties: + customerId: + maxLength: 100 + description: The customer ID. It is read only. + example: abMKqMaNYOBMnNdDNzyC5oNTi5 + type: string + customerName: + description: The customer name. + example: Max Mustermann + type: string + customerNo: + maxLength: 100 + description: The customer number. + example: '0002352' + type: string + email: + description: The customer's email address. + example: no-reply@salesforce.com + type: string + required: + - email + GiftCertificateItemId: + example: 629dea6e7b61e58da629b57b21 + type: string + minLength: 1 + GiftCertificateItem: + description: A gift certificate item. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The gift certificate item amount. + example: 20 + type: number + giftCertificateItemId: + description: The item ID. It is read only. + allOf: + - $ref: '#/components/schemas/GiftCertificateItemId' + message: + maxLength: 4000 + description: The gift certificate message. + example: Birthday present. + type: string + recipientEmail: + minLength: 1 + description: The recipient email. + example: no-reply@salesforce.com + type: string + recipientName: + description: The recipient's name. + example: Daniel Mustermann + type: string + senderName: + description: The sender's name. + example: Max Mustermann + type: string + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + required: + - amount + - recipientEmail + GroupedTaxItem: + description: Document representing the grouped tax item. + type: object + properties: + taxRate: + description: The tax rate. It is read only. + type: number + format: double + example: 0.1 + taxValue: + description: The summed up tax total for the tax rate. It is read only. + type: number + format: double + example: 10.03 + additionalProperties: false + Discount: + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + description: Document representing a discount. + type: object + properties: + amount: + format: double + description: The discount amount for discount types that define specific discount amounts. It is read only. + example: 130.88 + type: number + percentage: + format: double + description: The discount percent for discount types that define percentage discounts. It is read only. + example: 0.19 + type: number + priceBookId: + description: The price book ID that is used with some types. It is read only. + example: usd-sale-prices + type: string + type: + description: The type of discount. It is read only. + example: fixed_price + enum: + - percentage + - fixed_price + - amount + - free + - price_book_price + - bonus + - total_fixed_price + - bonus_choice + - percentage_off_options + type: string + required: + - type + PriceAdjustmentId: + example: ba248424e3eee797f062161f8b + type: string + PriceAdjustment: + description: |- + Document representing a price adjustment within a basket or order. Price adjustments + can be assigned at the order, product, or shipping level. + properties: + appliedDiscount: + description: |- + Details describing the discount this price adjustment is based on. For adjustments + not based on a discount, this value is null. + allOf: + - $ref: '#/components/schemas/Discount' + couponCode: + description: |- + The coupon code of the coupon this price adjustment is based on. For adjustments + not based on a coupon, this value is null. It is read only. + example: 5ties + type: string + createdBy: + description: The user who created the price adjustment. It is read only. + example: Support + type: string + creationDate: + description: The timestamp when the price adjustment was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + custom: + description: |- + A flag indicating whether this price adjustment was created by custom logic. This + flag is set to true unless the price adjustment was created by the promotion + engine. + example: true + type: boolean + itemText: + description: The text describing the item. + type: string + lastModified: + description: The timestamp when the price adjustment was last modified. It is read only. + example: '2021-02-25T09:58:08.715Z' + type: string + format: date-time + manual: + description: |- + A flag indicating whether this price adjustment was created by a manual process. + If the price adjustment was created by the promotion engine, this value is always + false. + example: true + type: boolean + price: + format: double + description: The adjustment price. It is read only. + example: 120.88 + type: number + priceAdjustmentId: + description: The price adjustment ID. It is read only. + allOf: + - $ref: '#/components/schemas/PriceAdjustmentId' + promotionId: + description: |- + The ID of the related promotion. Custom price adjustments + can be assigned any promotion ID so long it is not + used by a price adjustment belonging to the same item, + and is not used by a promotion defined in the promotion engine. + If not specified, a promotion ID is generated. + type: string + reasonCode: + description: The reason for the price adjustment. + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + Status: + description: Document representing an object status. + properties: + code: + description: The status code. + type: string + message: + description: The status message. + type: string + status: + format: int32 + description: |- + The status. + For more information on the status values see Status.OK and Status.ERROR. + type: integer + type: object + additionalProperties: false + PaymentCard: + additionalProperties: false + description: Document representing a payment card. + type: object + properties: + cardType: + maxLength: 256 + description: The payment card type. + example: Visa + type: string + creditCardExpired: + description: A flag indicating if the credit card is expired. It is read only. + example: true + type: boolean + creditCardToken: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + example: E67TY8GQ27X + type: string + expirationMonth: + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + maxLength: 4000 + description: The masked payment card number. + example: '*********4422' + type: string + numberLastDigits: + maxLength: 4000 + description: The last digits of the payment card number. It is read only. + example: '4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month the payment card is valid from. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year the payment card is valid from. + example: 2015 + type: integer + PaymentInstrumentId: + description: The payment instrument ID + example: ba248424e3eee797f062162f8b + type: string + OrderPaymentInstrument: + description: Document representing an order payment instrument. + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + authorizationStatus: + description: The authorization status of the payment transaction. It is read only. + allOf: + - $ref: '#/components/schemas/Status' + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '12030000' + type: string + maskedGiftCertificateCode: + description: The gift certificate code with the last 4 characters not masked. + example: '******Gzzy' + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/PaymentCard' + paymentInstrumentId: + description: The payment instrument ID. It is read only. + allOf: + - $ref: '#/components/schemas/PaymentInstrumentId' + paymentMethodId: + maxLength: 256 + description: The payment method ID. It is read only. + example: CREDIT_CARD + type: string + type: object + ProductItem: + description: Document representing a product item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + type: object + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including + adjustments. If the taxation policy is net, it doesn't include tax. If the + taxation policy is gross, it includes tax. It is read only. + example: 130 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. + example: true + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. + example: inventory + type: string + itemId: + description: |- + The product item ID. Use it to identify this item when updating its quantity or + creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not + including order-level adjustments or shipping charges. If the taxation policy is + net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 20.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation + policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 15.5 + type: number + productId: + maxLength: 100 + description: The ID of the product. + example: nintendo-ds-console + type: string + productListItem: + description: |- + If this product line item was added from a product list, this value is a reference + to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A + related shipping item represents a surcharge applied to individual products using + a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax for the product item, not including price adjustments. It is read only. + example: 0.3 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this product item. It is read only. + example: 30 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.9 + type: number + ItemId: + description: The item id. + example: 430ef5aad3a24de59378458434 + type: string + OptionItem: + description: |- + An option item represents an optional purchase related to a product item, and is always associated with that parent product + item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax on the line item, including any adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the line item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + bonusDiscountLineItemId: + description: The ID of the bonus discount line item this bonus product relates to. It is read only. + example: ba248414e3eee797f062162f8b + type: string + bonusProductLineItem: + description: A flag indicating whether the product item is a bonus. It is read only. + example: false + type: boolean + bundledProductItems: + description: The bundled product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + gift: + description: Returns true if the item is a gift. It is read only. + example: false + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + inventoryId: + maxLength: 256 + description: The inventory list ID associated with this item. It is read only. + example: inventory + type: string + itemId: + description: The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + itemText: + description: The text describing the item. + example: The item text. + type: string + optionId: + maxLength: 256 + description: The ID of the option. It is read only. + example: consoleWarranty + type: string + optionItems: + description: The option items. + type: array + items: + $ref: '#/components/schemas/OptionItem' + optionValueId: + maxLength: 256 + description: The ID of the option value. It is read only. + example: '000' + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + example: 150.99 + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments, but not including order-level adjustments or + shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50.99 + type: number + priceAfterOrderDiscount: + format: double + description: |- + The price of the product line item including item-level adjustments and prorated order-level adjustments, but not + including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + example: 40.5 + type: number + productId: + $ref: '#/components/schemas/ProductId' + productListItem: + description: If this product line item was added from a product list, this value is a reference to the corresponding product list item. + allOf: + - $ref: '#/components/schemas/ProductListItemReference' + productName: + description: The name of the product. + example: Nintendo DS Game Console + type: string + quantity: + minimum: 0 + format: double + description: The ordered quantity of the products represented by this item. + example: 1 + type: number + shipmentId: + description: The ID of the shipment this item belongs to. + example: me + type: string + shippingItemId: + description: |- + If the product line item has a related shipping item, this value is its ID. A related shipping item represents a + surcharge applied to individual products using a particular shipping method. It is read only. + example: 006490dcc338feeafc71c964bf + type: string + tax: + format: double + description: The tax on the line item before applying any adjustments. It is read only. + example: 0 + type: number + taxBasis: + format: double + description: The amount used to calculate the tax for this item. It is read only. + example: 50 + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + example: 0.19 + type: number + required: + - optionId + - optionValueId + ProductListLink: + description: Document representing a link to a product list. + properties: + description: + description: The description of this product list. + type: string + name: + description: The name of this product list. + type: string + public: + description: |- + A flag indicating whether the owner made this product list available for access + by other customers. It is read only. + example: true + type: boolean + title: + description: The link title. + type: string + type: + description: The type of the product list. + example: shopping_list + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + type: string + type: object + additionalProperties: false + ProductListItemReference: + description: Document representing product list item details. + type: object + additionalProperties: false + properties: + id: + description: The ID of the product list item. It is read only. + allOf: + - $ref: '#/components/schemas/ItemId' + priority: + format: int32 + description: The priority of the product list item. + example: 1 + type: integer + productDetailsLink: + $ref: '#/components/schemas/ProductDetailsLink' + productList: + description: A reference to the associated product list. It is read only. + allOf: + - $ref: '#/components/schemas/ProductListLink' + public: + example: false + type: boolean + purchasedQuantity: + format: double + description: The total quantity of this item purchased from the product list. + example: 0 + type: number + quantity: + minimum: 0 + format: double + description: The number of products or gift certificates that get shipped when purchasing this product list item. + example: 1 + type: number + type: + description: Specifies whether the item is a product or a gift certificate. + example: product + enum: + - product + - gift_certificate + type: string + required: + - id + ShipmentId: + minLength: 1 + type: string + example: me + description: The identifier of the shipment + ShippingPromotion: + description: Document representing a shipping promotion. + properties: + calloutMsg: + description: The localized callout message of the promotion. + example: $30 Fixed Shipping Amount Above 150 + type: string + promotionId: + description: The unique ID of the promotion. + example: $30FixedShippingAmountAbove150 + type: string + promotionName: + description: The localized promotion name. + example: $30 Fixed Shipping Amount Above 150 + type: string + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + ShippingMethod: + description: Document representing a shipping method. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + description: + description: The localized description of the shipping method. + example: Order received within 7-10 business days + type: string + externalShippingMethod: + description: The external shipping method. + type: string + id: + maxLength: 256 + description: The shipping method ID. + example: '001' + type: string + name: + description: The localized name of the shipping method. + example: Ground + type: string + price: + format: double + description: |- + The shipping cost total, including shipment level costs, + product level fix, and surcharge costs. It is read only. + example: 15 + type: number + shippingPromotions: + description: |- + The array of active customer shipping promotions for this shipping + method. This array can be empty. + type: array + items: + $ref: '#/components/schemas/ShippingPromotion' + type: object + required: + - id + Shipment: + description: Document representing a shipment. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not including + service charges such as shipping. If the Discount Taxation preference is set to Tax Products and + Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + gift: + description: A flag indicating whether the shipment is a gift. It is read only. + example: true + type: boolean + giftMessage: + description: The gift message. + example: Happy Birthday + type: string + merchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, not including price adjustments or service charges such as + shipping. It is read only. + example: 4.95 + type: number + productSubTotal: + format: double + description: |- + The total price of all products in the shipment, including item-level adjustments, but not including + order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If + the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + shipmentId: + description: The order-specific ID of the shipment. The default value is 'me'. + default: me + allOf: + - $ref: '#/components/schemas/ShipmentId' + shipmentNo: + description: The shipment number of this shipment. This number is automatically generated. It is read only. + type: string + shipmentTotal: + format: double + description: |- + The total price of all products in the shipment including item-level adjustments, shipping charges, + and tax. It is read only. + example: 39.99 + type: number + shippingAddress: + description: The shipping address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + shippingMethod: + $ref: '#/components/schemas/ShippingMethod' + shippingStatus: + description: The shipping status of the shipment. + example: shipped + enum: + - not_shipped + - shipped + type: string + shippingTotal: + format: double + description: |- + The total price of all shipping charges in the shipment, including shipping adjustments. If the + taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. + example: 0.3 + type: number + taxTotal: + format: double + description: |- + The total tax on the shipment, including item-level price adjustments and service charges such as + shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on + Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + example: 1.8 + type: number + trackingNumber: + description: The tracking number of the shipment. + example: 1Z204E380338943508 + type: string + type: object + ShippingItem: + description: Document representing a shipping item. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedTax: + format: double + description: The tax for the shipping item, including price adjustments. It is read only. + example: 19 + type: number + basePrice: + format: double + description: |- + The base price of the shipping item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 50 + type: number + itemId: + description: |- + The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a + custom price adjustment for it. It is read only. + example: 430ef5aad3a24de59378458434 + type: string + itemText: + description: The text describing the shipping item. + example: Shipping + type: string + price: + format: double + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + priceAdjustments: + description: The price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + priceAfterItemDiscount: + format: double + description: |- + The price of the shipping item including item-level adjustments, but not including order-level + adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + type: number + shipmentId: + description: The identifier of the shipment to which this item belongs. + allOf: + - $ref: '#/components/schemas/ShipmentId' + tax: + format: double + description: The tax on the product item, not including adjustments. It is read only. + example: 0.19 + type: number + taxBasis: + format: double + description: The price used to calculate the tax for this shipping item. It is read only. + type: number + taxClassId: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate: + format: double + description: The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. + type: number + type: object + Basket: + description: Document representing a basket. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + adjustedMerchandizeTotalTax: + format: double + description: |- + The total tax on products in the shipment, including item-level price adjustments but not + including service charges such as shipping. If the Discount Taxation preference is set to Tax + Products and Shipping Only Based on Adjusted Price, this amount also includes prorated + order-level price adjustments. It is read only. + example: 4.95 + type: number + adjustedShippingTotalTax: + format: double + description: The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + example: 0.3 + type: number + agentBasket: + description: Is the basket created by an agent? It is read only. + example: true + type: boolean + basketId: + description: The unique identifier for the basket. It is read only. + example: e78aa5646a8efebdd9cdd38be7 + type: string + billingAddress: + description: The billing address. + allOf: + - $ref: '#/components/schemas/OrderAddress' + bonusDiscountLineItems: + description: The bonus discount line items. + type: array + items: + $ref: '#/components/schemas/BonusDiscountLineItem' + channelType: + description: The sales channel. It is read only. + example: storefront + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + type: string + couponItems: + description: The coupon items. + type: array + items: + $ref: '#/components/schemas/CouponItem' + creationDate: + description: The timestamp when the basket was created. It is read only. + example: '2015-05-19T15:23:18.000Z' + type: string + format: date-time + currency: + $ref: '#/components/schemas/CurrencyCode' + customerInfo: + description: The customer information, if the customer is logged in. + allOf: + - $ref: '#/components/schemas/CustomerInfo' + giftCertificateItems: + description: The gift certificate line items. + type: array + items: + $ref: '#/components/schemas/GiftCertificateItem' + groupedTaxItems: + description: |- + Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same + tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. + type: array + items: + $ref: '#/components/schemas/GroupedTaxItem' + inventoryReservationExpiry: + description: The expiration datetime of the inventory reservation. It is read only. + example: '2015-05-19T15:30:18.000Z' + type: string + format: date-time + lastModified: + description: The timestamp when the basket was last modified. It is read only. + example: '2015-05-19T15:25:18.000Z' + type: string + format: date-time + merchandizeTotalTax: + format: double + description: |- + The total products tax in the purchase currency. + Merchandise total price represents the sum of the product prices before + services (such as shipping) or adjustments from promotions have + been added. It is read only. + example: 4.95 + type: number + orderPriceAdjustments: + description: The order-level price adjustments. + type: array + items: + $ref: '#/components/schemas/PriceAdjustment' + orderTotal: + format: double + description: The total price, including products, shipping and tax. It is read only. + example: 110.24 + type: number + paymentInstruments: + description: The payment instruments list. + type: array + items: + $ref: '#/components/schemas/OrderPaymentInstrument' + productItems: + description: The product items. + type: array + items: + $ref: '#/components/schemas/ProductItem' + productSubTotal: + format: double + description: |- + The total price of all products including item-level adjustments, but not including order-level adjustments or shipping + charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 99 + type: number + productTotal: + format: double + description: |- + The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 88 + type: number + shipments: + description: The shipments. + type: array + items: + $ref: '#/components/schemas/Shipment' + shippingItems: + description: The shipping items. + type: array + items: + $ref: '#/components/schemas/ShippingItem' + shippingTotal: + format: double + description: |- + The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + example: 5.99 + type: number + shippingTotalTax: + format: double + description: The total tax on all shipping charges, not including shipping adjustments. It is read only. + example: 0.3 + type: number + sourceCode: + description: The source code assigned to the basket. It is read only. + example: OUTDOOR1 + type: string + taxTotal: + format: double + description: The total tax amount. It is read only. + example: 5.25 + type: number + taxation: + description: The taxation policy (gross or net). It is read only. + example: net + enum: + - gross + - net + type: string + taxRoundedAtGroup: + description: If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. + example: true + type: boolean + temporaryBasket: + description: If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. + example: true + type: boolean + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + TaxItem: + description: Object representing the taxation. + properties: + id: + description: The taxation identifier. + type: string + rate: + format: double + description: The taxation rate. + example: 0.13 + type: number + value: + format: double + description: The tax amount. Will be computed if not set. + type: number + type: object + additionalProperties: false + required: + - id + - rate + TaxItems: + description: Taxation for a line item. + type: object + properties: + taxItems: + description: The list of tax items. It is read only. + type: array + items: + $ref: '#/components/schemas/TaxItem' + OrderPaymentCardRequest: + description: Document representing an order payment card request. + type: object + properties: + cardType: + maxLength: 256 + description: 'The payment card type (for example: Visa).' + example: Visa + type: string + creditCardToken: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + example: E67TY8GQ27X + type: string + expirationMonth: + format: int32 + description: The month when the payment card expires. + example: 3 + type: integer + expirationYear: + format: int32 + description: The year when the payment card expires. + example: 2025 + type: integer + holder: + maxLength: 256 + description: The payment card holder. + example: Max Mustermann + type: string + issueNumber: + maxLength: 256 + description: The payment card issue number. + example: '2' + type: string + maskedNumber: + pattern: ^[0-9 -]{0,7}\D{6,15}\d{0,4}$ + maxLength: 25 + description: The masked payment card number. + example: '*********4422' + type: string + validFromMonth: + minimum: 1 + maximum: 12 + format: int32 + description: The month the payment card is valid from. + example: 5 + type: integer + validFromYear: + format: int32 + description: The year the payment card is valid from. + example: 2019 + type: integer + BasketPaymentInstrumentRequest: + description: Document representing a basket payment instrument request. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + amount: + format: double + description: The payment transaction amount. + example: 130.88 + type: number + bankRoutingNumber: + maxLength: 256 + description: The bank routing number. + example: '12030000' + type: string + giftCertificateCode: + maxLength: 256 + description: The gift certificate code. + example: AFGRTUZ + type: string + paymentCard: + description: The payment card. + allOf: + - $ref: '#/components/schemas/OrderPaymentCardRequest' + paymentMethodId: + maxLength: 256 + description: The payment method ID. + example: CREDIT_CARD + type: string + PaymentCardSpec: + description: Document representing the specification for a payment card. + type: object + properties: + cardType: + description: The payment card type. It is read only. + example: Visa + type: string + checksumVerificationEnabled: + description: A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. + example: true + type: boolean + description: + description: The localized description of the payment card. It is read only. + type: string + image: + description: The URL to the image that represents the payment card. It is read only. + type: string + name: + description: The localized name of the payment card. It is read only. + type: string + numberLengths: + description: |- + The sorted list of number lengths (individual lengths as well as + length ranges). It is read only. + type: array + items: + type: string + numberPrefixes: + description: |- + The sorted list of number prefixes (individual prefixes as well + as prefix ranges). It is read only. + type: array + items: + type: string + securityCodeLength: + format: int32 + description: The length of the security code for this card. It is read only. + type: integer + PaymentMethod: + description: Document representing a payment method. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + cards: + description: The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. + type: array + items: + $ref: '#/components/schemas/PaymentCardSpec' + description: + description: The localized description of the payment method or card. It is read only. + type: string + id: + maxLength: 256 + description: The ID of the payment method or card. It is read only. + type: string + image: + description: The URL to the image that represents the payment method or card. It is read only. + type: string + name: + description: The localized name of the payment method or card. It is read only. + type: string + paymentProcessorId: + description: The payment processor ID. It is read only. It is read only. + type: string + required: + - id + PaymentMethodResult: + description: Result document of payment methods applicable for a basket. + properties: + applicablePaymentMethods: + description: The applicable payment methods. It is read only. + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + type: object + DiscountRequest: + description: Request that represents a discount to be applied to a custom price adjustment. + type: object + additionalProperties: false + properties: + type: + description: |- + The type of discount. + - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. + - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. + - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. + example: percentage + enum: + - percentage + - fixed_price + - amount + type: string + value: + format: double + description: The amount of the discount. + example: 20 + type: number + required: + - type + - value + PriceAdjustmentRequest: + description: Request that represents a price adjustment. + type: object + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + discount: + description: A discount that can be specified instead of a price. + allOf: + - $ref: '#/components/schemas/DiscountRequest' + itemId: + description: The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. + example: 93196fae953cbedbe54d67e760 + type: string + itemText: + description: The text describing the item in more detail. + example: A discounted item + type: string + level: + description: |- + The level at which the adjustment is applied. + - `order` indicates that the price adjustment should be added directly to basket. + - `product` indicates that the price adjustment should be added to the product item. + - `shipping` indicates that the price adjustment is added to the shipping item. + example: order + enum: + - product + - shipping + - order + type: string + promotionId: + description: The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. + example: Shipping100 + type: string + reasonCode: + description: The reason for the price adjustment. + example: Shipping promotion on order above $1,000 USD + type: string + required: + - level + PriceBookIds: + maxItems: 10 + description: Array of price book IDs to use for the basket calculation. + type: array + items: + maxLength: 256 + type: string + ShippingMethodResult: + description: Result document containing shipping methods. + properties: + applicableShippingMethods: + description: The applicable shipping method documents. It is read only. + type: array + items: + $ref: '#/components/schemas/ShippingMethod' + defaultShippingMethodId: + description: The default shipping method. It is read only. + example: me + type: string + type: object + Taxes: + description: Document representing the tax rates and (optionally) amounts for all items in a basket. + properties: + taxes: + description: 'Map containing the TaxItems for the line item ids: Map' + type: object + additionalProperties: + $ref: '#/components/schemas/TaxItems' + type: object + required: + - taxes + additionalProperties: false + parameters: + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + taxMode: + name: taxMode + in: query + description: "Determines how taxes are calculated. \n\nThe default value is `internal` where the tax calculation is done automatically based on internal tax tables. Setting `taxMode` to `external` allows manual modification of the tax rates and values. \nExternal tax data is mandatory for product line items, option line items, shipping line items, coupon line items, and bonus discount line item. \nGift certificate line items are optional and use zero tax rate by default, which can be overwritten. Price adjustments cannot be set because they are either calculated or inherited. \nDepending on the type, the tax rate is either obtained from the related line item or computed as a prorate of the basket." + schema: + default: internal + enum: + - internal + - external + type: string + example: external + temporary: + name: temporary + in: query + description: If set to true, the basket created is a temporary basket. + schema: + default: false + type: boolean + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + overrideExisting: + name: overrideExisting + in: query + description: |- + If the current shopper has no active basket, this parameter is ignored. If the current shopper has an active basket, this parameter controls the behavior: + - `false` (default): Return a BasketTransferException (HTTP status 409). The basket owner doesn't change. + - `true`: Force the transfer by deleting the current shopper's active basket and making the current shopper the owner of the previous shopper's basket. Returns the transferred basket (HTTP status 200). + schema: + default: false + type: boolean + example: false + createDestinationBasket: + name: createDestinationBasket + in: query + description: |- + If the current shopper has an active basket, this parameter is ignored. If the current shopper has no active basket, this parameter controls the behavior: + - `false` (default): Return a BasketMergeException (HTTP status 409). + - `true`: Force the merge by creating a basket for the current shopper and copying information from the previous shopper's basket into it. Return success (HTTP status 200). + schema: + default: false + type: boolean + productItemMergeMode: + name: productItemMergeMode + in: query + description: |- + This parameter controls the quantity calculation for products that exist in both baskets. + - higher_quantity (default): Compare the product's quantities in each basket, and use the higher value. + - sum_quantities: Use the sum of the product's quantities from both baskets. + - saved_quantity: Use the product's quantity in the current shopper's active basket. Ignore the quantity from the previous shopper's basket. + - separate_item: Add a separate product item to the current shopper's basket for the quantity in the previous shopper's basket. + schema: + default: higher_quantity + enum: + - higher_quantity + - sum_quantities + - saved_quantity + - separate_item + type: string + basketId: + name: basketId + in: path + required: true + schema: + minLength: 1 + type: string + description: The ID of the basket to be modified. + removeExternalTax: + name: removeExternalTax + in: query + description: 'If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the `currency` triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values.' + schema: + default: true + type: boolean + useAsShipping: + name: useAsShipping + in: query + schema: + type: boolean + couponItemId: + name: couponItemId + in: path + required: true + schema: + $ref: '#/components/schemas/CouponItemId' + description: The ID of the coupon item. + giftCertificateItemId: + name: giftCertificateItemId + in: path + required: true + schema: + $ref: '#/components/schemas/GiftCertificateItemId' + description: the ID of the gift certificate item to be updated. + itemId: + name: itemId + in: path + required: true + schema: + $ref: '#/components/schemas/ItemId' + description: The ID of the item to be updated. + paymentInstrumentId: + name: paymentInstrumentId + in: path + required: true + schema: + $ref: '#/components/schemas/PaymentInstrumentId' + priceAdjustmentId: + name: priceAdjustmentId + in: path + required: true + schema: + $ref: '#/components/schemas/PriceAdjustmentId' + shipmentId: + name: shipmentId + in: path + required: true + schema: + $ref: '#/components/schemas/ShipmentId' + description: The ID of the shipment to be modified. + useAsBilling: + name: useAsBilling + in: query + schema: + type: boolean + exchange: + name: exchange + in: query + description: If true, an existing storefront basket is exchanged and marked as an agent basket. If false, a `CustomerBasketsQuotaExceededException` is thrown. + schema: + type: boolean + examples: + BasketPost: + value: + customerInfo: + email: shopper@salesforce-test.com + customerNo: '000000001' + billingAddress: + firstName: Stephanie + lastName: Miller + address1: 104 Presidential Way + city: Woburn + postalCode: '01801' + stateCode: MA + countryCode: US + shipments: + - shippingMethod: + id: '001' + shippingAddress: + firstName: Agustin + lastName: Estes + address1: 4162 Turkey Pen Road + city: New York + postalCode: '10016' + stateCode: NY + countryCode: US + paymentInstruments: + - paymentMethodId: CREDIT_CARD + paymentCard: + cardType: Visa + couponItems: + - code: 5ties + productItems: + - productId: green-umbrella + quantity: 3 + examples-BasketPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + BadRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + title: Bad Request + detail: Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'. + CustomerBasketQuotaExceededException: + value: + title: Customer Baskets Quota Exceeded + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-baskets-quota-exceeded + detail: The maximum number of baskets per customer was exceeded. Please reuse or delete one of the existing baskets (40e91e04aba6e42a6836f79308). + basketIds: 40e91e04aba6e42a6836f79308 + TemporaryBasketQuotaExceededException: + value: + title: Customer Temporary Baskets Quota Exceeded, + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-temporary-baskets-quota-exceeded + detail: The maximum number of temporary baskets per customer was exceeded. Please reuse or delete one of the existing temporary baskets (40e91e04aba6e42a6836f79308, 73ca0f0860a67df946782c2688). + basketIds: 40e91e04aba6e42a6836f79308, 73ca0f0860a67df946782c2688 + ShipmentNotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found + title: Shipment Not Found + detail: The shipping method with ID '123' is unknown or can't be applied to the basket. + ForbiddenMissingPrevCustomerInfo: + value: + title: Forbidden + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden + detail: Your access-token is valid, but it contains no previous customer to process this action. + SourceBasketException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/no-source-basket-exception + title: Conflict + detail: The previous customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has no active basket. + BasketTransferException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-transfer-basket-already-exists-exception + title: Conflict + detail: The current customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has an active basket. + BasketMergeException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-merge-no-current-basket-exception + title: Conflict + detail: The current customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has no active basket. + BasketGet: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + CustomerInfoJwtMismatch: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request + title: Bad Request + detail: The customer is invalid. + BasketNotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found + title: Basket Not Found + detail: No basket with ID '123' could be found. + BasketPatch: + value: + c_textValue: oak + examples-BasketPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: 7800e0f611dac6caf77afb9df9 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:53:30.993Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:53:35.747Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 2b76b8644eb6da43e7e223b48d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 43c38652bc3844e14cd482ff28 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: b4ff13039bc7abd1b9d933b871 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 193e99bc1205b870cebd36d970 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: ac7a3b62dc1df8de898d7a2141 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + c_textValue: oak + BasketPutAgent: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: true + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + BillingAddressPut: + value: + firstName: Stephanie + lastName: Miller + address1: 385 Prospect Valley Road + city: Woburn + postalCode: '01801' + stateCode: MA + countryCode: US + examples-BillingAddressPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 385 Prospect Valley Road + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 5f695b6f4bb63cb686483d65a0 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: 7800e0f611dac6caf77afb9df9 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:53:30.993Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:53:35.747Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: 2b76b8644eb6da43e7e223b48d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 43c38652bc3844e14cd482ff28 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: b4ff13039bc7abd1b9d933b871 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 193e99bc1205b870cebd36d970 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: ac7a3b62dc1df8de898d7a2141 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + CouponCodePost: + value: + code: 10_percent_off + examples-CouponCodePost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + - code: 10_percent_off + couponItemId: 9372d0f511dac8caf77afc4kj2 + statusCode: applied + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + CustomerPut: + value: + email: shopperUpdate@salesforce-test.com + examples-CustomerPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopperUpdate@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + GiftCertPost: + value: + amount: 1 + recipientEmail: miller@salesforce-test.com + shipmentId: me + examples-GiftCertPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopperUpdate@salesforce-test.com + giftCertificateItems: + - amount: 2 + giftCertificateItemId: 83726a8351540534af93f3b15f + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + GiftCertPatch: + value: + amount: 1 + recipientEmail: miller@salesforce-test.com + examples-GiftCertPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopperUpdate@salesforce-test.com + giftCertificateItems: + - amount: 1 + giftCertificateItemId: 83726a8351540534af93f3b15f + recipientEmail: miller@salesforce-test.com + shipmentId: me + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + ItemPost: + value: + - productId: green-bag + quantity: 1 + ItemPatch: + value: + quantity: 1 + BasketItemTaxPut: + value: + taxItems: + - id: DE_7 + rate: 0.07 + value: 13.99 + - id: DE_19 + rate: 0.19 + UnsupportedRequest: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled + title: Unsupported Request If SCAPI Hooks Enabled + detail: You can't call this endpoint because Salesforce Commerce API hook execution is enabled. + PaymentInstrumentPost: + value: + amount: 1 + paymentCard: + expirationYear: 1990 + expirationMonth: 7 + validFromMonth: 8 + validFromYear: 2007 + issueNumber: i117 + maskedNumber: '*********1234' + holder: Miller + cardType: Visa + paymentMethodId: CREDIT_CARD + PaymentInstrumentPatch: + value: + amount: 0 + paymentCard: + holder: Miller + cardType: Visa + paymentMethodId: CREDIT_CARD + examples-PaymentInstrumentPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + holder: Miller + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + PaymentMethodsGet: + value: + applicablePaymentMethods: + - id: GIFT_CERTIFICATE + name: Gift Certificate + paymentProcessorId: BASIC_GIFT_CERTIFICATE + - cards: + - cardType: Visa + checksumVerificationEnabled: true + name: Visa + numberLengths: + - '13' + - '16' + numberPrefixes: + - '4' + - cardType: Amex + checksumVerificationEnabled: true + name: American Express + numberLengths: + - '15' + numberPrefixes: + - '34' + - '37' + - cardType: Master Card + checksumVerificationEnabled: true + name: MasterCard + numberLengths: + - '16' + numberPrefixes: + - 51-55 + - cardType: Discover + checksumVerificationEnabled: true + name: Discover + numberLengths: + - '16' + numberPrefixes: + - '6011' + - 622126-622925 + - 644-649 + - '65' + id: CREDIT_CARD + name: Credit Card + paymentProcessorId: BASIC_CREDIT + - id: PayPal + name: Pay Pal + paymentProcessorId: PAYPAL_EXPRESS + - id: BML + name: Bill Me Later + paymentProcessorId: CYBERSOURCE_BML + PriceAdjustmentPost: + value: + discount: + value: 5 + type: percentage + itemText: MyOrderAdjustment + level: order + promotionId: manual adjustment + examples-PriceAdjustmentPost: + value: + adjustedMerchandizeTotalTax: 28.45 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderPriceAdjustments: + - appliedDiscount: + amount: 0.05 + percentage: 5 + type: percentage + createdBy: testAgent + creationDate: '2015-05-25T09:13:10.942Z' + custom: true + itemText: MyOrderAdjustment + manual: true + price: -30 + promotionId: manual adjustment + priceAdjustmentId: cdzoAiWbOmbiUaaadlfSpMDgNw + orderTotal: 615.21 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 569.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 569.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 569.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + PriceAdjustmentPatch: + value: + appliedDiscount: + amount: 15 + type: amount + itemText: AgentOrderAdjustment + reasonCode: override manual promo + examples-PriceAdjustmentPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderPriceAdjustments: + - appliedDiscount: + amount: 15 + type: amount + createdBy: testWapiAgent + creationDate: '2017-03-14T09:15:35.543Z' + custom: true + itemText: MyOrderAdjustment + lastModified: '2017-03-14T09:15:35.594Z' + manual: true + price: -15 + priceAdjustmentId: e397cd21f9a9c0643277ba1011 + promotionId: manual adjustment + reasonCode: override manual promo + orderTotal: 631.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + PriceAdjustmentIdNotFoundException: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/price-adjustment-not-found + title: Price Adjustment Not Found + detail: No price adjustment with ID '453599643347eac5e4ebd85b49' could be found. + PriceBooksGet: + value: + - price-book-id1 + - price-book-id2 + PriceBooksPut: + value: + - price-book-id1 + - price-book-id2 + ShipmentsPost: + value: + shipmentId: me2 + shippingMethod: + id: '001' + shippingAddress: + firstName: Stephanie + lastName: Miller + address1: 385 Prospect Valley Road + city: Woburn + postalCode: '01801' + stateCode: MA + countryCode: US + examples-ShipmentsPost: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + shippingMethod: + description: Order received in 2 business days + id: '002' + name: 2-Day Express + price: 20.99 + shippingStatus: not_shipped + shippingTotal: 20.99 + shippingTotalTax: 1.05 + taxTotal: 36.05 + - adjustedMerchandizeTotalTax: 35 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 35 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me2 + shipmentTotal: 646.76 + shippingAddress: + address1: 385 Prospect Valley Road + city: Woburn + stateCode: MA + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: 84f06786daa68ae33af7e21ec6 + lastName: Miller + shippingMethod: + description: Order received in 2 business days + id: '001' + name: 2-Day Express + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 35 + shippingItems: + - adjustedTax: 1.05 + basePrice: 20.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 20.99 + priceAfterItemDiscount: 20.99 + shipmentId: me + tax: 1.05 + taxBasis: 20.99 + taxClassId: standard + taxRate: 0.05 + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: 6fea9966277c94e06b482a5c43 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 36.98 + shippingTotalTax: 1.35 + taxation: net + taxTotal: 36.35 + Forbidden: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden + title: Forbidden + detail: The shipment with ID 'me' corresponds to the default shipment and can't be deleted. + ShipmentsPatch: + value: + shipmentId: me + shipmentNo: ignored shipment no + shippingMethod: + id: '003' + shippingAddress: + firstName: Ward J + lastName: Adamek + address1: 4911 Lincoln Street + city: IDANHA + postalCode: '97350' + stateCode: OR + countryCode: US + c_wapi-string: shipment_custom_property + examples-ShipmentsPatch: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + shippingMethod: + description: Order received in 2 business days + id: '002' + name: 2-Day Express + price: 20.99 + shippingStatus: not_shipped + shippingTotal: 20.99 + shippingTotalTax: 1.05 + taxTotal: 36.05 + shippingItems: + - adjustedTax: 1.05 + basePrice: 20.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 20.99 + priceAfterItemDiscount: 20.99 + shipmentId: me + tax: 1.05 + taxBasis: 20.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 20.99 + shippingTotalTax: 1.05 + taxation: net + taxTotal: 36.05 + ShipmentsAddressPut: + value: + firstName: Ward J + lastName: Adamek + address1: 4911 Lincoln Street + city: IDANHA + postalCode: '97350' + stateCode: OR + countryCode: US + examples-ShipmentsAddressPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + postalCode: '97350' + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + stateCode: OR + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + ShipmentsMethodPut: + value: + id: '003' + examples-ShipmentsMethodPut: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: storefront + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4911 Lincoln Street + postalCode: '97350' + city: IDANHA + countryCode: US + firstName: Ward J + fullName: Ward J Adamek + id: b3e1269a2c1d0ad56694206741 + lastName: Adamek + stateCode: OR + shippingMethod: + description: Order received the next business day + id: '003' + name: Overnight + price: 29.99 + shippingStatus: not_shipped + shippingTotal: 29.99 + shippingTotalTax: 1.5 + taxTotal: 36.5 + shippingItems: + - adjustedTax: 1.5 + basePrice: 29.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 29.99 + priceAfterItemDiscount: 29.99 + shipmentId: me + tax: 1.5 + taxBasis: 29.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 29.99 + shippingTotalTax: 1.5 + taxation: net + taxTotal: 36.5 + ShipmentsMethodGet: + value: + applicableShippingMethods: + - description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + - description: Order received in 2 business days + id: '002' + name: 2-Day Express + price: 20.99 + - description: Order received the next business day + id: '003' + name: Overnight + price: 29.99 + - description: Store Pickup + id: '005' + name: Store Pickup + price: 0 + c_storePickupEnabled: true + defaultShippingMethodId: '001' + BasketPutStorefront: + value: + adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + agentBasket: false + basketId: a10ff320829cb0eef93ca5310a + billingAddress: + address1: 104 Presidential Way + city: Woburn + countryCode: US + firstName: Stephanie + fullName: Stephanie Miller + id: bfea663fd3de75d5be3ec02702 + lastName: Miller + postalCode: '01801' + stateCode: MA + channelType: callcenter + couponItems: + - code: 5ties + couponItemId: cc6ef43f207bf64099288aec36 + statusCode: no_applicable_promotion + valid: true + creationDate: '2019-10-17T08:29:55.340Z' + currency: USD + customerInfo: + customerId: beQeANXJNsd0xcINsB6cSrobQa + email: shopper@salesforce-test.com + lastModified: '2019-10-17T08:29:55.698Z' + merchandizeTotalTax: 30 + orderTotal: 646.76 + paymentInstruments: + - amount: 0 + paymentCard: + cardType: Visa + creditCardExpired: false + paymentInstrumentId: b7679bea661819b2de78b9de7d + paymentMethodId: CREDIT_CARD + productItems: + - adjustedTax: 30 + basePrice: 199.99 + bonusProductLineItem: false + gift: false + itemId: 3d4e28425ce0b3a65b0ac4e163 + itemText: Green Umbrella - Sustained Edition + optionItems: + - adjustedTax: 0 + basePrice: 0 + bonusProductLineItem: false + gift: false + itemId: ff9452ed11fcf5c80f9143a8f1 + itemText: We will plant a tree for your order. + optionId: plantATree + optionValueId: '000' + price: 0 + priceAfterItemDiscount: 0 + priceAfterOrderDiscount: 0 + productId: '000' + productName: Plant a tree. + quantity: 3 + shipmentId: me + tax: 0 + taxBasis: 0 + taxClassId: standard + taxRate: 0.05 + price: 599.97 + priceAfterItemDiscount: 599.97 + priceAfterOrderDiscount: 599.97 + productId: green-umbrella + productName: Green Umbrella - Sustained Edition + quantity: 3 + shipmentId: me + tax: 30 + taxBasis: 599.97 + taxClassId: standard + taxRate: 0.05 + productSubTotal: 599.97 + productTotal: 599.97 + shipments: + - adjustedMerchandizeTotalTax: 30 + adjustedShippingTotalTax: 0.8 + gift: false + merchandizeTotalTax: 30 + productSubTotal: 599.97 + productTotal: 599.97 + shipmentId: me + shipmentTotal: 646.76 + shippingAddress: + address1: 4162 Turkey Pen Road + city: New York + countryCode: US + firstName: Agustin + fullName: Agustin Estes + id: 4432af77112f7c2433248a48e8 + lastName: Estes + postalCode: '10016' + stateCode: NY + shippingMethod: + description: Order received within 7-10 business days + id: '001' + name: Ground + price: 15.99 + shippingStatus: not_shipped + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxTotal: 30.8 + shippingItems: + - adjustedTax: 0.8 + basePrice: 15.99 + itemId: d5ed0e58b8f8b5efe8d617a630 + itemText: Shipping + price: 15.99 + priceAfterItemDiscount: 15.99 + shipmentId: me + tax: 0.8 + taxBasis: 15.99 + taxClassId: standard + taxRate: 0.05 + shippingTotal: 15.99 + shippingTotalTax: 0.8 + taxation: net + taxTotal: 30.8 + BasketTaxGet: + value: + taxes: + 3d4e28425ce0b3a65b0ac4e163: + taxItems: + - id: DE_7 + rate: 0.07 + value: 13.99 + - id: DE_19 + rate: 0.19 + ff9452ed11fcf5c80f9143a8f1: + taxItems: + - id: US_1 + rate: 0.01 + - id: US_5 + rate: 0.05 + InvalidTaxMode: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode + title: Invalid Tax Mode + detail: Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode. + BasketTaxPut: + value: + taxes: + 3d4e28425ce0b3a65b0ac4e163: + taxItems: + - id: DE_7 + rate: 0.07 + value: 13.99 + - id: DE_19 + rate: 0.19 + ff9452ed11fcf5c80f9143a8f1: + taxItems: + - id: US_1 + rate: 0.01 + - id: US_5 + rate: 0.05 diff --git a/apis/shopper-context-oas/shopper-context-oas-1.0.33/.metadata.json b/apis/shopper-context-oas/shopper-context-oas-1.0.33/.metadata.json new file mode 100644 index 00000000..457a343e --- /dev/null +++ b/apis/shopper-context-oas/shopper-context-oas-1.0.33/.metadata.json @@ -0,0 +1,17 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-context-oas/1.0.33", + "name": "Shopper Context OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-context-oas", + "version": "1.0.33", + "categories": { + "SDK Type": [ + "Isomorphic", + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/shopper-context-oas/shopper-context-oas-1.0.33/exchange.json b/apis/shopper-context-oas/shopper-context-oas-1.0.33/exchange.json new file mode 100644 index 00000000..13b0f12e --- /dev/null +++ b/apis/shopper-context-oas/shopper-context-oas-1.0.33/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-context-oas-v1-public.yaml", + "name": "Shopper Context OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-context-oas", + "version": "1.0.33", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/shopper-context-oas/shopper-context-oas-1.0.33/shopper-context-oas-v1-internal.yaml b/apis/shopper-context-oas/shopper-context-oas-1.0.33/shopper-context-oas-v1-internal.yaml new file mode 100644 index 00000000..3cf008e6 --- /dev/null +++ b/apis/shopper-context-oas/shopper-context-oas-1.0.33/shopper-context-oas-v1-internal.yaml @@ -0,0 +1,541 @@ +openapi: 3.0.3 +info: + title: Shopper Context + version: v1 + description: "# API Overview\n\nWith the Shopper Context API, you can set any context information as a key/value pair and use it to retrieve personalized promotions, payment methods, and shipping methods. The context information that is set is evaluated against the customer group definitions to determine a customer group (shopper segment), and is then used to activate the experiences that are associated with a particular segment, such as promotions.\n\nYou can also get personalized API responses triggered by shopper context from the [Open Commerce API](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/OCAPI/current/usage/OpenCommerceAPI.html) (OCAPI). Support for both the B2C Commerce API and OCAPI allows shopper context to be used in hybrid deployments.\n\n**Warning** \nAccess tokens with a scope that includes the Shopper Context API are powerful. They can activate specific promotions and can be used to see how a storefront would be displayed in the future. Don't share them with untrusted clients like web browsers or client apps.\n\nMake Shopper Context calls with a private client and only set shopper context through a secure backend channel. To avoid misuse, do not make direct calls through a browser or similar client in which data can be viewed. \n\nAs part of this, when creating a SLAS public client for a tenant, if you attempt to add the Shopper Context API scope, a warning message is displayed to ensure you are aware of the pitfalls of doing so.\n\n**Note**:\n\nShopper context is valid for 1 day for guest shoppers and 7 days for registered shoppers. To extend the context set, create a new context. As a best practice, refresh your contexts periodically to ensure that the right personalized experience is rendered for your shoppers.\n\nWith B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` is required for all customers, and a bad request response code is returned for requests without a `siteId`.\n\n## Authentication & Authorization\n\nThe Shopper Context API requires a shopper access token from the Shopper Login and API Access Service (SLAS).\n\nFor details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html) in the SLAS guides. \n\nAdd `sfcc.shopper-context.rw` to the scopes configuration for the SLAS API client.\n\nFor more information, see [Authorization for Shopper APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) in the Get Started guides.\n\n**Warning**: As with all APIs, never store access tokens in the browser because this creates a security vulnerability.\n\n## Use Cases\n\nFor detailed usage information, see the [Shopper Context guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/shopper-context-api.html)." +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/shopper/shopper-context/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/shopper-context/{usid}: + get: + summary: |- + Get the shopper's context based on the shopperJWT. + + With B2C Commerce release 24.5, all endpoints in the Shopper context API require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. + operationId: getShopperContext + parameters: + - $ref: '#/components/parameters/usid' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Shopper Context retrieved successfully. + headers: + X-Geolocation: + description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set, `geoLocation` takes precedence. + required: false + schema: + type: string + example: 'CountryCode: US; Country: United States; MetroCode: 0; Latitude: 37.751; Longitude: -97.822' + content: + application/json: + schema: + $ref: '#/components/schemas/ShopperContext' + examples: + ShopperContextExample: + $ref: '#/components/examples/ShopperContextExample' + '400': + description: The usid in the incoming request does not match the usid in the token. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext400: + $ref: '#/components/examples/BadRequestUSIDNotMatching' + '401': + description: Your shopper JWT is invalid and cannot be used to identify the API client. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext401: + $ref: '#/components/examples/Unauthorized' + '403': + description: Your shopper JWT is valid, but you do not have permission to access the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext403: + $ref: '#/components/examples/Forbidden' + '404': + description: Shopper Context for ORGANIZATION_ID - f_ecom_bhbv_prd and USID - 7e1f65fb-185c-4788-8cec-05fef8dac77d not found in repository. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext404: + $ref: '#/components/examples/NotFound' + security: + - ShopperToken: + - sfcc.shopper-context + - sfcc.shopper-context.rw + put: + summary: |- + Create the shopper's context based on the shopperJWT. If a shopper context already exists, the entire existing context is replaced. + + With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. + operationId: createShopperContext + parameters: + - $ref: '#/components/parameters/usid' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/evaluateContextWithClientIp' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ShopperContext' + examples: + ShopperContextExample: + $ref: '#/components/examples/ShopperContextExample' + required: true + responses: + '200': + description: The shopper's context was created successfully. + headers: + X-Geolocation: + description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set, `geoLocation` takes precedence. + required: false + schema: + type: string + '201': + description: The shopper's context was created successfully. + headers: + X-Geolocation: + description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set, `geoLocation` takes precedence. + required: false + schema: + type: string + '400': + description: The usid in the incoming request does not match the usid in the token. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext400: + $ref: '#/components/examples/BadRequestUSIDNotMatching' + '401': + description: Your shopper JWT is invalid and cannot be used to identify the API client. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext401: + $ref: '#/components/examples/Unauthorized' + '403': + description: Your shopper JWT is valid, but you do not have permission to access the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + security: + - ShopperToken: + - sfcc.shopper-context.rw + delete: + description: |- + Get a shopper's context based on the shopperJWT. + + With B2C Commerce release 24.5, all endpoints in the Shopper context API require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. + operationId: deleteShopperContext + parameters: + - $ref: '#/components/parameters/usid' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: The shopper's context was deleted successfully. + '400': + description: The usid in the incoming request does not match the usid in the token. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext400: + $ref: '#/components/examples/BadRequestUSIDNotMatching' + '401': + description: Your shopper JWT is invalid and cannot be used to identify the API client. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext401: + $ref: '#/components/examples/Unauthorized' + '403': + description: Your shopper JWT is valid, but you do not have permission to access the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: Shopper Context for ORGANIZATION_ID - f_ecom_bhbv_prd and USID - 7e1f65fb-185c-4788-8cec-05fef8dac77d not found in repository. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext404: + $ref: '#/components/examples/NotFound' + security: + - ShopperToken: + - sfcc.shopper-context.rw + patch: + summary: Update an existing shopper's context based on the Shopper JWT. + description: "If the shopper context exists, it's updated with the patch body.\n- If a new attribute that does not exist in the existing shopper context is present, it is added to the context.\n-If an attribute is already present in the existing shopper context, its value is replaced by the corresponding value from the new shopper context in the request body as follows:\n - `custom qualifiers` or `assignment qualifiers`:\n\n If the individual qualifier key exists, it is overwritten with the new value.\n\n If the value of the key is set to null, it is deleted from the existing shopper context.\n\n If an empty `custom qualifiers` or `assignment qualifiers` object `{}` is passed, the entire qualifier object is deleted.\n - `effectiveDateTime` or `sourceCode` or `clientIp`:\n\n If the new value is set to an empty string (\"\"), it is deleted from the existing shopper context.\n\n If the new value is set to null, it is ignored.\n\n If the new value is not empty or null, it overwrites the existing value.\n\n - `customerGroupIds`:\n\n If a list of `customerGroupIds` exists, it is replaced by the new list of customer group IDs from the request.\n\n If `customerGroupIds` is set to an empty array [], the existing list in the shopper context is deleted.\n\n - `geoLocation`: \n\n If it exists, the entire `geoLocation` object is replaced with the new value.\n\n If the new value is set to null, it is ignored.\n\n If an empty `geoLocation` object `{}` is passed, it is deleted. \n\nWith B2C Commerce release 24.5, all endpoints in the Shopper context API require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025." + operationId: updateShopperContext + parameters: + - $ref: '#/components/parameters/usid' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/evaluateContextWithClientIp' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ShopperContext' + examples: + ShopperContextUpdateRequestBody: + $ref: '#/components/examples/ShopperContextUpdateRequestBody' + required: true + responses: + '200': + description: The shopper context was updated successfully. + headers: + X-Geolocation: + required: false + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/ShopperContext' + examples: + ShopperContextUpdateResponseExample: + $ref: '#/components/examples/ShopperContextUpdateResponseExample' + '400': + description: The usid in the incoming request does not match the usid in the token. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + updateShopperContext400: + $ref: '#/components/examples/BadRequestUSIDNotMatching' + '401': + description: Your shopper JWT is invalid and cannot be used to identify the API client. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + updateShopperContext401: + $ref: '#/components/examples/Unauthorized' + '403': + description: Your shopper JWT is valid, but you do not have permission to access the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + updateShopperContext403: + $ref: '#/components/examples/Forbidden' + security: + - ShopperToken: + - sfcc.shopper-context.rw +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-context: Shopper Context READONLY + sfcc.shopper-context.rw: Shopper Context + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-context: Shopper Context READONLY + sfcc.shopper-context.rw: Shopper Context + parameters: + usid: + name: usid + in: path + description: The Shopper's unique identifier. It is a required parameter and is part of the response from the Guest or Registered User Shopper Login (SLAS) API call. + required: true + schema: + type: string + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The site context. + name: siteId + example: RefArch + in: query + required: false + schema: + $ref: '#/components/schemas/SiteId' + evaluateContextWithClientIp: + name: evaluateContextWithClientIp + in: query + description: | + Determines whether to evaluate the context using the provided `clientIp`. This property is available with B2C Commerce version 24.7. + - If `evaluateContextWithClientIp` is set to `true`: + - The `clientIP` is saved and used in subsequent requests. + + - If `evaluateContextWithClientIp` is set to `false`: + - The `clientIP` is not saved and will not be used in subsequent requests. + required: false + schema: + type: boolean + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + ShopperContext: + type: object + properties: + effectiveDateTime: + description: Qualifier to set the effective date time for the context to apply. For example, "Shop the Future" use cases. If not provided, the current dateTime will be assumed. + type: string + example: '2020-12-20T00:00:00Z' + format: date-time + nullable: true + sourceCode: + description: Qualifier to set the source code for the context to apply. Set the source code to evaluate source code group that triggers the promotion (campaign assignment) and Price books (assigned to Source code group). + type: string + example: wii1-98 + nullable: true + customerGroupIds: + items: + maxLength: 256 + type: string + example: BigSpenders + type: array + description: Qualifier to set the Customer Group Ids for the context to apply. Set the Customer Group Ids to evaluate customer groups that trigger the promotions (campaign assignment) assigned to the customer groups. + customQualifiers: + type: object + additionalProperties: false + description: Map of custom qualifiers for the shopper context. Set this object to trigger pricing and promotion experiences using a dynamic session-based customer group. Object size is limited to 20 key-value pairs (properties). + example: + deviceType: mobile + ipAddress: 189.0.0.0 + operatingSystem: Android + assignmentQualifiers: + type: object + example: + store: boston + additionalProperties: false + description: Map of assignment qualifiers for the shopper context. Set this object when using the assignment framework to activate experiences based on assignment qualifiers. Currently, only pricing and promotion experiences are supported. Object size is limited to 20 key-value pairs (properties). + clientIp: + type: string + example: 12.12.12.1 + description: "The IP Address of the client. If the client IP is not a valid IPv4 address, a Bad Request (400) error is thrown. This property is available with B2C Commerce version 24.7.\n\nWhen `clientIp` is set, the geolocation based on the `clientIp` is returned in the `X-Geolocation` header in the response. Note: Use/retrieve this header in a case insensitive manner.\n\nHowever, if the `geoLocation` attribute is also set in the context, it takes precedence over the `clientIp`, and the `X-Geolocation` header returns the geolocation based on the `geoLocation` attribute.\n\nThe query parameter `evaluateContextWithClientIp` determines whether to evaluate the context using the provided `clientIp`.\n - If `evaluateContextWithClientIp` is set to `true`:\n - The `clientIp` is saved and used in subsequent requests. \n \n Note: If `geoLocation` is also saved in the context, it takes precedence over the `clientIp`.\n - If `evaluateContextWithClientIp` is set to `false`:\n - The `clientIp` is not saved and is not used in subsequent requests." + geoLocation: + type: object + properties: + city: + type: string + description: The city name associated with this location. + example: Boston + country: + type: string + description: The country name associated with this location. + example: United States of America + countryCode: + type: string + description: The ISO country code associated with this location. + example: US + latitude: + example: 10.11 + type: number + description: The latitude coordinate, which is a number between -90.0 and +90.0, associated with this location. + format: double + longitude: + type: number + example: 198.34 + description: The longitude coordinate, which is a number between -180.0 and +180.0, associated with this location. + format: double + metroCode: + type: string + description: The metro code associated with this location. + postalCode: + type: string + description: The postal code associated with this location. + example: '01730' + region: + type: string + description: The region (subdivision) name for this location. Corresponds with "state" in the USA. + example: NA + regionCode: + type: string + example: '12345' + description: The region (province or state) code for this location. + description: The geographic location of the client. When you set a geolocation, it is saved as context for subsequent requests. This overrides any geolocation context previously saved using `clientIp`. This property is available with B2C Commerce version 24.7. + description: A shoppers' context represented as key-value string pairs. + example: + effectiveDateTime: '2020-12-20T00:00:00Z' + sourceCode: wii1-98 + customQualifiers: + deviceType: mobile + ipAddress: 189.0.0.0 + operatingSystem: Android + assignmentQualifiers: + store: boston + customerGroupIds: + - BigSpenders + - MobileUsers + clientIp: 12.12.12.1 + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + examples: + ShopperContextExample: + value: + effectiveDateTime: '2020-12-20T00:00:00Z' + sourceCode: wii1-98 + customQualifiers: + deviceType: mobile + ipAddress: 189.0.0.0 + operatingSystem: Android + assignmentQualifiers: + store: boston + customerGroupIds: + - BigSpenders + - MobileUsers + clientIp: 12.12.12.1 + BadRequestUSIDNotMatching: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/usid-not-matching-with-token + detail: Usid in incoming request does not match Usid in token. + title: Usid not matching with token + Unauthorized: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized + title: Unauthorized + detail: Your shopper JWT is invalid and could not be used to identify the API client. + Forbidden: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden + title: Forbidden + detail: Your shopper JWT is valid, but you have no permissions to access the resource. + NotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shopper-context-no-found + detail: 'Shopper Context for ORGANIZATION_ID: f_ecom_bhbv_prd and USID: 7e1f65fb-185c-4788-8cec-05fef8dac77d not found in Repository.' + title: Shopper Context Not Found + ShopperContextUpdateRequestBody: + value: + effectiveDateTime: null + customQualifiers: + deviceType: iPad + operatingSystem: null + storeId: SLC1 + assignmentQualifiers: + store: london + clientIp: 12.12.12.1 + geoLocation: + countryCode: US + country: United States of America + city: Boston + postalCode: '01730' + metroCode: M234 + region: NA + regionCode: '12345' + latitude: 10.11 + longitude: 198.34 + ShopperContextUpdateResponseExample: + value: + sourceCode: wii1-98 + customQualifiers: + deviceType: iPad + ipAddress: 189.0.0.0 + storeId: SLC1 + assignmentQualifiers: + store: london + customerGroupIds: + - BigSpenders + - MobileUsers + clientIp: 12.12.12.1 + geoLocation: + countryCode: US + country: United States of America + city: Boston + postalCode: '01730' + metroCode: M234 + region: NA + regionCode: '12345' + latitude: 10.11 + longitude: 198.34 +x-sdk-classname: ShopperContexts diff --git a/apis/shopper-context-oas/shopper-context-oas-1.0.33/shopper-context-oas-v1-public.yaml b/apis/shopper-context-oas/shopper-context-oas-1.0.33/shopper-context-oas-v1-public.yaml new file mode 100644 index 00000000..7ac29a33 --- /dev/null +++ b/apis/shopper-context-oas/shopper-context-oas-1.0.33/shopper-context-oas-v1-public.yaml @@ -0,0 +1,540 @@ +openapi: 3.0.3 +info: + title: Shopper Context + version: v1 + description: "# API Overview\n\nWith the Shopper Context API, you can set any context information as a key/value pair and use it to retrieve personalized promotions, payment methods, and shipping methods. The context information that is set is evaluated against the customer group definitions to determine a customer group (shopper segment), and is then used to activate the experiences that are associated with a particular segment, such as promotions.\n\nYou can also get personalized API responses triggered by shopper context from the [Open Commerce API](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/OCAPI/current/usage/OpenCommerceAPI.html) (OCAPI). Support for both the B2C Commerce API and OCAPI allows shopper context to be used in hybrid deployments.\n\n**Warning** \nAccess tokens with a scope that includes the Shopper Context API are powerful. They can activate specific promotions and can be used to see how a storefront would be displayed in the future. Don't share them with untrusted clients like web browsers or client apps.\n\nMake Shopper Context calls with a private client and only set shopper context through a secure backend channel. To avoid misuse, do not make direct calls through a browser or similar client in which data can be viewed. \n\nAs part of this, when creating a SLAS public client for a tenant, if you attempt to add the Shopper Context API scope, a warning message is displayed to ensure you are aware of the pitfalls of doing so.\n\n**Note**:\n\nShopper context is valid for 1 day for guest shoppers and 7 days for registered shoppers. To extend the context set, create a new context. As a best practice, refresh your contexts periodically to ensure that the right personalized experience is rendered for your shoppers.\n\nWith B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` is required for all customers, and a bad request response code is returned for requests without a `siteId`.\n\n## Authentication & Authorization\n\nThe Shopper Context API requires a shopper access token from the Shopper Login and API Access Service (SLAS).\n\nFor details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html) in the SLAS guides. \n\nAdd `sfcc.shopper-context.rw` to the scopes configuration for the SLAS API client.\n\nFor more information, see [Authorization for Shopper APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) in the Get Started guides.\n\n**Warning**: As with all APIs, never store access tokens in the browser because this creates a security vulnerability.\n\n## Use Cases\n\nFor detailed usage information, see the [Shopper Context guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/shopper-context-api.html)." +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/shopper/shopper-context/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/shopper-context/{usid}: + get: + summary: |- + Get the shopper's context based on the shopperJWT. + + With B2C Commerce release 24.5, all endpoints in the Shopper context API require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. + operationId: getShopperContext + parameters: + - $ref: '#/components/parameters/usid' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Shopper Context retrieved successfully. + headers: + X-Geolocation: + description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set, `geoLocation` takes precedence. + required: false + schema: + type: string + example: 'CountryCode: US; Country: United States; MetroCode: 0; Latitude: 37.751; Longitude: -97.822' + content: + application/json: + schema: + $ref: '#/components/schemas/ShopperContext' + examples: + ShopperContextExample: + $ref: '#/components/examples/ShopperContextExample' + '400': + description: The usid in the incoming request does not match the usid in the token. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext400: + $ref: '#/components/examples/BadRequestUSIDNotMatching' + '401': + description: Your shopper JWT is invalid and cannot be used to identify the API client. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext401: + $ref: '#/components/examples/Unauthorized' + '403': + description: Your shopper JWT is valid, but you do not have permission to access the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext403: + $ref: '#/components/examples/Forbidden' + '404': + description: Shopper Context for ORGANIZATION_ID - f_ecom_bhbv_prd and USID - 7e1f65fb-185c-4788-8cec-05fef8dac77d not found in repository. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext404: + $ref: '#/components/examples/NotFound' + security: + - ShopperToken: + - sfcc.shopper-context + - sfcc.shopper-context.rw + put: + summary: |- + Create the shopper's context based on the shopperJWT. If a shopper context already exists, the entire existing context is replaced. + + With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. + operationId: createShopperContext + parameters: + - $ref: '#/components/parameters/usid' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/evaluateContextWithClientIp' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ShopperContext' + examples: + ShopperContextExample: + $ref: '#/components/examples/ShopperContextExample' + required: true + responses: + '200': + description: The shopper's context was created successfully. + headers: + X-Geolocation: + description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set, `geoLocation` takes precedence. + required: false + schema: + type: string + '201': + description: The shopper's context was created successfully. + headers: + X-Geolocation: + description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set, `geoLocation` takes precedence. + required: false + schema: + type: string + '400': + description: The usid in the incoming request does not match the usid in the token. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext400: + $ref: '#/components/examples/BadRequestUSIDNotMatching' + '401': + description: Your shopper JWT is invalid and cannot be used to identify the API client. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext401: + $ref: '#/components/examples/Unauthorized' + '403': + description: Your shopper JWT is valid, but you do not have permission to access the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + security: + - ShopperToken: + - sfcc.shopper-context.rw + delete: + description: |- + Get a shopper's context based on the shopperJWT. + + With B2C Commerce release 24.5, all endpoints in the Shopper context API require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. + operationId: deleteShopperContext + parameters: + - $ref: '#/components/parameters/usid' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: The shopper's context was deleted successfully. + '400': + description: The usid in the incoming request does not match the usid in the token. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext400: + $ref: '#/components/examples/BadRequestUSIDNotMatching' + '401': + description: Your shopper JWT is invalid and cannot be used to identify the API client. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext401: + $ref: '#/components/examples/Unauthorized' + '403': + description: Your shopper JWT is valid, but you do not have permission to access the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Forbidden: + $ref: '#/components/examples/Forbidden' + '404': + description: Shopper Context for ORGANIZATION_ID - f_ecom_bhbv_prd and USID - 7e1f65fb-185c-4788-8cec-05fef8dac77d not found in repository. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + getShopperContext404: + $ref: '#/components/examples/NotFound' + security: + - ShopperToken: + - sfcc.shopper-context.rw + patch: + summary: Update an existing shopper's context based on the Shopper JWT. + description: "If the shopper context exists, it's updated with the patch body.\n- If a new attribute that does not exist in the existing shopper context is present, it is added to the context.\n-If an attribute is already present in the existing shopper context, its value is replaced by the corresponding value from the new shopper context in the request body as follows:\n - `custom qualifiers` or `assignment qualifiers`:\n\n If the individual qualifier key exists, it is overwritten with the new value.\n\n If the value of the key is set to null, it is deleted from the existing shopper context.\n\n If an empty `custom qualifiers` or `assignment qualifiers` object `{}` is passed, the entire qualifier object is deleted.\n - `effectiveDateTime` or `sourceCode` or `clientIp`:\n\n If the new value is set to an empty string (\"\"), it is deleted from the existing shopper context.\n\n If the new value is set to null, it is ignored.\n\n If the new value is not empty or null, it overwrites the existing value.\n\n - `customerGroupIds`:\n\n If a list of `customerGroupIds` exists, it is replaced by the new list of customer group IDs from the request.\n\n If `customerGroupIds` is set to an empty array [], the existing list in the shopper context is deleted.\n\n - `geoLocation`: \n\n If it exists, the entire `geoLocation` object is replaced with the new value.\n\n If the new value is set to null, it is ignored.\n\n If an empty `geoLocation` object `{}` is passed, it is deleted. \n\nWith B2C Commerce release 24.5, all endpoints in the Shopper context API require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025." + operationId: updateShopperContext + parameters: + - $ref: '#/components/parameters/usid' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/evaluateContextWithClientIp' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ShopperContext' + examples: + ShopperContextUpdateRequestBody: + $ref: '#/components/examples/ShopperContextUpdateRequestBody' + required: true + responses: + '200': + description: The shopper context was updated successfully. + headers: + X-Geolocation: + required: false + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/ShopperContext' + examples: + ShopperContextUpdateResponseExample: + $ref: '#/components/examples/ShopperContextUpdateResponseExample' + '400': + description: The usid in the incoming request does not match the usid in the token. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + updateShopperContext400: + $ref: '#/components/examples/BadRequestUSIDNotMatching' + '401': + description: Your shopper JWT is invalid and cannot be used to identify the API client. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + updateShopperContext401: + $ref: '#/components/examples/Unauthorized' + '403': + description: Your shopper JWT is valid, but you do not have permission to access the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + updateShopperContext403: + $ref: '#/components/examples/Forbidden' + security: + - ShopperToken: + - sfcc.shopper-context.rw +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-context: Shopper Context READONLY + sfcc.shopper-context.rw: Shopper Context + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-context: Shopper Context READONLY + sfcc.shopper-context.rw: Shopper Context + parameters: + usid: + name: usid + in: path + description: The Shopper's unique identifier. It is a required parameter and is part of the response from the Guest or Registered User Shopper Login (SLAS) API call. + required: true + schema: + type: string + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + siteId: + description: The site context. + name: siteId + example: RefArch + in: query + required: false + schema: + $ref: '#/components/schemas/SiteId' + evaluateContextWithClientIp: + name: evaluateContextWithClientIp + in: query + description: | + Determines whether to evaluate the context using the provided `clientIp`. This property is available with B2C Commerce version 24.7. + - If `evaluateContextWithClientIp` is set to `true`: + - The `clientIP` is saved and used in subsequent requests. + + - If `evaluateContextWithClientIp` is set to `false`: + - The `clientIP` is not saved and will not be used in subsequent requests. + required: false + schema: + type: boolean + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + ShopperContext: + type: object + properties: + effectiveDateTime: + description: Qualifier to set the effective date time for the context to apply. For example, "Shop the Future" use cases. If not provided, the current dateTime will be assumed. + type: string + example: '2020-12-20T00:00:00Z' + format: date-time + nullable: true + sourceCode: + description: Qualifier to set the source code for the context to apply. Set the source code to evaluate source code group that triggers the promotion (campaign assignment) and Price books (assigned to Source code group). + type: string + example: wii1-98 + nullable: true + customerGroupIds: + items: + maxLength: 256 + type: string + example: BigSpenders + type: array + description: Qualifier to set the Customer Group Ids for the context to apply. Set the Customer Group Ids to evaluate customer groups that trigger the promotions (campaign assignment) assigned to the customer groups. + customQualifiers: + type: object + additionalProperties: false + description: Map of custom qualifiers for the shopper context. Set this object to trigger pricing and promotion experiences using a dynamic session-based customer group. Object size is limited to 20 key-value pairs (properties). + example: + deviceType: mobile + ipAddress: 189.0.0.0 + operatingSystem: Android + assignmentQualifiers: + type: object + example: + store: boston + additionalProperties: false + description: Map of assignment qualifiers for the shopper context. Set this object when using the assignment framework to activate experiences based on assignment qualifiers. Currently, only pricing and promotion experiences are supported. Object size is limited to 20 key-value pairs (properties). + clientIp: + type: string + example: 12.12.12.1 + description: "The IP Address of the client. If the client IP is not a valid IPv4 address, a Bad Request (400) error is thrown. This property is available with B2C Commerce version 24.7.\n\nWhen `clientIp` is set, the geolocation based on the `clientIp` is returned in the `X-Geolocation` header in the response. Note: Use/retrieve this header in a case insensitive manner.\n\nHowever, if the `geoLocation` attribute is also set in the context, it takes precedence over the `clientIp`, and the `X-Geolocation` header returns the geolocation based on the `geoLocation` attribute.\n\nThe query parameter `evaluateContextWithClientIp` determines whether to evaluate the context using the provided `clientIp`.\n - If `evaluateContextWithClientIp` is set to `true`:\n - The `clientIp` is saved and used in subsequent requests. \n \n Note: If `geoLocation` is also saved in the context, it takes precedence over the `clientIp`.\n - If `evaluateContextWithClientIp` is set to `false`:\n - The `clientIp` is not saved and is not used in subsequent requests." + geoLocation: + type: object + properties: + city: + type: string + description: The city name associated with this location. + example: Boston + country: + type: string + description: The country name associated with this location. + example: United States of America + countryCode: + type: string + description: The ISO country code associated with this location. + example: US + latitude: + example: 10.11 + type: number + description: The latitude coordinate, which is a number between -90.0 and +90.0, associated with this location. + format: double + longitude: + type: number + example: 198.34 + description: The longitude coordinate, which is a number between -180.0 and +180.0, associated with this location. + format: double + metroCode: + type: string + description: The metro code associated with this location. + postalCode: + type: string + description: The postal code associated with this location. + example: '01730' + region: + type: string + description: The region (subdivision) name for this location. Corresponds with "state" in the USA. + example: NA + regionCode: + type: string + example: '12345' + description: The region (province or state) code for this location. + description: The geographic location of the client. When you set a geolocation, it is saved as context for subsequent requests. This overrides any geolocation context previously saved using `clientIp`. This property is available with B2C Commerce version 24.7. + description: A shoppers' context represented as key-value string pairs. + example: + effectiveDateTime: '2020-12-20T00:00:00Z' + sourceCode: wii1-98 + customQualifiers: + deviceType: mobile + ipAddress: 189.0.0.0 + operatingSystem: Android + assignmentQualifiers: + store: boston + customerGroupIds: + - BigSpenders + - MobileUsers + clientIp: 12.12.12.1 + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + examples: + ShopperContextExample: + value: + effectiveDateTime: '2020-12-20T00:00:00Z' + sourceCode: wii1-98 + customQualifiers: + deviceType: mobile + ipAddress: 189.0.0.0 + operatingSystem: Android + assignmentQualifiers: + store: boston + customerGroupIds: + - BigSpenders + - MobileUsers + clientIp: 12.12.12.1 + BadRequestUSIDNotMatching: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/usid-not-matching-with-token + detail: Usid in incoming request does not match Usid in token. + title: Usid not matching with token + Unauthorized: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized + title: Unauthorized + detail: Your shopper JWT is invalid and could not be used to identify the API client. + Forbidden: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden + title: Forbidden + detail: Your shopper JWT is valid, but you have no permissions to access the resource. + NotFound: + value: + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shopper-context-no-found + detail: 'Shopper Context for ORGANIZATION_ID: f_ecom_bhbv_prd and USID: 7e1f65fb-185c-4788-8cec-05fef8dac77d not found in Repository.' + title: Shopper Context Not Found + ShopperContextUpdateRequestBody: + value: + effectiveDateTime: null + customQualifiers: + deviceType: iPad + operatingSystem: null + storeId: SLC1 + assignmentQualifiers: + store: london + clientIp: 12.12.12.1 + geoLocation: + countryCode: US + country: United States of America + city: Boston + postalCode: '01730' + metroCode: M234 + region: NA + regionCode: '12345' + latitude: 10.11 + longitude: 198.34 + ShopperContextUpdateResponseExample: + value: + sourceCode: wii1-98 + customQualifiers: + deviceType: iPad + ipAddress: 189.0.0.0 + storeId: SLC1 + assignmentQualifiers: + store: london + customerGroupIds: + - BigSpenders + - MobileUsers + clientIp: 12.12.12.1 + geoLocation: + countryCode: US + country: United States of America + city: Boston + postalCode: '01730' + metroCode: M234 + region: NA + regionCode: '12345' + latitude: 10.11 + longitude: 198.34 diff --git a/apis/shopper-experience-oas/shopper-experience-oas-1.0.5/.metadata.json b/apis/shopper-experience-oas/shopper-experience-oas-1.0.5/.metadata.json new file mode 100644 index 00000000..5c20ce8d --- /dev/null +++ b/apis/shopper-experience-oas/shopper-experience-oas-1.0.5/.metadata.json @@ -0,0 +1,17 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-experience-oas/1.0.5", + "name": "Shopper Experience OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-experience-oas", + "version": "1.0.5", + "categories": { + "SDK Type": [ + "Isomorphic", + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/shopper-experience-oas/shopper-experience-oas-1.0.5/exchange.json b/apis/shopper-experience-oas/shopper-experience-oas-1.0.5/exchange.json new file mode 100644 index 00000000..c38de835 --- /dev/null +++ b/apis/shopper-experience-oas/shopper-experience-oas-1.0.5/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-experience-oas-v1-bundled.yaml", + "name": "Shopper Experience OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-experience-oas", + "version": "1.0.5", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/shopper-experience-oas/shopper-experience-oas-1.0.5/shopper-experience-oas-v1-bundled.yaml b/apis/shopper-experience-oas/shopper-experience-oas-1.0.5/shopper-experience-oas-v1-bundled.yaml new file mode 100644 index 00000000..b91531f3 --- /dev/null +++ b/apis/shopper-experience-oas/shopper-experience-oas-1.0.5/shopper-experience-oas-v1-bundled.yaml @@ -0,0 +1,602 @@ +openapi: 3.0.3 +info: + title: Shopper Experience + version: v1 + description: |- + Use the Shopper Experience API to look up page information for pages that are created in Page Designer. + + Responses include the following: + + - The entire component hierarchy of the page at design time. + - All merchant data provided at design time. + - Server-side scripting data provided at run time. + + Both the page and components contain the values of all native and custom attributes that have been populated during page authoring. + + Only visible pages are returned. Because the visibility of components is driven by rules (scheduling or customer groups, for example), these rules are subject to evaluation when assembling the component hierarchy in the response. Only components that are visible for the current customer context appear in the response. The same rules apply to the page itself, which is only be processed and returned if it is visible. + + **Important**: Currently, the Shopper Experience API can’t be used when the [storefront password protection](https://documentation.b2c.commercecloud.salesforce.com/DOC1/index.jsp?topic=%2Fcom.demandware.dochelp%2Fcontent%2Fb2c_commerce%2Ftopics%2Fpermissions%2Fb2c_storefront_password_protection.html&resultof=%22%73%74%6f%72%65%66%72%6f%6e%74%22%20%22%70%72%6f%74%65%63%74%69%6f%6e%22%20%22%70%72%6f%74%65%63%74%22%20) feature is enabled. +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/experience/shopper-experience/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/pages: + get: + summary: Get Page Designer pages. + description: "Get Page Designer pages. The results apply the visibility rules for each page's components, such as personalization or scheduled visibility.\n\nYou must provide the `aspectTypeId` along with either a `categoryId` or a `productId`. Since you can only create one page-to-product or page-to-category assignment per aspect type, the result contains at most one element.\n\n**Important**: \n- Currently, you can't use the Shopper Experience API when the [storefront password protection](https://documentation.b2c.commercecloud.salesforce.com/DOC1/index.jsp?topic=%2Fcom.demandware.dochelp%2Fcontent%2Fb2c_commerce%2Ftopics%2Fpermissions%2Fb2c_storefront_password_protection.html&resultof=%22%73%74%6f%72%65%66%72%6f%6e%74%22%20%22%70%72%6f%74%65%63%74%69%6f%6e%22%20%22%70%72%6f%74%65%63%74%22%20) feature is enabled.\n- Because this resource uses the GET method, you must not pass sensitive data, for example: payment card information, and must not perform transactional processes within the server-side scripts that are run for the page and components.\n- Be aware that pagecache during fingerprint calculation will only be leveraged for pages and their components that don't use visibility rules. Furthermore the pagecaching of the actual response assembly solely depends on the response instrumentation with the serverside page type and component type script implementations. For more details also see the [Page Designer Caching Guide](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-dev-for-page-designer.html#page-caching)." + operationId: getPages + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/categoryId' + - $ref: '#/components/parameters/productId' + - $ref: '#/components/parameters/aspectTypeId' + - $ref: '#/components/parameters/aspectAttributes' + - $ref: '#/components/parameters/parameters' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success. + content: + application/json: + schema: + $ref: '#/components/schemas/PageResult' + examples: + PageResult: + $ref: '#/components/examples/PageResult' + '400': + description: | + Business Object ID Invalid + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BusinessObjectIDInvalid: + $ref: '#/components/examples/BusinessObjectIDInvalid' + '404': + description: | + Requested Aspect Type Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + AspectTypeNotFound: + $ref: '#/components/examples/AspectTypeNotFound' + security: + - ShopperToken: + - sfcc.shopper-experience + /organizations/{organizationId}/pages/{pageId}: + get: + summary: Get a Page Designer page based on a single page ID. + description: "Get a Page Designer page for a specific page ID. The results apply the visibility rules for the page's components, such as personalization or scheduled visibility.\n\n**Important**: \n- Currently, you can't use the Shopper Experience API when the [storefront password protection](https://documentation.b2c.commercecloud.salesforce.com/DOC1/index.jsp?topic=%2Fcom.demandware.dochelp%2Fcontent%2Fb2c_commerce%2Ftopics%2Fpermissions%2Fb2c_storefront_password_protection.html&resultof=%22%73%74%6f%72%65%66%72%6f%6e%74%22%20%22%70%72%6f%74%65%63%74%69%6f%6e%22%20%22%70%72%6f%74%65%63%74%22%20) feature is enabled.\n- Because this resource uses the GET method, you must not pass sensitive data, for example: payment card information, and must not perform transactional processes within the server-side scripts that are run for the page and components.\n- Be aware that pagecache during fingerprint calculation will only be leveraged for pages and their components that don't use visibility rules. Furthermore the pagecaching of the actual response assembly solely depends on the response instrumentation with the serverside page type and component type script implementations. For more details also see the [Page Designer Caching Guide](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-dev-for-page-designer.html#page-caching)." + operationId: getPage + parameters: + - $ref: '#/components/parameters/pageId' + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/aspectAttributes' + - $ref: '#/components/parameters/parameters' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Success. + content: + application/json: + schema: + $ref: '#/components/schemas/Page' + examples: + Page: + $ref: '#/components/examples/Page' + '400': + description: | + Provided Aspect Attribute Invalid + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + AspectAttributeInvalid: + $ref: '#/components/examples/AspectAttributeInvalid' + '404': + description: | + Requested Page Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PageNotFound: + $ref: '#/components/examples/PageNotFound' + security: + - ShopperToken: + - sfcc.shopper-experience +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-experience: Shopper Experience scope READONLY + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-experience: Shopper Experience scope READONLY + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + Region: + properties: + id: + maxLength: 256 + title: ID + description: Region identifier. + example: header + type: string + components: + title: Components + description: The components in the region. + example: + - id: iofwj38fhw3f + typeId: commerce_assets.banner + data: + title: Products On Sale + bannerImage: sale/topsellerPromo.jpg + custom: + thumbnail_full: http://static.myshop.com/sale/topsellerPromo.jpg + type: array + items: + $ref: '#/components/schemas/Component' + required: + - id + type: object + Component: + properties: + id: + maxLength: 256 + title: ID + description: Component identifier. + example: rfdvj4ojtltljw3 + type: string + typeId: + maxLength: 256 + title: Component Type ID + description: Component type identifier. + example: commerce_assets.carousel + type: string + data: + title: Component Data + description: The configuration data assigned to the component. + example: + title: Topseller + category: topseller + type: object + custom: + title: Custom Component Data + description: Any custom data added by the custom code for this component. + example: + detailUrl: www.myshop.com/topseller + type: object + regions: + title: Regions + description: The regions (and their assigned components) for the component. + example: + - id: tiles + components: + - id: w3reö9wsjf3 + typeId: commerce_assets.productTile + data: + product: iphone6 + - id: cgn8d4ngdl4n + typeId: commerce_assets.productTile + data: + product: iphone7 + type: array + items: + $ref: '#/components/schemas/Region' + required: + - id + - typeId + type: object + Page: + properties: + id: + maxLength: 256 + title: ID + description: Page identifier. + example: homepage + type: string + typeId: + maxLength: 256 + title: Page Type ID + description: Page type identifier. + example: storePage + type: string + aspectTypeId: + maxLength: 256 + title: Aspect Type ID + description: The aspect type assigned to the page. + example: pdpAspect + type: string + name: + maxLength: 4000 + title: Page Name + description: Display name of the page. + example: Homepage + type: string + description: + maxLength: 4000 + title: Page Description + description: Description of the page. + example: Home page of the storefront. + type: string + pageTitle: + maxLength: 4000 + title: SEO Title + description: The SEO title of the page. + example: Homepage - My Shop + type: string + pageDescription: + maxLength: 4000 + title: SEO Description + description: The SEO description of the page. + example: Get started shopping + type: string + pageKeywords: + maxLength: 4000 + title: SEO Keywords + description: The SEO keywords of the page. + example: fashion, my shop + type: string + data: + title: Page Data + description: The configuration data assigned to the page. + example: + thumbnail: myshop.jpg + type: object + custom: + title: Custom Page Data + description: Any custom data added by the custom code for the page type. + example: + thumbnail_full: http://static.myshop.com/myshop.jpg + type: object + regions: + title: Regions + description: The regions (and their assigned components) for the page. + example: + - id: header + components: + - id: iofwj38fhw3f + typeId: commerce_assets.banner + data: + title: Products On Sale + bannerImage: sale/topsellerPromo.jpg + custom: + thumbnail_full: http://static.myshop.com/sale/topsellerPromo.jpg + - id: main + components: + - id: rfdvj4ojtltljw3 + typeId: commerce_assets.carousel + data: + title: Topseller + category: topseller + custom: + detailUrl: www.myshop.com/topseller + regions: + - id: tiles + components: + - id: w3reö9wsjf3 + typeId: commerce_assets.productTile + data: + product: iphone6 + - id: cgn8d4ngdl4n + typeId: commerce_assets.productTile + data: + product: iphone7 + - id: footer + components: [] + type: array + items: + $ref: '#/components/schemas/Region' + required: + - id + - typeId + type: object + PageResult: + properties: + data: + title: Data + description: List of pages. + type: array + items: + $ref: '#/components/schemas/Page' + required: + - data + type: object + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + categoryId: + name: categoryId + in: query + description: Category identifier that is used for searching the page assignment. Must be provided if no `productId` is provided. + required: false + schema: + maxLength: 256 + type: string + example: home-clearance + productId: + name: productId + in: query + description: Product identifier that is used for searching the page assignment. Must be provided if no `categoryId` is provided. + required: false + schema: + maxLength: 100 + type: string + example: iphone11 + aspectTypeId: + name: aspectTypeId + in: query + description: Aspect type identifier that is used for searching the page assignment in conjunction with either the `productId` or `categoryId`. + required: true + schema: + maxLength: 256 + type: string + example: pdp + aspectAttributes: + name: aspectAttributes + in: query + description: A JSON representation of aspect attributes. Each aspect attribute is a key/value pair. Aspect attributes serve as a runtime parameter contract between caller (for example, this API or the DWScript API) and callee (the page). This parameter must not contain more than 256 characters after URL decoding. + required: false + schema: + type: string + maxLength: 256 + example: |- + { + "product" : "iphone11", + "breadcrumbCategory" : "home-clearance" + } + parameters: + name: parameters + in: query + description: A free-form definition of parameters that influences the page rendering according to its implementation. This parameter must not contain more than 256 characters after URL decoding. + required: false + schema: + maxLength: 256 + type: string + example: refine=color,size;currency=USD;showNavigation=false + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + pageId: + name: pageId + in: path + description: Identifier for the requested page. + required: true + schema: + maxLength: 256 + type: string + example: homepage + examples: + PageResult: + value: + data: + - id: homePpage + typeId: storePage + aspectTypeId: pdpAspect + name: Homepage + description: Home page of the storefront. + pageTitle: Homepage - My Shop + pageDescription: Get started shopping + pageKeywords: fashion, my shop + data: + thumbnail: myshop.jpg + custom: + thumbnail_full: http://static.myshop.com/myshop.jpg + regions: + - id: header + components: + - id: 2192f5b9aac0f2af2385f6f6b7 + typeId: commerce_assets.banner + data: + title: Products On Sale + bannerImage: sale/topsellerPromo.jpg + custom: + thumbnail_full: http://static.myshop.com/sale/topsellerPromo.jpg + - id: main + components: + - id: 5c5ebbcd2aee1a67af519c83b5 + typeId: commerce_assets.carousel + data: + title: Topseller + category: topseller + custom: + detailUrl: www.myshop.com/topseller + regions: + - id: tiles + components: + - id: d98a30dfe93715e3e6fc22a329 + typeId: commerce_assets.productTile + data: + product: iphone6 + - id: 43aa39896afb9292308181ce14 + typeId: commerce_assets.productTile + data: + product: iphone7 + - id: detailpage + typeId: storePage + name: storepage + description: A Store page + pageTitle: A Store + pageDescription: Buy in store + pageKeywords: fashion, my shop, store + data: + thumbnail: mystore.jpg + BusinessObjectIDInvalid: + value: + title: Business Object ID Invalid + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/business-object-id-invalid + detail: At least one provided business object identifier was invalid. This means either none was provided at all or exclusiveness of multiple identifiers wasn't honored or the referenced business object didn't exist. + AspectTypeNotFound: + value: + title: Aspect Type Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/aspect-type-not-found + detail: No aspect type with ID 'pdp' was found in site 'RefArch'. + Page: + value: + id: homepage + typeId: storePage + aspectTypeId: pdpAspect + name: Homepage + description: Home page of the storefront. + pageTitle: Homepage - My Shop + pageDescription: Get started shopping + pageKeywords: fashion, my shop + data: + thumbnail: myshop.jpg + custom: + thumbnail_full: http://static.myshop.com/myshop.jpg + regions: + - id: header + components: + - id: 375b9107b067902827083772f9 + typeId: commerce_assets.banner + data: + title: Products On Sale + bannerImage: sale/topsellerPromo.jpg + custom: + thumbnail_full: http://static.myshop.com/sale/topsellerPromo.jpg + - id: main + components: + - id: be1f331b92d8ad7e38e440e35d + typeId: commerce_assets.carousel + data: + title: Topseller + category: topseller + custom: + detailUrl: www.myshop.com/topseller + regions: + - id: tiles + components: + - id: 45af07459684e6db78990c5d05 + typeId: commerce_assets.productTile + data: + product: iphone6 + - id: df6e33766d90e7e205d109aa2f + typeId: commerce_assets.productTile + data: + product: iphone7 + AspectAttributeInvalid: + value: + title: Aspect Attribute Invalid + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/aspect-attribute-invalid + detail: 'Aspect attribute value "5555" does not fulfill its respective definition {"id" : "foobar", "type" : "string","required" : "false"}' + PageNotFound: + value: + title: Page Not Found + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/page-not-found + detail: No visible page with ID 'homepage' was found in site 'RefArch'. diff --git a/apis/shopper-login-oas/shopper-login-oas-1.39.39/.metadata.json b/apis/shopper-login-oas/shopper-login-oas-1.39.39/.metadata.json new file mode 100644 index 00000000..dfba711f --- /dev/null +++ b/apis/shopper-login-oas/shopper-login-oas-1.39.39/.metadata.json @@ -0,0 +1,17 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-login-oas/1.39.39", + "name": "Shopper Login OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-login-oas", + "version": "1.39.39", + "categories": { + "SDK Type": [ + "Isomorphic", + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/shopper-login-oas/shopper-login-oas-1.39.39/exchange.json b/apis/shopper-login-oas/shopper-login-oas-1.39.39/exchange.json new file mode 100644 index 00000000..eca13c0e --- /dev/null +++ b/apis/shopper-login-oas/shopper-login-oas-1.39.39/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-login-oas-v1-public.yaml", + "name": "Shopper Login OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-login-oas", + "version": "1.39.39", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/shopper-login-oas/shopper-login-oas-1.39.39/shopper-login-oas-v1-internal.yaml b/apis/shopper-login-oas/shopper-login-oas-1.39.39/shopper-login-oas-v1-internal.yaml new file mode 100644 index 00000000..68028d6a --- /dev/null +++ b/apis/shopper-login-oas/shopper-login-oas-1.39.39/shopper-login-oas-v1-internal.yaml @@ -0,0 +1,2037 @@ +openapi: 3.0.3 +info: + title: Shopper Login + version: v1 + description: |- + # API Overview + + The Shopper Login and API Access Service (SLAS) enables secure access to Commerce Cloud’s Shopper APIs for a wide range of headless commerce applications. + + **Important:** Before using this API, see [Authorization for Shopper APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) in the Get Started guides and the more detailed [SLAS guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas.html) for instructions on setting up a SLAS client, obtaining credentials, as well as flow and use case information. + + For load shedding and rate limiting information, see [Load Shedding and Rate Limiting.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/throttle-rates.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/oauth2/login: + post: + summary: Log in a shopper with credentials that are managed by a B2C Commerce instance (B2C Commerce). + description: |- + This follows the authorization code grant flow as defined by the OAuth 2.1 standard. It also uses a proof key for code exchange (PKCE). + + For PKCE values: + - The `code_verifier` string is a random string used for the `/token` endpoint request. + - The `code_challenge` is an encoded version of the `code_verifier` string using an SHA-256 hash. + + The request must include a basic authorization header that contains a Base64 encoded version of the following string: `:`. + Required parameters: `code_challenge`, `channel_id`, `client_id`, and `redirect_uri`. + + Optional parameters: `usid`. + The SLAS `/login` endpoint redirects back to the redirect URI and returns an authorization code. + Calls to `/login` made with the same loginId and tenantId within 1 second result in a conflict. + operationId: authenticateCustomer + x-slas-rate-limit: + excludedStatusCodes: + - '409' + parameters: + - $ref: '#/components/parameters/organizationId' + - name: Authorization + in: header + description: Base64-encoded username and password for HTTP basic authentication + required: true + schema: + type: string + example: Basic + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/LoginRequest' + required: true + responses: + '303': + description: The authorization code and usid were successfuly added to the location header and sent to the callback as query parameters. + content: + application/json: + schema: + type: string + examples: + authenticateCustomerSuccess: + $ref: '#/components/examples/authenticateCustomerSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingClientId400: + $ref: '#/components/examples/BadOrMissingClientId400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InvalidBasicAuth401: + $ref: '#/components/examples/InvalidBasicAuth401' + '409': + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + ConflictingCalls409: + $ref: '#/components/examples/ConflictingCalls409' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/passwordless/login: + post: + summary: Allow the customer to authenticate when their identity provider is down. + description: This endpoint allows customers to authenticate when their configured identity provider is inaccessible. It provides an alternative authentication path through passwordless login methods like email or SMS verification. + operationId: authorizePasswordlessCustomer + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - name: Authorization + in: header + description: 'Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), for example: `clientId:clientSecret`' + required: false + schema: + type: string + example: Basic + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PasswordlessLoginRequest' + required: true + responses: + '200': + description: The customer authenticated successfully. + content: + application/json: + schema: + type: string + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingAccessToken400: + $ref: '#/components/examples/BadOrMissingAccessToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '412': + description: Precondition failure + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + DependentServiceUnavailable412: + $ref: '#/components/examples/DependentServiceUnavailable412' + /organizations/{organizationId}/oauth2/logout: + get: + summary: Log out a shopper. + description: |- + The shopper's access token and refresh token are revoked. If the shopper authenticated with a B2C Commerce (B2C Commerce) instance, the OCAPI JWT is also revoked. Call this endpoint for registered users that have logged in using SLAS. Do not use this endpoint for guest users. + + Required header: Authorization header bearer token of the Shopper access token to log out. + + Required parameters: `refresh token`, `channel_id`, and `client`. + operationId: logoutCustomer + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/client_id' + - $ref: '#/components/parameters/refresh_token' + - name: channel_id + in: query + description: The `channel_id` parameter must be provided if the shopper authenticated using the `login` endpoint with B2C Commerce. + required: false + example: RefArch + schema: + example: RefArch + maxLength: 100 + type: string + - $ref: '#/components/parameters/hint' + - name: Authorization + in: header + description: Shopper access token to be revoked + required: true + schema: + type: string + example: Bearer eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/TokenResponse' + examples: + logoutCustomerSuccess: + $ref: '#/components/examples/logoutCustomerSuccess' + '303': + description: The user has sent too many requests in a given amount of time, and rate limiting is in effect. + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingClientId400: + $ref: '#/components/examples/BadOrMissingClientId400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingClientId400: + $ref: '#/components/examples/BadOrMissingClientId400' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/authorize: + get: + summary: Get an authorization code after authenticating a user against an identity provider (IDP). + description: |- + This is the first step of the OAuth 2.1 authorization code flow, in which a user can log in via federation to the IDP configured for the client. After successfully logging in, the user gets an authorization code via a redirect URI. + + You can call this endpoint from the front channel (the browser). + operationId: authorizeCustomer + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/redirect_uri' + - $ref: '#/components/parameters/response_type' + - $ref: '#/components/parameters/client_id' + - $ref: '#/components/parameters/scope' + - $ref: '#/components/parameters/state' + - $ref: '#/components/parameters/usid' + - $ref: '#/components/parameters/hint' + - name: channel_id + in: query + description: The channel that this request is for. For a B2C Commerce request, this is angalous to the site ID. + required: false + example: RefArch + schema: + example: RefArch + maxLength: 100 + type: string + - $ref: '#/components/parameters/code_challenge' + - $ref: '#/components/parameters/ui_locales' + responses: + '303': + description: The authorization code was successfully added to the `redirect_uri`. + content: + application/json: + schema: + type: string + examples: + authorizeCustomerSuccess: + $ref: '#/components/examples/authorizeCustomerSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingClientId400: + $ref: '#/components/examples/BadOrMissingClientId400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InvalidBasicAuth401: + $ref: '#/components/examples/InvalidBasicAuth401' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/token: + post: + summary: Get the shopper or guest JWT access token and a refresh token. + description: |- + This is the second step of the OAuth 2.1 authorization code flow. + + For a private client, an application is able to get an access token for the shopper through the back channel (a trusted server) by passing in the client credentials and the authorization code retrieved from the `authorize` endpoint. + + For a guest user, get the shopper JWT access token and a refresh token. This is where a client appplication is able to get an access token for the guest user through the back channel (a trusted server) by passing in the client credentials. + + For a public client using PKCE, an application passes a PKCE `code_verifier` that matches the `code_challenge` that was used to `authorize` the customer along with the authorization code. + + When refreshing the access token with a private client ID and client secret, the refresh token is _not_ regenerated. However, when refreshing the access token with a public client ID, the refresh token is _always_ regenerated. The old refresh token is voided with every refresh call, so the refresh token on the client must be replaced to always store the new refresh token. + + See the Body section for required parameters, including `grant_type` and others that depend on the value of `grant_type`. + + **Important**: As of July 31, 2024**, SLAS requires the `channel_id` query parameter in token requests. + operationId: getAccessToken + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - name: Authorization + in: header + description: "Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), for example: `clientId:clientSecret`. \nRequired unless the grant type is `authorization_code_pkce`." + required: false + schema: + type: string + example: Basic + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TokenRequest' + required: true + responses: + '200': + description: the shopper or guest JWT access token and a refresh token were retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TokenResponse' + examples: + getAccessTokenSuccess: + $ref: '#/components/examples/getAccessTokenSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingAccessToken400: + $ref: '#/components/examples/BadOrMissingAccessToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InvalidBasicAuth401: + $ref: '#/components/examples/InvalidBasicAuth401' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/session-bridge/token: + post: + summary: Get a shopper JWT access token for a registered customer using session bridging. + description: |- + For public client ID requests, you must set the grant_type to `session_bridge`. + + For private client_id and secret, you must set the grant_type to `client_credentials` along with a basic authorization header. + + **DEPRECATED** - As of January 31, 2024, SLAS no longer supports the SESB `dwsid` parameter for `guest` users for `session-bridge/token` calls. We recommended you transition to using a SESB `dwsgst` token. + + The `dwsid` is still needed for `registered` user `session-bridge/token` calls. + + **NOTE:** The registered customer Json Web Token (JWT) is available in B2C Commerce versions 25.4 and later. + operationId: getSessionBridgeAccessToken + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SessionBridgeTokenRequest' + required: true + responses: + '200': + description: The shopper JWT access token was retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TokenResponse' + examples: + getSessionBridgeAccessTokenSuccess: + $ref: '#/components/examples/getSessionBridgeAccessTokenSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingAccessToken400: + $ref: '#/components/examples/BadOrMissingAccessToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '503': + description: Gateway error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + GatewayError503: + $ref: '#/components/examples/GatewayError503' + /organizations/{organizationId}/oauth2/trusted-system/token: + post: + summary: Get a shopper JWT access token for a registered customer whose credentials are stored using a third party. + description: |- + The SLAS client must have the `sfcc.ts_ext_on_behalf_of` scope to access this endpoint. + + + For trusted-system requests, you can use a basic authorization header that includes a SLAS private client ID and SLAS private client secret instead of the bearer token. + + + For trusted-system requests, you cannot use SLAS public client_ids. + operationId: getTrustedSystemAccessToken + x-slas-rate-limit: + excludedStatusCodes: + - '409' + parameters: + - $ref: '#/components/parameters/organizationId' + - name: Authorization + in: header + description: "Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), for example: `clientId:clientSecret`. \nRequired unless the grant type is `authorization_code_pkce`." + required: false + schema: + type: string + example: Basic + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TrustedSystemTokenRequest' + required: true + responses: + '200': + description: The shopper JWT access token was retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TokenResponse' + examples: + getTrustedSystemAccessTokenSuccess: + $ref: '#/components/examples/getTrustedSystemAccessTokenSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingClientId400: + $ref: '#/components/examples/BadOrMissingClientId400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '409': + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + ConflictingCalls409: + $ref: '#/components/examples/ConflictingCalls409' + '503': + description: Gateway error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + GatewayError503: + $ref: '#/components/examples/GatewayError503' + /organizations/{organizationId}/oauth2/trusted-agent/authorize: + get: + summary: Obtain a new agent on behalf of an authorization token for a registered customer. + description: This endpoint enables trusted agents (such as customer service representatives or merchants) to obtain authorization tokens that allow them to act on behalf of registered customers. This facilitates customer support scenarios where agents need secure access to customer accounts. + operationId: getTrustedAgentAuthorizationToken + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/client_id' + - $ref: '#/components/parameters/channel_id' + - $ref: '#/components/parameters/code_challenge' + - $ref: '#/components/parameters/login_id' + - $ref: '#/components/parameters/idp_origin' + - $ref: '#/components/parameters/redirect_uri' + - $ref: '#/components/parameters/response_type' + responses: + '303': + description: The new agent was obtained successfully. + headers: + Location: + description: Location header with the `redirect_uri` to Account Manager, which allows the agent to log in. + schema: + maxLength: 2048 + description: URL with redirect + example: https://account.demandware.com:443/dwsso/UI/Login?realm=/&goto=https://account.demandware.com:443/dwsso/oauth2/authorize?client_id=6739cb07-2f5f-4e16-a88a-8113a3cb5512&redirect_uri=https://stg.us1.shopper.cc.salesforce.com/api/v1/trusted-agent/callback" + type: string + content: + application/json: + schema: + type: string + examples: + getTrustedAgentAuthorizationTokenSuccess: {} + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingClientId400: + $ref: '#/components/examples/BadOrMissingClientId400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/trusted-agent/token: + post: + summary: Get a shopper JWT access token for a registered customer using a trusted agent (merchant). + description: |- + If using a SLAS private client ID, you must also use an `_sfdc_client_auth` header. + + The value of the `_sfdc_client_auth` header must be a Base64-encoded string. The string is composed of a SLAS private client ID and client secret, separated by a colon (`:`). For example, `privateClientId:privateClientsecret` becomes `cHJpdmF0ZUNsaWVudElkOnByaXZhdGVDbGllbnRzZWNyZXQ=` after Base64 encoding. + operationId: getTrustedAgentAccessToken + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/_sfdc_client_auth' + - name: Authorization + in: header + description: This is the `Bearer` token that is returned from Account Manager after the trusted agent on behalf of (TAOB) authorize call. + required: false + schema: + type: string + example: Bearer HQ8zQXpc0VVaXEdBdzasZQaCQDw + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TrustedAgentTokenRequest' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/TokenResponse' + examples: + getTrustedAgentAccessTokenSuccess: + $ref: '#/components/examples/getTrustedAgentAccessTokenSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingAccessToken400: + $ref: '#/components/examples/BadOrMissingAccessToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '503': + description: Gateway error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + GatewayError503: + $ref: '#/components/examples/GatewayError503' + /organizations/{organizationId}/oauth2/password/reset: + post: + summary: Request a reset password token. + description: This endpoint initiates the password reset process for a customer by requesting a password reset token. The token is delivered through the configured delivery mode (email, SMS, etc.) and can be used with the password/action endpoint to set a new password. + operationId: getPasswordResetToken + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PasswordActionRequest' + required: true + responses: + '200': + description: The reset password token was requested successfully. + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadMissingAccessOrRefreshToken400: + $ref: '#/components/examples/BadMissingAccessOrRefreshToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '412': + description: Precondition failure + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + DependentServiceUnavailable412: + $ref: '#/components/examples/DependentServiceUnavailable412' + /organizations/{organizationId}/oauth2/password/action: + post: + summary: Create a new password. + description: This endpoint allows a customer to set a new password using a valid password reset token. The customer must provide the token received from the password/reset endpoint along with the desired new password. + operationId: resetPassword + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - name: Authorization + in: header + description: 'Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), for example: `clientId:clientSecret`' + required: false + schema: + type: string + example: Basic + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PasswordActionVerifyRequest' + required: true + responses: + '200': + description: The password was created successfully. + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadParameters400: + $ref: '#/components/examples/BadParameters400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '503': + description: Gateway error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + GatewayError503: + $ref: '#/components/examples/GatewayError503' + /organizations/{organizationId}/oauth2/passwordless/token: + post: + summary: Issue a shopper token (JWT). + description: This endpoint issues a shopper JWT access token using a passwordless login token. It enables authentication flows where traditional username/password combinations are not required, supporting alternative authentication methods. + operationId: getPasswordLessAccessToken + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - name: Authorization + in: header + description: 'Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), for example: `clientId:clientSecret`' + required: false + schema: + type: string + example: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PasswordLessLoginTokenRequest' + required: true + responses: + '200': + description: The shopper token was issued successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TokenResponse' + examples: + getPasswordLessAccessTokenSuccess: + $ref: '#/components/examples/getPasswordLessAccessTokenSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingAccessToken400: + $ref: '#/components/examples/BadOrMissingAccessToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '503': + description: Gateway error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + GatewayError503: + $ref: '#/components/examples/GatewayError503' + /organizations/{organizationId}/oauth2/revoke: + post: + summary: Invalidate a refresh token. + description: A basic auth header with Base64-encoded `clientId:secret` is required in the Authorization header, and the refresh token to be revoked is required in the body. + operationId: revokeToken + parameters: + - $ref: '#/components/parameters/organizationId' + - name: Authorization + in: header + description: 'Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`' + required: true + schema: + type: string + example: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TokenActionRequest' + examples: + TokenActionRequestBody: + $ref: '#/components/examples/TokenActionRequestBody' + required: true + responses: + '200': + description: The refresh token was revoked successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TokenActionRequest' + examples: + revokeTokenSuccess: + $ref: '#/components/examples/revokeTokenSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingRefreshToken400: + $ref: '#/components/examples/BadOrMissingRefreshToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InvalidBasicAuth401: + $ref: '#/components/examples/InvalidBasicAuth401' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/introspect: + post: + summary: Return token properties. + description: A basic auth header with Base64-encoded `clientId:secret` is required in the Authorization header, as well as an access token or refresh token. Use `token_type_hint` to help identify the token. + operationId: introspectToken + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/Authorization' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TokenActionRequest' + examples: + TokenActionRequestBody: + $ref: '#/components/examples/TokenActionRequestBody' + required: true + responses: + '200': + description: Token properties returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TokenActionRequest' + examples: + introspectTokenSuccess: + $ref: '#/components/examples/introspectTokenSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadMissingAccessOrRefreshToken400: + $ref: '#/components/examples/BadMissingAccessOrRefreshToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InvalidBasicAuth401: + $ref: '#/components/examples/InvalidBasicAuth401' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/userinfo: + get: + summary: Return a JSON listing of claims about the currently authenticated user. + description: This endpoint returns identity information about the authenticated user in the form of OpenID Connect claims. It requires a valid access token and returns information such as user ID, name, email, and other identity attributes based on the scopes granted during authentication. + operationId: getUserInfo + parameters: + - $ref: '#/components/parameters/organizationId' + - name: channel_id + in: query + description: Used when getting user information for a SFCC login. For an B2C Commerce customer, this is angalous to the site ID. Required when getting user information for an B2C Commerce customer. + required: false + example: RefArch + schema: + example: RefArch + maxLength: 100 + type: string + - name: Authorization + in: header + description: SLAS Access Token + required: true + schema: + type: string + example: Bearer eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw + responses: + '200': + description: Claims returned successfully. + content: + application/json: + schema: + type: string + examples: + getUserInfoSuccess: + $ref: '#/components/examples/getUserInfoSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingAccessToken400: + $ref: '#/components/examples/BadOrMissingAccessToken400' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/.well-known/openid-configuration: + get: + summary: | + Return a JSON listing of the OpenID/OAuth endpoints, supported scopes and claims, public keys used to sign the tokens, and other details. + + For performance purposes, the `/.well-known/openid-configuration` endpoint is rate limited to 25 call per minute. + description: This endpoint provides OpenID Connect discovery information in a standardized format. It allows clients to programmatically discover SLAS capabilities, including available endpoints, supported authentication flows, token signing algorithms, and other configuration details. This information helps clients integrate with the authentication service with minimal manual configuration. + operationId: getWellknownOpenidConfiguration + parameters: + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: The JSON listing information was returned successfully. + content: + application/json: + schema: + type: string + examples: + getWellknownOpenidConfigurationSuccess: + $ref: '#/components/examples/getWellknownOpenidConfigurationSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + MalformedTenantId400: + $ref: '#/components/examples/MalformedTenantId400' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/jwks: + get: + summary: Retrieve JWKS keys. + description: | + The `/jwks` endpoint provides a JSON Web Key Set (JWKS) that includes current, past, and future public keys. These keys allow clients to validate the Shopper JSON Web Token (JWT) issued by SLAS, ensuring that no tampering with the token has occurred. Every SLAS JWT that is passed into SLAS, SCAPI, or OCAPI is always validated and is rejected if the signature validation does not match. + + To optimize performance, the `/jwks` endpoint is limited to 25 calls per minute, so we recommended caching the JWKS keys and refresh them only when necessary, instead of making frequent requests. Typically, the JWKs endpoint can be used once per DAY. + + For additional information on using JWKS, see https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-validate-jwt-with-jwks.html. + operationId: getJwksUri + parameters: + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: The response body containing the JWKS keys was retrieved successfully. + content: + application/json: + schema: + type: object + examples: + getJwksSuccess: + $ref: '#/components/examples/getJwksSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + getJwksUri400: + $ref: '#/components/examples/MalformedTenantId400' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' +components: + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + ResponseType: + type: string + description: Response Type + enum: + - code + example: code + LoginRequest: + type: object + required: + - redirect_uri + - channel_id + description: |- + Supports multiple custom parameters to invoke hooks in B2C Commerce API. Multiple custom parameters can be added. Use the `c_` prefix to distinguish custom query parameters from standard query parameters, for example: c_captcha=true + If there is a validation error, a 400 Bad_Request with the details of the error is thrown. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + client_id: + description: SLAS client ID. Required when the grant type is `authorization_code_pkce`. + type: string + maxLength: 40 + example: z99ec276-cg53-4g94-cf72-76f300c6778zc + response_type: + description: Must be `code`. Indicates that the client wants an authorization code (when the grant type is `authorization_code`). + allOf: + - $ref: '#/components/schemas/ResponseType' + redirect_uri: + description: "The URI to which the server redirects the browser after the user grants the authorization. The URI must be registered with the SLAS client. A variety of URI formats and wildcards for host are supported, but app links like airbnb:// or fb:// are not. Examples of supported URIs: \n\nExamples of supported URIs:\n - `http://localhost:3000/callback`\n - `https://example.com/callback`\n - `com.example.app:redirect_uri_path`\n - ` *.subdomain.topleveldomain.com`\n" + maxLength: 256 + type: string + example: http://localhost:3000/callback + state: + description: Value to be sent by the client to determine the state between the authorization request and the server response. Optional, but strongly recommended. + type: string + maxLength: 512 + example: client-state + scope: + description: Scopes to limit an application's access to a user's account. + type: string + maxLength: 256 + example: openid|offline_access|email + usid: + description: The unique shopper ID. + type: string + maxLength: 128 + example: 18cda486-fe32-4e27-888b-6e4f89938e67 + channel_id: + description: The channel that the request is for. For a B2C Commerce request, this is angalous to the site ID. + type: string + maxLength: 100 + example: RefArch + code_challenge: + description: |- + PKCE code verifier. Created by the client calling the `login` endpoint. + + The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. + + The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. + + The `code_challenge` is optional when using a private client id for the token request. + type: string + minLength: 43 + maxLength: 128 + example: krc5G3_5lRUcXDUzFZQ88oJA_-ZmlHWkyGsgOrSLEWg + Oauth2ErrorResponse: + required: + - error + type: object + properties: + error: + type: string + example: invalid_client + error_uri: + type: string + example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/oauth-service + error_description: + type: string + example: Missing access token or refresh token. + PasswordlessLoginRequest: + required: + - channel_id + - mode + - user_id + type: object + properties: + user_id: + maxLength: 128 + type: string + description: User ID for logging in. + example: samantha.sampleson@example.com + mode: + type: string + description: Password Action delivery modes + enum: + - callback + - sms + locale: + type: string + description: The locale of the template. Not needed for the `callback` mode + example: en-us + usid: + type: string + description: The shopper's unique identifier, if known. If not provided, a new USID is generated. + example: 18cda486-fe32-4e27-888b-6e4f89938e67 + channel_id: + maxLength: 100 + type: string + description: The channel (B2C Commerce site) that the user is associated with. + example: RefArch + callback_uri: + type: string + description: | + The callback URI. Required when the mode is `callback`. The `callback_uri` property will be validated against the callback URIs that have been registered with the SLAS client. The callback URI _must_ be a `POST` endpoint because the token will be included in the body. + + Wildcards are not allowed in the callback_uri because this is a security risk that can expose the token. This is not considered an OAuth2 callback_url. + example: http://localhost:9050/passwordless/login/callback + description: A request for a passwordless login token. This is only available for resgistered users using B2C Commerce. + TokenType: + type: string + description: Token Type + enum: + - Bearer + example: Bearer + TokenResponse: + required: + - access_token + - customer_id + - enc_user_id + - expires_in + - id_token + - idp_access_token + - refresh_token + - refresh_token_expires_in + - token_type + - usid + type: object + properties: + access_token: + type: string + description: |- + Short term shopper JWT that can be used to access Shopper APIs. Valid for 30 minutes. + + A trusted agent shopper JWT is valid for 15 min. + example: eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg + id_token: + type: string + description: User ID token. Valid for 30 minutes. + example: eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w + refresh_token: + type: string + description: "Long term refresh token that can be used to refresh an access token. Valid for 30 days. \n\nThe refresh_token will not be returned for trusted agents JWTs. A JWT for trusted agents expires after 15 minutes and is not refreshable. When expired, then app must restart the authorization flow and make another request to the /trusted-agent/authorize endpoint." + example: EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU + expires_in: + type: integer + description: Remaining access token expiry time, in seconds. + example: 900 + refresh_token_expires_in: + type: number + description: Remaining refresh token expiry time, in seconds. + example: 2592000 + token_type: + $ref: '#/components/schemas/TokenType' + usid: + type: string + description: The unique shopper ID. Returned when using the `client_credentials` grant type. + example: 18cda486-fe32-4e27-888b-6e4f89938e67 + customer_id: + type: string + description: Customer's ID + example: 1000005 + enc_user_id: + type: string + description: MD5 Hashed B2C Commerce user ID in uppercase. + example: 45D39A8499A95288F82855427EBA99B5 + idp_access_token: + maxLength: 8192 + type: string + description: This is the access token that is returned from the IDP. The IDP access token is returned to be able to make calls into the IDP outside of SLAS. + example: eyJraWQiOiJYS21HbHVuSm0zSlBTMHNjQXZXV19XQlYtRi1wMkxLSDR0V05UMHVVSjVJIiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULjFMY0xxTWhqM2t0N1FKeFhxQ0VtdGZOOVV2eUcweW1meDFxZG9BdzF1NWMub2FyeXhveHF0QUtxaVFMbkM1ZDYiLCJpc3MiOiJodHRwczovL2Rldi05NTY1MjM2Lm9rdGEuY29tIiwiYXVkIjoiaHR0cHM6Ly9kZXYtOTU2NTIzNi5va3RhLmNvbSIsInN1YiI6Im9rdGEuc2xhcy50ZXN0IiwiaWF0IjoxNjc5Njk4MzA4LCJleHAiOjE2Nzk3MDE5MDgsImNpZCI6IjBvYTJrNXNma0JXZ0poTEVHNWQ2IiwidWlkIjoiMDB1MzhxZGpuU2NMT0IxbXE1ZDYiLCJzY3AiOlsib2ZmbGluZV9hY2Nlc3MiLCJvcGVuaWQiLCJlbWFpbCIsInByb2ZpbGUiXSwiYXV0aF90aW1lIjoxNjc5Njk4MzA2fQ.FDbGsnZGwTYVKGSlAo6jqcjG2HQ_BqQKRk72M5h69DRHyOM4wngsEELN_Wtgj3E77sP7IOmIKjiK5SFP17ADMbKZptVr2pqaMVF3PuU3Cbl_MgXZValfT-z12jHRq9sHMfsdTjY2RnvG44ZDFKc2no8mdL6IJ1MfCaZT5Tql5Ktq_UgudaWFsYqad3ETcmp5Y8ivz1bFnqud0sO9D9JzYOtfd9h71JKcsSC2rXc_Si-INPKKaGl8CDgaLXxu_Am9twJpUenHLpy0BerhcVvdFz7_611E53xOT_Esrc1pe-XAZtlYsJFnhxTBDT342ukiSWk2m6juVappv1GsRfUf2g + GrantType: + type: string + description: Grant Type + enum: + - authorization_code + - refresh_token + - client_credentials + - authorization_code_pkce + - session_bridge + example: authorization_code + TokenRequest: + required: + - grant_type + type: object + properties: + refresh_token: + maxLength: 256 + type: string + description: The long-term token used to refresh the short term access token. Required only with a grant type of `refresh_token`. + code: + maxLength: 256 + type: string + description: Authorization code from the OAuth 2.1 service received in the front channel that is used to get access tokens and refresh tokens. Required with a grant type of `authorization_code` and `session_bridge`. + example: M0t1K0pyoFKhBpUZnuUYO07xf8iYyMJrAc7h31h_ra8.gglPClJHsofqdTm_yPe5n6m2yCXzFmD8qICwIEjQGVA + usid: + type: string + description: The shopper's unique identifier, if known. If not provided, a new USID is generated. + example: 54ad2c5a-91f0-44ab-817c-73d6b86872d9 + grant_type: + $ref: '#/components/schemas/GrantType' + redirect_uri: + maxLength: 256 + type: string + description: "The redirect URI that was used when getting the authorization code. A variety of URI formats and wildcards for host are supported, but app links like `airbnb://` or `fb://` are not. \n\nExamples of supported URIs:\n - `http://localhost:3000/callback`\n - `https://example.com/callback`\n - `com.example.app:redirect_uri_path`\n - ` *.subdomain.topleveldomain.com`\n" + example: http://localhost:3000/callback + code_verifier: + maxLength: 128 + type: string + description: |- + PKCE code verifier. Created by the client calling the `login` endpoint. + + The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. + + The `code_verifier` is optional when using a private client id for the token request. + client_id: + maxLength: 40 + type: string + description: The SLAS client ID. Required when the grant type is `authorization_code_pkce`. + example: z99ec276-cg53-4g94-cf72-76f300c6778zc + channel_id: + maxLength: 100 + type: string + description: |- + The channel (B2C Commerce site) that the user is associated with. + + **Important: We strongly recommended using the channel_id query parameter because it will be required in the future. + + **NOTE - As of July 31, 2024**, SLAS will be requiring the `channel_id` query parameter in token requests. + example: RefArch + dnt: + type: string + description: "This is an optional parameter to set `Do Not Track` for the session. \n\nSLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release.\n\nValues are:\n * `false`\n * `true`\n\nIf not added the `dnt` value will default to `false`." + example: 'true' + SessionBridgeTokenRequest: + required: + - channel_id + - client_id + - code + - code_verifier + - dwsid + - grant_type + - login_id + type: object + properties: + code: + maxLength: 256 + type: string + description: Authorization code returned from session bridge authorization received in the front channel that is used to get session bridge access tokens and refresh tokens. Required with a grant type of `session_bridge`. The SLAS client must have the `sfcc.session_bridge` scope to request a session bridge token. + example: M0t1K0pyoFKhBpUZnuUYO07xf8iYyMJrAc7h31h_ra8.gglPClJHsofqdTm_yPe5n6m2yCXzFmD8qICwIEjQGVA + client_id: + maxLength: 40 + type: string + description: The SLAS public client ID for use with PKCE requests. This is a required parameter when using a public client. + example: 6c388ebd-6843-4863-aef9-781382c9e8cd + channel_id: + maxLength: 100 + type: string + description: The channel (B2C Commerce site) that the user is associated with. + example: RefArch + code_verifier: + type: string + description: |- + PKCE code verifier. Created by the caller. This is a required parameter when using a public client. + + The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. + + The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. + example: Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo + dwsid: + type: string + description: "Cookie passed back from the '/authorize' endpoint call for session bridge. This parameter is optional and not needed if using the `dwsgst` parameter.\n\n**DEPRECATED** - As of January 31, 2024, SLAS will no longer support the SESB `dwsid` parameter for `guest` users for `session-bridge/token` calls. It is recommended to transition over to using a SESB `dwsgst` token. \n\nThe `dwsid` will still be needed for `registered` user session-bridge/token calls." + example: pATvWUO3KSdt-Kmcy-8-RsxKnoO4BMDwoec7ACVlW6tZNnhaOL7gt7mHqL-h7QYn5TyE61z0DeSMCqxngsWeHw== + grant_type: + type: string + description: Grant Type + enum: + - authorization_code + - refresh_token + - client_credentials + - authorization_code_pkce + - session_bridge + login_id: + maxLength: 128 + type: string + description: The ID of the shopper for session bridge access. If requesting a token for a guest user set login_id to `guest`. + example: jack.shopper@example.com + dwsgst: + type: string + description: Signed guest Json Web Token (JWT) that was obtained from B2C Commerce. This parameter is optional and not needed if using the guest `dwsid` parameter. + example: eyJraWQiOiIxNjgxNTU5OTkxNzkwIiwiYWxnIjoiRVMyNTYifQ.eyJ0ZW5hbnRJZCI6IkJHVk5fUzA1IiwiZHdzaWQiOiJuWHRhckdNU2ZxbnBaSUNJUGFKTHJSWGZ6b2lWYXBBU3BBTFNfeFdUMV9QZjRBWDA0N1lMQ1dSUFByM1BiSEl4d2RaODFiVGZoM3M1Wlgza2NhOG0zZz09IiwiY3VzdG9tZXJJZCI6ImJjQXI5N2NuMm1ZdmhjMGhqTGsxYmFXSzRqIiwiaWF0IjoxNjg1MTI4NjM2LCJleHAiOjE2ODUxMjkyMzksImlzcyI6ImNvbW1lcmNlY2xvdWQvcHJvZHVjdGlvbi9iZ3ZuczA1IiwidmVycyI6IjEiLCJ0eXBlIjoiRyJ9.BGY4kyOXbQSzZxubE3BrSzhf8ByehGUfJa7_J2XRQ93xY4dAOhF_xbXcHmBaEUBUzSny-Cf0pATzEaSsKpTxkg + dwsrst: + type: string + description: "Signed registered customer Json Web Token (JWT) that was obtained from B2C Commerce. This parameter is optional and not needed if using the registered user `dwsid` parameter. \n\n**NOTE:** The registered customer Json Web Token (JWT) will be available in ECOM versions 25.4 and higher." + example: eyJraWQiOiIxNjMwOTM5MzAyODE0IiwiYWxnIjoiRVMyNTYifQ.eyJmbmFtZSI6Ikx1a2UiLCJkd3NpZCI6IkdkWWpSQjViZGVpU0xkb3Ixdy15QzRTZ1l3dDJHYl9Ec255OG5nZ2I3c0VDajVMWndnT0ZJWTZsa21sNlVRMXZoazl1SDVJUGxMek5rZTJhNTV2YU9nPT0iLCJ2ZXJzIjoiMiIsImlzcyI6InNsYXMvZGV2L2Jndm5fc3RnIiwidHlwZSI6IlIiLCJsbmFtZSI6IlNreXdhbGtlciIsInJjdXN0b21lcklkIjoiOGgzNHh6dDQxOTVpOHA1MmE2ejAzczIxNDgiLCJwaG9uZSI6bnVsbCwidGVuYW50SWQiOiJiZ3ZuX3N0ZyIsImN1c3RvbWVySWQiOiI0OHB1eXA4dTdmMmM5NHgzMTUxeDA4bGEweiIsImV4cCI6MTczNTE1NDQ4NiwiaWF0IjoxNzMyNTYyNDg2LCJlbWFpbCI6Imx1a2Uuc2t5d2Fsa2VyQG5hYm9vLm9yZyJ9.Q2nF0wuEl1X7aVZ-ycCwxDjjmq5toJred5AEDqKXXjj89BY_0HIQoAEMbx9UDqOmhjdBkxN4idVzYVoXcl0c2A + usid: + type: string + description: The unique shopper ID. Returned when from session bridge authorization. + example: 18cda486-fe32-4e27-888b-6e4f89938e67 + dnt: + type: string + description: "This is an optional parameter to set `Do Not Track` for the session. \n\nSLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release.\n\nValues are:\n * `false`\n * `true`\n\nIf not added the `dnt` value will default to `false`." + example: 'true' + TrustedSystemTokenRequest: + required: + - channel_id + - client_id + - grant_type + - hint + - idp_origin + - login_id + type: object + properties: + usid: + type: string + description: The shopper's unique identifier, if known. If not provided, a new USID is generated. + example: 54ad2c5a-91f0-44ab-817c-73d6b86872d9 + grant_type: + type: string + description: Grant Type + enum: + - authorization_code + - refresh_token + - client_credentials + - authorization_code_pkce + - session_bridge + hint: + type: string + description: Type of system used for Trusted System On Behalf of requests. + enum: + - ts_ext_on_behalf_of + login_id: + maxLength: 128 + type: string + description: "The ID used by the shopper for trusted system access. \n\nIf set to `guest`, a token is returned for a guest user." + example: samantha.sampleson@example.com + idp_origin: + type: string + description: IDPs that work with SLAS. Use `ecom` when using B2C Commerce is the identity provider. + enum: + - apple + - auth0 + - azure + - azure_adb2c + - cognito + - default + - ecom + - facebook + - forgerock + - gigya + - gigya_socialize + - google + - okta + - ping + - salesforce + client_id: + maxLength: 40 + type: string + description: The SLAS public client ID for use with trusted-system requests. + example: 6c388ebd-6843-4863-aef9-781382c9e8cd + channel_id: + maxLength: 100 + type: string + description: The channel (ECOM site) that the user is associated with. + example: RefArch + email_id: + maxLength: 128 + type: string + description: The email address for the shopper that is used for trusted-system requests. If not provided, `login_id` is used instead. + example: samantha.sampleson@example.com + dnt: + type: string + description: |- + This is an optional parameter to set `Do Not Track` for the session. + + SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. + + Values are: + * `false` + * `true` + + If not added the `dnt` value will default to `false`. + + Note: The default value for `dnt` is set to `false` for SLAS token requests except for Trusted Agent token request. For Trusted Agent token requests the default value for `dnt` is `true`. + example: 'true' + description: A request for an access token on behalf of a registered user whose credentials are stored using a third party system. + TrustedAgentTokenRequest: + required: + - channel_id + - client_id + - code_verifier + - grant_type + - idp_origin + - login_id + type: object + properties: + agent_id: + maxLength: 40 + type: string + description: |- + The ID of the merchant. If passed in, the `agent_id` will be validated using the SUB claim in the response from Account Manager. + + This is an optional parameter unless the request is for a Trusted Agent on Behalf then `agent_id` is required. + example: merchant@example.com + client_id: + maxLength: 40 + type: string + description: |- + The SLAS public client ID or SLAS private client ID for use with trusted-system requests. + + The `client_id` is not needed if a using a SLAS private `client_id` and the `_sfdc_client_auth` header. + example: 6c388ebd-6843-4863-aef9-781382c9e8cd + channel_id: + maxLength: 100 + type: string + description: The channel (B2C Commerce site) that the user is associated with. + example: RefArch + code_verifier: + type: string + description: |- + PKCE code verifier. Created by the caller. + + The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. + + The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. + + The `code_verifier` is not needed if a using a SLAS private `client_id` and the `_sfdc_client_auth` header. + example: Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo + grant_type: + type: string + description: Grant Type + enum: + - authorization_code + - refresh_token + - client_credentials + - authorization_code_pkce + - session_bridge + login_id: + maxLength: 128 + type: string + description: |- + The ID is the shopper for trusted agent access. + + For TAOB Guest the `login_id` must be set to `Guest`. + example: jack.shopper@example.com + idp_origin: + maxLength: 16 + type: string + description: "The IDP that the user is associated with. \n\nFor TAOB Guest the `idp_origin` parameter should be `slas`. If set to any other IDP origin a 400 Bad Request will be returned." + example: ecom + usid: + type: string + description: The shopper's unique identifier, if known. If not provided, a new USID is generated. + example: 54ad2c5a-91f0-44ab-817c-73d6b86872d9 + dnt: + type: string + description: "This is an optional parameter to set `Do Not Track` for the session. \n\nSLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release.\n\nValues are:\n * `false`\n * `true`\n\n If not added the `dnt` value will default to `true`\n\n Note: The default value for `dnt` is set to `true` for all TAOB flows. This is opposite from other SLAS token requests." + example: 'true' + state: + type: string + description: "This is an optional parameter to set state for the trusted agent session. \n\nIf the `state` parameter is used it will be validated and a 400 Bad Request will be returned if missing or invalid.\n\nFor TAOB Guest you must pass the `state` parameter to transfer the state from the TAOB Guest authorization call to the token call. \nThe `state` parameter value is returned with the authorization code in the response url from the TAOB guest authorization call, \nfor example: `.../taob/callback?code=HETXpvg5LKBNIHjDTWkRrf2MLVU&state=taob.gst.7bc7fb7f-e646-44fd-bc73-dfd5c3c9019b`.\n\nYou would use `taob.gst.7bc7fb7f-e646-44fd-bc73-dfd5c3c9019b` for the `state` value in the TAOB request." + example: taobgst.3ebdcbb6-ef87-4f41-8173-67728636e513 + PasswordActionRequest: + required: + - channel_id + - mode + - user_id + type: object + properties: + user_id: + maxLength: 128 + type: string + description: User ID for logging in. This is the id that is used to log into SFCC. + example: samantha.sampleson@example.com + mode: + type: string + description: Password Action delivery modes + enum: + - callback + - sms + channel_id: + type: string + description: The channel (B2C Commerce site) that the user is associated with. + example: RefArch + locale: + type: string + description: The locale of the template. + example: en-us + client_id: + maxLength: 40 + type: string + description: |- + -| The public client ID. Requires setting `grant_type` to `passwordless_login_pkce`. + When using the `hint` query parameter either a public or private client ID can be used. + example: 6b200ebd-7843-4073-aef9-792482c9e1de + code_challenge: + maxLength: 128 + minLength: 43 + type: string + description: "PKCE code challenge. Created by the client.\n\nThe `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash.\n\nThe `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. \n\n Requires setting `grant_type` to `passwordless_login_pkce`" + example: Nx_Vf0-0W6SpyRVBVTbl8VSu2OE4yD2fZNExW6N3V_Q + callback_uri: + type: string + description: | + The callback uri. Required when the mode is `callback`. The `callback_uri` property will be validated against the callback URIs that have been registered with the SLAS client. The callback URI _must_ be a `POST` endpoint because the token will be included in the body. + + Wildcards are not allowed in the callback_uri because this is a security risk that can expose the token. This is not considered an OAuth2 callback_url. + example: http://localhost:9050/password/reset/callback + idp_name: + type: string + description: The name of the 3rd party identity provider for the user ID + example: okta + hint: + type: string + description: Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_challenge for password reset request. If the `hint` query parameter is used it must also be used in the password reset request. + example: cross_device + description: A request for a password reset token. This is only available for resgistered users using B2C Commerce. + PasswordActionVerifyRequest: + required: + - channel_id + - client_id + - code_verifier + - pwd_action_token + type: object + properties: + client_id: + maxLength: 40 + type: string + description: |- + -| The public client ID. + When using the `hint` query parameter either a public or private client ID can be used. + example: 6b200ebd-7843-4073-aef9-792482c9e1de + pwd_action_token: + type: string + description: Password action token that was returned from the `/password/reset` endpoint. + example: QJO3CA7QTPVCQ3OMROXF2MTDDED3EEC3 + code_verifier: + type: string + description: |- + PKCE code verifier. Created by the client. + + The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. + + The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. + example: Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo + new_password: + type: string + description: The new password to set for the shopper associated with the password action token. + example: new_password + channel_id: + maxLength: 100 + type: string + description: The channel that the request is for. For a B2C Commerce request, this is angalous to the site ID. + example: RefArch + hint: + type: string + description: Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_verifier for password reset request. If the `hint` query parameter is used it must also have been used in the password action request. + example: cross_device + description: A request for creating a new password using the password action token. + PasswordLessLoginTokenRequest: + required: + - grant_type + - hint + - pwdless_login_token + type: object + properties: + grant_type: + type: string + description: Grant Type + enum: + - authorization_code + - refresh_token + - client_credentials + - authorization_code_pkce + - session_bridge + hint: + type: string + description: Passwordless hint. Use `pwdless_login`. + example: pwdless_login + pwdless_login_token: + type: string + description: Passwordless login token that was created from the user ID. + example: QJO3CA7QTPVCQ3OMROXF2MTDDED3EEC3 + client_id: + maxLength: 40 + type: string + description: The public client ID. + example: 6b200ebd-7843-4073-aef9-792482c9e1de + code_verifier: + type: string + description: |- + PKCE code verifier. Created by the client. + + The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. + + The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. + example: Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo + description: A request for an access token using a passwordless token. + TokenActionRequest: + required: + - token + type: object + properties: + token: + type: string + description: Token to inspect or revoke. + example: EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU + token_type_hint: + type: string + description: Token Type Hint + enum: + - access_token + - refresh_token + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + client_id: + name: client_id + in: query + description: The SLAS public client ID or SLAS private client ID for use with trusted-agent requests. When using a private client ID a PKCE code challenge is not required. + required: true + schema: + maxLength: 40 + type: string + refresh_token: + name: refresh_token + in: query + description: Refresh token that was given during the access token request. + required: true + schema: + type: string + hint: + name: hint + in: query + description: |- + Name of an identity provider (IDP) to optionally redirect to, thereby skipping the IDP selection step. + + To use a public client, set `hint` to `guest` and use a public client ID to get an authorization code. If no `hint` is provided, the preferred IDP of the tenant is used by default. + + For session bridge authorization the `hint` should be set to `sb-user` for a registered customer and to `sb-guest` for a guest. For session bridge authorization the SLAS Client `sfcc.session_bridge` scope. + required: false + schema: + maxLength: 256 + type: string + redirect_uri: + name: redirect_uri + in: query + description: | + The redirect for Account Manager to redirect to. A variety of URI formats and wildcard for host are supported, but app links like `airbnb://` or `fb://` are not. Examples of supported URIs: + - `http://localhost:3000/callback` + - `https://example.com/callback` + - `com.example.app:redirect_uri_path` + - ` *.subdomain.topleveldomain.com` + required: true + schema: + maxLength: 256 + type: string + response_type: + name: response_type + in: query + description: Must be `code`. Indicates that the caller wants an authorization code. + required: true + schema: + type: string + description: Response Type + enum: + - code + scope: + name: scope + in: query + required: false + schema: + maxLength: 256 + type: string + enum: + - openid + - offline_access + - email + state: + name: state + in: query + description: Value to send the client to determine the state between the authorization request and the server response. Optional, but strongly recommended. + required: false + schema: + maxLength: 512 + type: string + usid: + name: usid + in: query + description: A unique shopper identifier (USID). If not provided, a new USID is generated. + required: false + schema: + maxLength: 256 + type: string + code_challenge: + name: code_challenge + in: query + description: |- + PKCE code challenge. Created by the caller. + + The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. + + The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. + + The *`code_challenge` and 'code_verifier'* are required if a using SLAS public `client_id`. + required: false + schema: + maxLength: 128 + minLength: 43 + type: string + ui_locales: + name: ui_locales + in: query + description: "End-User's preferred languages and scripts for the user interface, represented as a space-separated list of BCP47 [RFC5646] language tag values, ordered by preference. For example, the value `fr-CA fr en` represents a preference for French as spoken in Canada, then French (without a region designation), followed by English (without a region designation). \n\nIn most cases the IDP supports one language tag and has a default language set on the server. SLAS will support the space-separated list and pass them to the IDP." + required: false + schema: + maxLength: 256 + type: string + channel_id: + name: channel_id + in: query + description: The channel (B2C Commerce site) that the user is associated with. + example: RefArch + required: true + schema: + maxLength: 100 + type: string + example: RefArch + login_id: + name: login_id + in: query + description: |- + The ID of the shopper for trusted agent access. + + For TAOB Guest the `login_id` must be set to `Guest`. + required: true + schema: + maxLength: 128 + type: string + idp_origin: + name: idp_origin + in: query + description: |- + The IDP that the shopper is associated with. + + For TAOB Guest the `idp_origin` must be set to `slas`. This is standard for SLAS Guest requests. If any other `idp_origin` value is used, SLAS returns a bad request. + required: true + schema: + maxLength: 16 + type: string + _sfdc_client_auth: + name: _sfdc_client_auth + in: header + description: |- + "Base64-encoded string of client credentials. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`. (Do not add the string `"Basic"`.) + + The `_sfdc_client_auth` header is only required when using a SLAS private client ID." + required: false + schema: + type: string + Authorization: + name: Authorization + in: header + description: Base64 string for HTTP Basic authentication. + required: true + schema: + type: string + examples: + authenticateCustomerSuccess: + value: + location: https://:/callback?usid=d11392ae-cbf0-4296-9723-8f9f0e49fd73&state=1728422547223&scope=openid%20offline_access&code=561X8NOKvoRezq2aucazwwkrevUoIP37YRTfsRHX8ow + BadOrMissingClientId400: + value: + error: invalid_request + error_description: Bad or missing client_id. + InvalidBasicAuth401: + value: + error: invalid_client + error_description: Basic Authorization failed. + ConflictingCalls409: + value: + error: conflict + error_description: The same loginId and tenantId tried to login twice within 1 second. + InternalServerError500: + value: + error: server_error + error_description: The server has encountered a situation that it doesn't know how to handle. + BadOrMissingAccessToken400: + value: + error: invalid_request + error_description: Bad or missing access token. + InvalidClient401: + value: + error: invalid_client + error_description: Authorization failed. + DependentServiceUnavailable412: + value: + error: precondition_failure + error_description: Dependent service is not available. + logoutCustomerSuccess: + value: + access_token: '' + id_token: 'null' + refresh_token: EnL9U2f3-WiVPwL60CFBI21UY_oxWAwX5JkgO-X12Vs + expires_in: 0 + refresh_token_expires_in: 0 + token_type: Bearer + usid: 'null' + customer_id: 'null' + enc_user_id: 'null' + idp_access_token: '' + authorizeCustomerSuccess: + value: + authorizationCode: eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiS + usid: 156c4e69-e89b-406b-a4b7-576980bb234e + getAccessTokenSuccess: + value: + access_token: eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg + id_token: eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w + refresh_token: EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU + expires_in: 900 + refresh_token_expires_in: 7776000 + token_type: Bearer + usid: 18cda486-fe32-4e27-888b-6e4f89938e67 + customer_id: '1000005' + enc_user_id: 45D39A8499A95288F82855427EBA99B5 + idp_access_token: eyJraWQiOiJYS21HbHVuSm0zSlBTMHNjQXZXV19XQlYtRi1wMkxLSDR0V05UMHVVSjVJIiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULjFMY0xxTWhqM2t0N1FKeFhxQ0VtdGZOOVV2eUcweW1meDFxZG9BdzF1NWMub2FyeXhveHF0QUtxaVFMbkM1ZDYiLCJpc3MiOiJodHRwczovL2Rldi05NTY1MjM2Lm9rdGEuY29tIiwiYXVkIjoiaHR0cHM6Ly9kZXYtOTU2NTIzNi5va3RhLmNvbSIsInN1YiI6Im9rdGEuc2xhcy50ZXN0IiwiaWF0IjoxNjc5Njk4MzA4LCJleHAiOjE2Nzk3MDE5MDgsImNpZCI6IjBvYTJrNXNma0JXZ0poTEVHNWQ2IiwidWlkIjoiMDB1MzhxZGpuU2NMT0IxbXE1ZDYiLCJzY3AiOlsib2ZmbGluZV9hY2Nlc3MiLCJvcGVuaWQiLCJlbWFpbCIsInByb2ZpbGUiXSwiYXV0aF90aW1lIjoxNjc5Njk4MzA2fQ.FDbGsnZGwTYVKGSlAo6jqcjG2HQ_BqQKRk72M5h69DRHyOM4wngsEELN_Wtgj3E77sP7IOmIKjiK5SFP17ADMbKZptVr2pqaMVF3PuU3Cbl_MgXZValfT-z12jHRq9sHMfsdTjY2RnvG44ZDFKc2no8mdL6IJ1MfCaZT5Tql5Ktq_UgudaWFsYqad3ETcmp5Y8ivz1bFnqud0sO9D9JzYOtfd9h71JKcsSC2rXc_Si-INPKKaGl8CDgaLXxu_Am9twJpUenHLpy0BerhcVvdFz7_611E53xOT_Esrc1pe-XAZtlYsJFnhxTBDT342ukiSWk2m6juVappv1GsRfUf2g + getSessionBridgeAccessTokenSuccess: + value: + access_token: eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg + id_token: eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w + refresh_token: EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU + expires_in: 900 + refresh_token_expires_in: 7776000 + token_type: Bearer + usid: 18cda486-fe32-4e27-888b-6e4f89938e67 + customer_id: '1000005' + enc_user_id: 45D39A8499A95288F82855427EBA99B5 + idp_access_token: '' + GatewayError503: + value: + error: gateway_server_error + error_description: A service that the server relies on is down or is having difficulty. + getTrustedSystemAccessTokenSuccess: + value: + access_token: eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg + id_token: eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w + refresh_token: EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU + expires_in: 900 + refresh_token_expires_in: 7776000 + token_type: Bearer + usid: 18cda486-fe32-4e27-888b-6e4f89938e67 + customer_id: '1000005' + enc_user_id: 45D39A8499A95288F82855427EBA99B5 + idp_access_token: '' + getTrustedAgentAccessTokenSuccess: + value: + access_token: eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg + id_token: eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w + refresh_token: EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU + expires_in: 900 + token_type: Bearer + refresh_token_expires_in: 7776000 + usid: 18cda486-fe32-4e27-888b-6e4f89938e67 + customer_id: '1000005' + enc_user_id: 45D39A8499A95288F82855427EBA99B5 + idp_access_token: '' + BadMissingAccessOrRefreshToken400: + value: + error: invalid_request + error_description: Bad or missing access token or refresh token + BadParameters400: + value: + error: invalid_request + error_description: Bad or missing request parameters. + getPasswordLessAccessTokenSuccess: + value: + access_token: eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg + id_token: eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w + refresh_token: EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU + expires_in: 900 + refresh_token_expires_in: 7776000 + token_type: Bearer + usid: 18cda486-fe32-4e27-888b-6e4f89938e67 + customer_id: '1000005' + enc_user_id: 45D39A8499A95288F82855427EBA99B5 + idp_access_token: '' + TokenActionRequestBody: + value: + token: ry5XU_WHX20S6Cn6W7keFIs7Pzkv4wTZJS9Yvh0Ve9A.cdBxoCY9Q3jffQQOFnb_qghbSmSRnn9-2H4GwFTDMTk + token_type_hint: refresh_token + revokeTokenSuccess: + value: + access_token: '' + id_token: 'null' + refresh_token: EnL9U2f3-WiVPwL60CFBI21UY_oxWAwX5JkgO-X12Vs + expires_in: 0 + refresh_token_expires_in: 0 + token_type: Bearer + usid: 'null' + customer_id: 'null' + enc_user_id: 'null' + idp_access_token: '' + BadOrMissingRefreshToken400: + value: + error: invalid_request + error_description: Bad or missing refresh token. + introspectTokenSuccess: + value: + active: true + client_id: 553ac8ac-4db9-4ed3-825c-3ae3bf5d327b + exp: 1602523099 + iat: 1594747099 + iss: https://localhost:9000/ + scope: offline_access openid + sub: usid:edbf780a-2d83-4e82-9f64-8d051e3538d2::uido:Google::upn:blair.slas.test@gmail.com::uidn:Foo SLAS-Test + token_type: refresh_token + getUserInfoSuccess: + value: + customer_id: abxHc1lblIlKwRl0k1mqYYkewY + email: slas-okta-test@test.org + external_id: okta-00u38qdjnScLOB1mq5d6 + family_name: Test + given_name: Slas + name: Slas Test + sub: 98a84e4b-be50-422a-ab04-e9034e859eb9 + validated: true + getWellknownOpenidConfigurationSuccess: + value: + authorization_endpoint: https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/authorize + claims_supported: + - email + - name + - given_name + - family_name + - sub + code_challenge_methods_supported: + - S256 + grant_types_supported: + - authorization_code + - authorization_code_pkce + - client_credentials + - refresh_token + id_token_encryption_enc_values_supported: + - A256GCM + issuer: https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2 + jwks_uri: https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/jwks + response_types_supported: + - code + - token + - token id_token + revocation_endpoint: https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/revoke + scopes_supported: + - email + - openid + - profile + subject_types_supported: + - public + token_endpoint: https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/token + userinfo_endpoint: https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/userinfo + MalformedTenantId400: + value: + error: invalid_request + error_description: Tenant Id Exception - Must be a well-formed tenantId + getJwksSuccess: + value: + keys: + - crv: P-256 + kid: 2d670fa8-0f28-44a1-b8b4-87a6d2feb1d8 + kty: EC + use: sig + x: _2tPqxGhgX6cA5Qg7v6UH_9om8OR3-OehkgXXWraTp8 + 'y': DAykmQPtf282buIcL0rLwKYbK6ApgripMjazdAthUFw + - crv: P-256 + kid: eb70508f-4d64-46f7-a3d5-b36558d6e6b6 + kty: EC + use: sig + x: VV0JVJFhkz71wY0E73Z-snorZ5oJf1QOdkIbCjyMqLs + 'y': QLkqBVSPPrkd7HjaSEMgMU9Ob-FDpg1W-oLq5I4ExqQ + - crv: P-256 + kid: 0f2016af-1388-4972-b54d-31cb9e3704ed + kty: EC + use: sig + x: KpmPoZTFXs80Uxy7QcOQ9aaqW35xgT3Qyakee8zR7gA + 'y': P87TZ52rjnOGlmjaPeUGbLaOqiB7FHnoEzULIw6QlfJ diff --git a/apis/shopper-login-oas/shopper-login-oas-1.39.39/shopper-login-oas-v1-public.yaml b/apis/shopper-login-oas/shopper-login-oas-1.39.39/shopper-login-oas-v1-public.yaml new file mode 100644 index 00000000..68028d6a --- /dev/null +++ b/apis/shopper-login-oas/shopper-login-oas-1.39.39/shopper-login-oas-v1-public.yaml @@ -0,0 +1,2037 @@ +openapi: 3.0.3 +info: + title: Shopper Login + version: v1 + description: |- + # API Overview + + The Shopper Login and API Access Service (SLAS) enables secure access to Commerce Cloud’s Shopper APIs for a wide range of headless commerce applications. + + **Important:** Before using this API, see [Authorization for Shopper APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) in the Get Started guides and the more detailed [SLAS guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas.html) for instructions on setting up a SLAS client, obtaining credentials, as well as flow and use case information. + + For load shedding and rate limiting information, see [Load Shedding and Rate Limiting.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/throttle-rates.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/oauth2/login: + post: + summary: Log in a shopper with credentials that are managed by a B2C Commerce instance (B2C Commerce). + description: |- + This follows the authorization code grant flow as defined by the OAuth 2.1 standard. It also uses a proof key for code exchange (PKCE). + + For PKCE values: + - The `code_verifier` string is a random string used for the `/token` endpoint request. + - The `code_challenge` is an encoded version of the `code_verifier` string using an SHA-256 hash. + + The request must include a basic authorization header that contains a Base64 encoded version of the following string: `:`. + Required parameters: `code_challenge`, `channel_id`, `client_id`, and `redirect_uri`. + + Optional parameters: `usid`. + The SLAS `/login` endpoint redirects back to the redirect URI and returns an authorization code. + Calls to `/login` made with the same loginId and tenantId within 1 second result in a conflict. + operationId: authenticateCustomer + x-slas-rate-limit: + excludedStatusCodes: + - '409' + parameters: + - $ref: '#/components/parameters/organizationId' + - name: Authorization + in: header + description: Base64-encoded username and password for HTTP basic authentication + required: true + schema: + type: string + example: Basic + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/LoginRequest' + required: true + responses: + '303': + description: The authorization code and usid were successfuly added to the location header and sent to the callback as query parameters. + content: + application/json: + schema: + type: string + examples: + authenticateCustomerSuccess: + $ref: '#/components/examples/authenticateCustomerSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingClientId400: + $ref: '#/components/examples/BadOrMissingClientId400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InvalidBasicAuth401: + $ref: '#/components/examples/InvalidBasicAuth401' + '409': + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + ConflictingCalls409: + $ref: '#/components/examples/ConflictingCalls409' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/passwordless/login: + post: + summary: Allow the customer to authenticate when their identity provider is down. + description: This endpoint allows customers to authenticate when their configured identity provider is inaccessible. It provides an alternative authentication path through passwordless login methods like email or SMS verification. + operationId: authorizePasswordlessCustomer + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - name: Authorization + in: header + description: 'Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), for example: `clientId:clientSecret`' + required: false + schema: + type: string + example: Basic + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PasswordlessLoginRequest' + required: true + responses: + '200': + description: The customer authenticated successfully. + content: + application/json: + schema: + type: string + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingAccessToken400: + $ref: '#/components/examples/BadOrMissingAccessToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '412': + description: Precondition failure + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + DependentServiceUnavailable412: + $ref: '#/components/examples/DependentServiceUnavailable412' + /organizations/{organizationId}/oauth2/logout: + get: + summary: Log out a shopper. + description: |- + The shopper's access token and refresh token are revoked. If the shopper authenticated with a B2C Commerce (B2C Commerce) instance, the OCAPI JWT is also revoked. Call this endpoint for registered users that have logged in using SLAS. Do not use this endpoint for guest users. + + Required header: Authorization header bearer token of the Shopper access token to log out. + + Required parameters: `refresh token`, `channel_id`, and `client`. + operationId: logoutCustomer + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/client_id' + - $ref: '#/components/parameters/refresh_token' + - name: channel_id + in: query + description: The `channel_id` parameter must be provided if the shopper authenticated using the `login` endpoint with B2C Commerce. + required: false + example: RefArch + schema: + example: RefArch + maxLength: 100 + type: string + - $ref: '#/components/parameters/hint' + - name: Authorization + in: header + description: Shopper access token to be revoked + required: true + schema: + type: string + example: Bearer eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/TokenResponse' + examples: + logoutCustomerSuccess: + $ref: '#/components/examples/logoutCustomerSuccess' + '303': + description: The user has sent too many requests in a given amount of time, and rate limiting is in effect. + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingClientId400: + $ref: '#/components/examples/BadOrMissingClientId400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingClientId400: + $ref: '#/components/examples/BadOrMissingClientId400' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/authorize: + get: + summary: Get an authorization code after authenticating a user against an identity provider (IDP). + description: |- + This is the first step of the OAuth 2.1 authorization code flow, in which a user can log in via federation to the IDP configured for the client. After successfully logging in, the user gets an authorization code via a redirect URI. + + You can call this endpoint from the front channel (the browser). + operationId: authorizeCustomer + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/redirect_uri' + - $ref: '#/components/parameters/response_type' + - $ref: '#/components/parameters/client_id' + - $ref: '#/components/parameters/scope' + - $ref: '#/components/parameters/state' + - $ref: '#/components/parameters/usid' + - $ref: '#/components/parameters/hint' + - name: channel_id + in: query + description: The channel that this request is for. For a B2C Commerce request, this is angalous to the site ID. + required: false + example: RefArch + schema: + example: RefArch + maxLength: 100 + type: string + - $ref: '#/components/parameters/code_challenge' + - $ref: '#/components/parameters/ui_locales' + responses: + '303': + description: The authorization code was successfully added to the `redirect_uri`. + content: + application/json: + schema: + type: string + examples: + authorizeCustomerSuccess: + $ref: '#/components/examples/authorizeCustomerSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingClientId400: + $ref: '#/components/examples/BadOrMissingClientId400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InvalidBasicAuth401: + $ref: '#/components/examples/InvalidBasicAuth401' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/token: + post: + summary: Get the shopper or guest JWT access token and a refresh token. + description: |- + This is the second step of the OAuth 2.1 authorization code flow. + + For a private client, an application is able to get an access token for the shopper through the back channel (a trusted server) by passing in the client credentials and the authorization code retrieved from the `authorize` endpoint. + + For a guest user, get the shopper JWT access token and a refresh token. This is where a client appplication is able to get an access token for the guest user through the back channel (a trusted server) by passing in the client credentials. + + For a public client using PKCE, an application passes a PKCE `code_verifier` that matches the `code_challenge` that was used to `authorize` the customer along with the authorization code. + + When refreshing the access token with a private client ID and client secret, the refresh token is _not_ regenerated. However, when refreshing the access token with a public client ID, the refresh token is _always_ regenerated. The old refresh token is voided with every refresh call, so the refresh token on the client must be replaced to always store the new refresh token. + + See the Body section for required parameters, including `grant_type` and others that depend on the value of `grant_type`. + + **Important**: As of July 31, 2024**, SLAS requires the `channel_id` query parameter in token requests. + operationId: getAccessToken + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - name: Authorization + in: header + description: "Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), for example: `clientId:clientSecret`. \nRequired unless the grant type is `authorization_code_pkce`." + required: false + schema: + type: string + example: Basic + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TokenRequest' + required: true + responses: + '200': + description: the shopper or guest JWT access token and a refresh token were retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TokenResponse' + examples: + getAccessTokenSuccess: + $ref: '#/components/examples/getAccessTokenSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingAccessToken400: + $ref: '#/components/examples/BadOrMissingAccessToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InvalidBasicAuth401: + $ref: '#/components/examples/InvalidBasicAuth401' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/session-bridge/token: + post: + summary: Get a shopper JWT access token for a registered customer using session bridging. + description: |- + For public client ID requests, you must set the grant_type to `session_bridge`. + + For private client_id and secret, you must set the grant_type to `client_credentials` along with a basic authorization header. + + **DEPRECATED** - As of January 31, 2024, SLAS no longer supports the SESB `dwsid` parameter for `guest` users for `session-bridge/token` calls. We recommended you transition to using a SESB `dwsgst` token. + + The `dwsid` is still needed for `registered` user `session-bridge/token` calls. + + **NOTE:** The registered customer Json Web Token (JWT) is available in B2C Commerce versions 25.4 and later. + operationId: getSessionBridgeAccessToken + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SessionBridgeTokenRequest' + required: true + responses: + '200': + description: The shopper JWT access token was retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TokenResponse' + examples: + getSessionBridgeAccessTokenSuccess: + $ref: '#/components/examples/getSessionBridgeAccessTokenSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingAccessToken400: + $ref: '#/components/examples/BadOrMissingAccessToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '503': + description: Gateway error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + GatewayError503: + $ref: '#/components/examples/GatewayError503' + /organizations/{organizationId}/oauth2/trusted-system/token: + post: + summary: Get a shopper JWT access token for a registered customer whose credentials are stored using a third party. + description: |- + The SLAS client must have the `sfcc.ts_ext_on_behalf_of` scope to access this endpoint. + + + For trusted-system requests, you can use a basic authorization header that includes a SLAS private client ID and SLAS private client secret instead of the bearer token. + + + For trusted-system requests, you cannot use SLAS public client_ids. + operationId: getTrustedSystemAccessToken + x-slas-rate-limit: + excludedStatusCodes: + - '409' + parameters: + - $ref: '#/components/parameters/organizationId' + - name: Authorization + in: header + description: "Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), for example: `clientId:clientSecret`. \nRequired unless the grant type is `authorization_code_pkce`." + required: false + schema: + type: string + example: Basic + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TrustedSystemTokenRequest' + required: true + responses: + '200': + description: The shopper JWT access token was retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TokenResponse' + examples: + getTrustedSystemAccessTokenSuccess: + $ref: '#/components/examples/getTrustedSystemAccessTokenSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingClientId400: + $ref: '#/components/examples/BadOrMissingClientId400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '409': + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + ConflictingCalls409: + $ref: '#/components/examples/ConflictingCalls409' + '503': + description: Gateway error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + GatewayError503: + $ref: '#/components/examples/GatewayError503' + /organizations/{organizationId}/oauth2/trusted-agent/authorize: + get: + summary: Obtain a new agent on behalf of an authorization token for a registered customer. + description: This endpoint enables trusted agents (such as customer service representatives or merchants) to obtain authorization tokens that allow them to act on behalf of registered customers. This facilitates customer support scenarios where agents need secure access to customer accounts. + operationId: getTrustedAgentAuthorizationToken + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/client_id' + - $ref: '#/components/parameters/channel_id' + - $ref: '#/components/parameters/code_challenge' + - $ref: '#/components/parameters/login_id' + - $ref: '#/components/parameters/idp_origin' + - $ref: '#/components/parameters/redirect_uri' + - $ref: '#/components/parameters/response_type' + responses: + '303': + description: The new agent was obtained successfully. + headers: + Location: + description: Location header with the `redirect_uri` to Account Manager, which allows the agent to log in. + schema: + maxLength: 2048 + description: URL with redirect + example: https://account.demandware.com:443/dwsso/UI/Login?realm=/&goto=https://account.demandware.com:443/dwsso/oauth2/authorize?client_id=6739cb07-2f5f-4e16-a88a-8113a3cb5512&redirect_uri=https://stg.us1.shopper.cc.salesforce.com/api/v1/trusted-agent/callback" + type: string + content: + application/json: + schema: + type: string + examples: + getTrustedAgentAuthorizationTokenSuccess: {} + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingClientId400: + $ref: '#/components/examples/BadOrMissingClientId400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/trusted-agent/token: + post: + summary: Get a shopper JWT access token for a registered customer using a trusted agent (merchant). + description: |- + If using a SLAS private client ID, you must also use an `_sfdc_client_auth` header. + + The value of the `_sfdc_client_auth` header must be a Base64-encoded string. The string is composed of a SLAS private client ID and client secret, separated by a colon (`:`). For example, `privateClientId:privateClientsecret` becomes `cHJpdmF0ZUNsaWVudElkOnByaXZhdGVDbGllbnRzZWNyZXQ=` after Base64 encoding. + operationId: getTrustedAgentAccessToken + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/_sfdc_client_auth' + - name: Authorization + in: header + description: This is the `Bearer` token that is returned from Account Manager after the trusted agent on behalf of (TAOB) authorize call. + required: false + schema: + type: string + example: Bearer HQ8zQXpc0VVaXEdBdzasZQaCQDw + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TrustedAgentTokenRequest' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/TokenResponse' + examples: + getTrustedAgentAccessTokenSuccess: + $ref: '#/components/examples/getTrustedAgentAccessTokenSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingAccessToken400: + $ref: '#/components/examples/BadOrMissingAccessToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '503': + description: Gateway error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + GatewayError503: + $ref: '#/components/examples/GatewayError503' + /organizations/{organizationId}/oauth2/password/reset: + post: + summary: Request a reset password token. + description: This endpoint initiates the password reset process for a customer by requesting a password reset token. The token is delivered through the configured delivery mode (email, SMS, etc.) and can be used with the password/action endpoint to set a new password. + operationId: getPasswordResetToken + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PasswordActionRequest' + required: true + responses: + '200': + description: The reset password token was requested successfully. + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadMissingAccessOrRefreshToken400: + $ref: '#/components/examples/BadMissingAccessOrRefreshToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '412': + description: Precondition failure + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + DependentServiceUnavailable412: + $ref: '#/components/examples/DependentServiceUnavailable412' + /organizations/{organizationId}/oauth2/password/action: + post: + summary: Create a new password. + description: This endpoint allows a customer to set a new password using a valid password reset token. The customer must provide the token received from the password/reset endpoint along with the desired new password. + operationId: resetPassword + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - name: Authorization + in: header + description: 'Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), for example: `clientId:clientSecret`' + required: false + schema: + type: string + example: Basic + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PasswordActionVerifyRequest' + required: true + responses: + '200': + description: The password was created successfully. + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadParameters400: + $ref: '#/components/examples/BadParameters400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '503': + description: Gateway error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + GatewayError503: + $ref: '#/components/examples/GatewayError503' + /organizations/{organizationId}/oauth2/passwordless/token: + post: + summary: Issue a shopper token (JWT). + description: This endpoint issues a shopper JWT access token using a passwordless login token. It enables authentication flows where traditional username/password combinations are not required, supporting alternative authentication methods. + operationId: getPasswordLessAccessToken + x-slas-rate-limit: + excludedStatusCodes: [] + parameters: + - $ref: '#/components/parameters/organizationId' + - name: Authorization + in: header + description: 'Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), for example: `clientId:clientSecret`' + required: false + schema: + type: string + example: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PasswordLessLoginTokenRequest' + required: true + responses: + '200': + description: The shopper token was issued successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TokenResponse' + examples: + getPasswordLessAccessTokenSuccess: + $ref: '#/components/examples/getPasswordLessAccessTokenSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingAccessToken400: + $ref: '#/components/examples/BadOrMissingAccessToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + Unauthorized401: + $ref: '#/components/examples/InvalidClient401' + '503': + description: Gateway error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + GatewayError503: + $ref: '#/components/examples/GatewayError503' + /organizations/{organizationId}/oauth2/revoke: + post: + summary: Invalidate a refresh token. + description: A basic auth header with Base64-encoded `clientId:secret` is required in the Authorization header, and the refresh token to be revoked is required in the body. + operationId: revokeToken + parameters: + - $ref: '#/components/parameters/organizationId' + - name: Authorization + in: header + description: 'Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`' + required: true + schema: + type: string + example: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TokenActionRequest' + examples: + TokenActionRequestBody: + $ref: '#/components/examples/TokenActionRequestBody' + required: true + responses: + '200': + description: The refresh token was revoked successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TokenActionRequest' + examples: + revokeTokenSuccess: + $ref: '#/components/examples/revokeTokenSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingRefreshToken400: + $ref: '#/components/examples/BadOrMissingRefreshToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InvalidBasicAuth401: + $ref: '#/components/examples/InvalidBasicAuth401' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/introspect: + post: + summary: Return token properties. + description: A basic auth header with Base64-encoded `clientId:secret` is required in the Authorization header, as well as an access token or refresh token. Use `token_type_hint` to help identify the token. + operationId: introspectToken + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/Authorization' + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TokenActionRequest' + examples: + TokenActionRequestBody: + $ref: '#/components/examples/TokenActionRequestBody' + required: true + responses: + '200': + description: Token properties returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TokenActionRequest' + examples: + introspectTokenSuccess: + $ref: '#/components/examples/introspectTokenSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadMissingAccessOrRefreshToken400: + $ref: '#/components/examples/BadMissingAccessOrRefreshToken400' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InvalidBasicAuth401: + $ref: '#/components/examples/InvalidBasicAuth401' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/userinfo: + get: + summary: Return a JSON listing of claims about the currently authenticated user. + description: This endpoint returns identity information about the authenticated user in the form of OpenID Connect claims. It requires a valid access token and returns information such as user ID, name, email, and other identity attributes based on the scopes granted during authentication. + operationId: getUserInfo + parameters: + - $ref: '#/components/parameters/organizationId' + - name: channel_id + in: query + description: Used when getting user information for a SFCC login. For an B2C Commerce customer, this is angalous to the site ID. Required when getting user information for an B2C Commerce customer. + required: false + example: RefArch + schema: + example: RefArch + maxLength: 100 + type: string + - name: Authorization + in: header + description: SLAS Access Token + required: true + schema: + type: string + example: Bearer eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw + responses: + '200': + description: Claims returned successfully. + content: + application/json: + schema: + type: string + examples: + getUserInfoSuccess: + $ref: '#/components/examples/getUserInfoSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + BadOrMissingAccessToken400: + $ref: '#/components/examples/BadOrMissingAccessToken400' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/.well-known/openid-configuration: + get: + summary: | + Return a JSON listing of the OpenID/OAuth endpoints, supported scopes and claims, public keys used to sign the tokens, and other details. + + For performance purposes, the `/.well-known/openid-configuration` endpoint is rate limited to 25 call per minute. + description: This endpoint provides OpenID Connect discovery information in a standardized format. It allows clients to programmatically discover SLAS capabilities, including available endpoints, supported authentication flows, token signing algorithms, and other configuration details. This information helps clients integrate with the authentication service with minimal manual configuration. + operationId: getWellknownOpenidConfiguration + parameters: + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: The JSON listing information was returned successfully. + content: + application/json: + schema: + type: string + examples: + getWellknownOpenidConfigurationSuccess: + $ref: '#/components/examples/getWellknownOpenidConfigurationSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + MalformedTenantId400: + $ref: '#/components/examples/MalformedTenantId400' + '500': + description: Internal server error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' + /organizations/{organizationId}/oauth2/jwks: + get: + summary: Retrieve JWKS keys. + description: | + The `/jwks` endpoint provides a JSON Web Key Set (JWKS) that includes current, past, and future public keys. These keys allow clients to validate the Shopper JSON Web Token (JWT) issued by SLAS, ensuring that no tampering with the token has occurred. Every SLAS JWT that is passed into SLAS, SCAPI, or OCAPI is always validated and is rejected if the signature validation does not match. + + To optimize performance, the `/jwks` endpoint is limited to 25 calls per minute, so we recommended caching the JWKS keys and refresh them only when necessary, instead of making frequent requests. Typically, the JWKs endpoint can be used once per DAY. + + For additional information on using JWKS, see https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-validate-jwt-with-jwks.html. + operationId: getJwksUri + parameters: + - $ref: '#/components/parameters/organizationId' + responses: + '200': + description: The response body containing the JWKS keys was retrieved successfully. + content: + application/json: + schema: + type: object + examples: + getJwksSuccess: + $ref: '#/components/examples/getJwksSuccess' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + getJwksUri400: + $ref: '#/components/examples/MalformedTenantId400' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Oauth2ErrorResponse' + examples: + InternalServerError500: + $ref: '#/components/examples/InternalServerError500' +components: + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + ResponseType: + type: string + description: Response Type + enum: + - code + example: code + LoginRequest: + type: object + required: + - redirect_uri + - channel_id + description: |- + Supports multiple custom parameters to invoke hooks in B2C Commerce API. Multiple custom parameters can be added. Use the `c_` prefix to distinguish custom query parameters from standard query parameters, for example: c_captcha=true + If there is a validation error, a 400 Bad_Request with the details of the error is thrown. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + client_id: + description: SLAS client ID. Required when the grant type is `authorization_code_pkce`. + type: string + maxLength: 40 + example: z99ec276-cg53-4g94-cf72-76f300c6778zc + response_type: + description: Must be `code`. Indicates that the client wants an authorization code (when the grant type is `authorization_code`). + allOf: + - $ref: '#/components/schemas/ResponseType' + redirect_uri: + description: "The URI to which the server redirects the browser after the user grants the authorization. The URI must be registered with the SLAS client. A variety of URI formats and wildcards for host are supported, but app links like airbnb:// or fb:// are not. Examples of supported URIs: \n\nExamples of supported URIs:\n - `http://localhost:3000/callback`\n - `https://example.com/callback`\n - `com.example.app:redirect_uri_path`\n - ` *.subdomain.topleveldomain.com`\n" + maxLength: 256 + type: string + example: http://localhost:3000/callback + state: + description: Value to be sent by the client to determine the state between the authorization request and the server response. Optional, but strongly recommended. + type: string + maxLength: 512 + example: client-state + scope: + description: Scopes to limit an application's access to a user's account. + type: string + maxLength: 256 + example: openid|offline_access|email + usid: + description: The unique shopper ID. + type: string + maxLength: 128 + example: 18cda486-fe32-4e27-888b-6e4f89938e67 + channel_id: + description: The channel that the request is for. For a B2C Commerce request, this is angalous to the site ID. + type: string + maxLength: 100 + example: RefArch + code_challenge: + description: |- + PKCE code verifier. Created by the client calling the `login` endpoint. + + The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. + + The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. + + The `code_challenge` is optional when using a private client id for the token request. + type: string + minLength: 43 + maxLength: 128 + example: krc5G3_5lRUcXDUzFZQ88oJA_-ZmlHWkyGsgOrSLEWg + Oauth2ErrorResponse: + required: + - error + type: object + properties: + error: + type: string + example: invalid_client + error_uri: + type: string + example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/oauth-service + error_description: + type: string + example: Missing access token or refresh token. + PasswordlessLoginRequest: + required: + - channel_id + - mode + - user_id + type: object + properties: + user_id: + maxLength: 128 + type: string + description: User ID for logging in. + example: samantha.sampleson@example.com + mode: + type: string + description: Password Action delivery modes + enum: + - callback + - sms + locale: + type: string + description: The locale of the template. Not needed for the `callback` mode + example: en-us + usid: + type: string + description: The shopper's unique identifier, if known. If not provided, a new USID is generated. + example: 18cda486-fe32-4e27-888b-6e4f89938e67 + channel_id: + maxLength: 100 + type: string + description: The channel (B2C Commerce site) that the user is associated with. + example: RefArch + callback_uri: + type: string + description: | + The callback URI. Required when the mode is `callback`. The `callback_uri` property will be validated against the callback URIs that have been registered with the SLAS client. The callback URI _must_ be a `POST` endpoint because the token will be included in the body. + + Wildcards are not allowed in the callback_uri because this is a security risk that can expose the token. This is not considered an OAuth2 callback_url. + example: http://localhost:9050/passwordless/login/callback + description: A request for a passwordless login token. This is only available for resgistered users using B2C Commerce. + TokenType: + type: string + description: Token Type + enum: + - Bearer + example: Bearer + TokenResponse: + required: + - access_token + - customer_id + - enc_user_id + - expires_in + - id_token + - idp_access_token + - refresh_token + - refresh_token_expires_in + - token_type + - usid + type: object + properties: + access_token: + type: string + description: |- + Short term shopper JWT that can be used to access Shopper APIs. Valid for 30 minutes. + + A trusted agent shopper JWT is valid for 15 min. + example: eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg + id_token: + type: string + description: User ID token. Valid for 30 minutes. + example: eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w + refresh_token: + type: string + description: "Long term refresh token that can be used to refresh an access token. Valid for 30 days. \n\nThe refresh_token will not be returned for trusted agents JWTs. A JWT for trusted agents expires after 15 minutes and is not refreshable. When expired, then app must restart the authorization flow and make another request to the /trusted-agent/authorize endpoint." + example: EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU + expires_in: + type: integer + description: Remaining access token expiry time, in seconds. + example: 900 + refresh_token_expires_in: + type: number + description: Remaining refresh token expiry time, in seconds. + example: 2592000 + token_type: + $ref: '#/components/schemas/TokenType' + usid: + type: string + description: The unique shopper ID. Returned when using the `client_credentials` grant type. + example: 18cda486-fe32-4e27-888b-6e4f89938e67 + customer_id: + type: string + description: Customer's ID + example: 1000005 + enc_user_id: + type: string + description: MD5 Hashed B2C Commerce user ID in uppercase. + example: 45D39A8499A95288F82855427EBA99B5 + idp_access_token: + maxLength: 8192 + type: string + description: This is the access token that is returned from the IDP. The IDP access token is returned to be able to make calls into the IDP outside of SLAS. + example: eyJraWQiOiJYS21HbHVuSm0zSlBTMHNjQXZXV19XQlYtRi1wMkxLSDR0V05UMHVVSjVJIiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULjFMY0xxTWhqM2t0N1FKeFhxQ0VtdGZOOVV2eUcweW1meDFxZG9BdzF1NWMub2FyeXhveHF0QUtxaVFMbkM1ZDYiLCJpc3MiOiJodHRwczovL2Rldi05NTY1MjM2Lm9rdGEuY29tIiwiYXVkIjoiaHR0cHM6Ly9kZXYtOTU2NTIzNi5va3RhLmNvbSIsInN1YiI6Im9rdGEuc2xhcy50ZXN0IiwiaWF0IjoxNjc5Njk4MzA4LCJleHAiOjE2Nzk3MDE5MDgsImNpZCI6IjBvYTJrNXNma0JXZ0poTEVHNWQ2IiwidWlkIjoiMDB1MzhxZGpuU2NMT0IxbXE1ZDYiLCJzY3AiOlsib2ZmbGluZV9hY2Nlc3MiLCJvcGVuaWQiLCJlbWFpbCIsInByb2ZpbGUiXSwiYXV0aF90aW1lIjoxNjc5Njk4MzA2fQ.FDbGsnZGwTYVKGSlAo6jqcjG2HQ_BqQKRk72M5h69DRHyOM4wngsEELN_Wtgj3E77sP7IOmIKjiK5SFP17ADMbKZptVr2pqaMVF3PuU3Cbl_MgXZValfT-z12jHRq9sHMfsdTjY2RnvG44ZDFKc2no8mdL6IJ1MfCaZT5Tql5Ktq_UgudaWFsYqad3ETcmp5Y8ivz1bFnqud0sO9D9JzYOtfd9h71JKcsSC2rXc_Si-INPKKaGl8CDgaLXxu_Am9twJpUenHLpy0BerhcVvdFz7_611E53xOT_Esrc1pe-XAZtlYsJFnhxTBDT342ukiSWk2m6juVappv1GsRfUf2g + GrantType: + type: string + description: Grant Type + enum: + - authorization_code + - refresh_token + - client_credentials + - authorization_code_pkce + - session_bridge + example: authorization_code + TokenRequest: + required: + - grant_type + type: object + properties: + refresh_token: + maxLength: 256 + type: string + description: The long-term token used to refresh the short term access token. Required only with a grant type of `refresh_token`. + code: + maxLength: 256 + type: string + description: Authorization code from the OAuth 2.1 service received in the front channel that is used to get access tokens and refresh tokens. Required with a grant type of `authorization_code` and `session_bridge`. + example: M0t1K0pyoFKhBpUZnuUYO07xf8iYyMJrAc7h31h_ra8.gglPClJHsofqdTm_yPe5n6m2yCXzFmD8qICwIEjQGVA + usid: + type: string + description: The shopper's unique identifier, if known. If not provided, a new USID is generated. + example: 54ad2c5a-91f0-44ab-817c-73d6b86872d9 + grant_type: + $ref: '#/components/schemas/GrantType' + redirect_uri: + maxLength: 256 + type: string + description: "The redirect URI that was used when getting the authorization code. A variety of URI formats and wildcards for host are supported, but app links like `airbnb://` or `fb://` are not. \n\nExamples of supported URIs:\n - `http://localhost:3000/callback`\n - `https://example.com/callback`\n - `com.example.app:redirect_uri_path`\n - ` *.subdomain.topleveldomain.com`\n" + example: http://localhost:3000/callback + code_verifier: + maxLength: 128 + type: string + description: |- + PKCE code verifier. Created by the client calling the `login` endpoint. + + The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. + + The `code_verifier` is optional when using a private client id for the token request. + client_id: + maxLength: 40 + type: string + description: The SLAS client ID. Required when the grant type is `authorization_code_pkce`. + example: z99ec276-cg53-4g94-cf72-76f300c6778zc + channel_id: + maxLength: 100 + type: string + description: |- + The channel (B2C Commerce site) that the user is associated with. + + **Important: We strongly recommended using the channel_id query parameter because it will be required in the future. + + **NOTE - As of July 31, 2024**, SLAS will be requiring the `channel_id` query parameter in token requests. + example: RefArch + dnt: + type: string + description: "This is an optional parameter to set `Do Not Track` for the session. \n\nSLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release.\n\nValues are:\n * `false`\n * `true`\n\nIf not added the `dnt` value will default to `false`." + example: 'true' + SessionBridgeTokenRequest: + required: + - channel_id + - client_id + - code + - code_verifier + - dwsid + - grant_type + - login_id + type: object + properties: + code: + maxLength: 256 + type: string + description: Authorization code returned from session bridge authorization received in the front channel that is used to get session bridge access tokens and refresh tokens. Required with a grant type of `session_bridge`. The SLAS client must have the `sfcc.session_bridge` scope to request a session bridge token. + example: M0t1K0pyoFKhBpUZnuUYO07xf8iYyMJrAc7h31h_ra8.gglPClJHsofqdTm_yPe5n6m2yCXzFmD8qICwIEjQGVA + client_id: + maxLength: 40 + type: string + description: The SLAS public client ID for use with PKCE requests. This is a required parameter when using a public client. + example: 6c388ebd-6843-4863-aef9-781382c9e8cd + channel_id: + maxLength: 100 + type: string + description: The channel (B2C Commerce site) that the user is associated with. + example: RefArch + code_verifier: + type: string + description: |- + PKCE code verifier. Created by the caller. This is a required parameter when using a public client. + + The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. + + The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. + example: Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo + dwsid: + type: string + description: "Cookie passed back from the '/authorize' endpoint call for session bridge. This parameter is optional and not needed if using the `dwsgst` parameter.\n\n**DEPRECATED** - As of January 31, 2024, SLAS will no longer support the SESB `dwsid` parameter for `guest` users for `session-bridge/token` calls. It is recommended to transition over to using a SESB `dwsgst` token. \n\nThe `dwsid` will still be needed for `registered` user session-bridge/token calls." + example: pATvWUO3KSdt-Kmcy-8-RsxKnoO4BMDwoec7ACVlW6tZNnhaOL7gt7mHqL-h7QYn5TyE61z0DeSMCqxngsWeHw== + grant_type: + type: string + description: Grant Type + enum: + - authorization_code + - refresh_token + - client_credentials + - authorization_code_pkce + - session_bridge + login_id: + maxLength: 128 + type: string + description: The ID of the shopper for session bridge access. If requesting a token for a guest user set login_id to `guest`. + example: jack.shopper@example.com + dwsgst: + type: string + description: Signed guest Json Web Token (JWT) that was obtained from B2C Commerce. This parameter is optional and not needed if using the guest `dwsid` parameter. + example: eyJraWQiOiIxNjgxNTU5OTkxNzkwIiwiYWxnIjoiRVMyNTYifQ.eyJ0ZW5hbnRJZCI6IkJHVk5fUzA1IiwiZHdzaWQiOiJuWHRhckdNU2ZxbnBaSUNJUGFKTHJSWGZ6b2lWYXBBU3BBTFNfeFdUMV9QZjRBWDA0N1lMQ1dSUFByM1BiSEl4d2RaODFiVGZoM3M1Wlgza2NhOG0zZz09IiwiY3VzdG9tZXJJZCI6ImJjQXI5N2NuMm1ZdmhjMGhqTGsxYmFXSzRqIiwiaWF0IjoxNjg1MTI4NjM2LCJleHAiOjE2ODUxMjkyMzksImlzcyI6ImNvbW1lcmNlY2xvdWQvcHJvZHVjdGlvbi9iZ3ZuczA1IiwidmVycyI6IjEiLCJ0eXBlIjoiRyJ9.BGY4kyOXbQSzZxubE3BrSzhf8ByehGUfJa7_J2XRQ93xY4dAOhF_xbXcHmBaEUBUzSny-Cf0pATzEaSsKpTxkg + dwsrst: + type: string + description: "Signed registered customer Json Web Token (JWT) that was obtained from B2C Commerce. This parameter is optional and not needed if using the registered user `dwsid` parameter. \n\n**NOTE:** The registered customer Json Web Token (JWT) will be available in ECOM versions 25.4 and higher." + example: eyJraWQiOiIxNjMwOTM5MzAyODE0IiwiYWxnIjoiRVMyNTYifQ.eyJmbmFtZSI6Ikx1a2UiLCJkd3NpZCI6IkdkWWpSQjViZGVpU0xkb3Ixdy15QzRTZ1l3dDJHYl9Ec255OG5nZ2I3c0VDajVMWndnT0ZJWTZsa21sNlVRMXZoazl1SDVJUGxMek5rZTJhNTV2YU9nPT0iLCJ2ZXJzIjoiMiIsImlzcyI6InNsYXMvZGV2L2Jndm5fc3RnIiwidHlwZSI6IlIiLCJsbmFtZSI6IlNreXdhbGtlciIsInJjdXN0b21lcklkIjoiOGgzNHh6dDQxOTVpOHA1MmE2ejAzczIxNDgiLCJwaG9uZSI6bnVsbCwidGVuYW50SWQiOiJiZ3ZuX3N0ZyIsImN1c3RvbWVySWQiOiI0OHB1eXA4dTdmMmM5NHgzMTUxeDA4bGEweiIsImV4cCI6MTczNTE1NDQ4NiwiaWF0IjoxNzMyNTYyNDg2LCJlbWFpbCI6Imx1a2Uuc2t5d2Fsa2VyQG5hYm9vLm9yZyJ9.Q2nF0wuEl1X7aVZ-ycCwxDjjmq5toJred5AEDqKXXjj89BY_0HIQoAEMbx9UDqOmhjdBkxN4idVzYVoXcl0c2A + usid: + type: string + description: The unique shopper ID. Returned when from session bridge authorization. + example: 18cda486-fe32-4e27-888b-6e4f89938e67 + dnt: + type: string + description: "This is an optional parameter to set `Do Not Track` for the session. \n\nSLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release.\n\nValues are:\n * `false`\n * `true`\n\nIf not added the `dnt` value will default to `false`." + example: 'true' + TrustedSystemTokenRequest: + required: + - channel_id + - client_id + - grant_type + - hint + - idp_origin + - login_id + type: object + properties: + usid: + type: string + description: The shopper's unique identifier, if known. If not provided, a new USID is generated. + example: 54ad2c5a-91f0-44ab-817c-73d6b86872d9 + grant_type: + type: string + description: Grant Type + enum: + - authorization_code + - refresh_token + - client_credentials + - authorization_code_pkce + - session_bridge + hint: + type: string + description: Type of system used for Trusted System On Behalf of requests. + enum: + - ts_ext_on_behalf_of + login_id: + maxLength: 128 + type: string + description: "The ID used by the shopper for trusted system access. \n\nIf set to `guest`, a token is returned for a guest user." + example: samantha.sampleson@example.com + idp_origin: + type: string + description: IDPs that work with SLAS. Use `ecom` when using B2C Commerce is the identity provider. + enum: + - apple + - auth0 + - azure + - azure_adb2c + - cognito + - default + - ecom + - facebook + - forgerock + - gigya + - gigya_socialize + - google + - okta + - ping + - salesforce + client_id: + maxLength: 40 + type: string + description: The SLAS public client ID for use with trusted-system requests. + example: 6c388ebd-6843-4863-aef9-781382c9e8cd + channel_id: + maxLength: 100 + type: string + description: The channel (ECOM site) that the user is associated with. + example: RefArch + email_id: + maxLength: 128 + type: string + description: The email address for the shopper that is used for trusted-system requests. If not provided, `login_id` is used instead. + example: samantha.sampleson@example.com + dnt: + type: string + description: |- + This is an optional parameter to set `Do Not Track` for the session. + + SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. + + Values are: + * `false` + * `true` + + If not added the `dnt` value will default to `false`. + + Note: The default value for `dnt` is set to `false` for SLAS token requests except for Trusted Agent token request. For Trusted Agent token requests the default value for `dnt` is `true`. + example: 'true' + description: A request for an access token on behalf of a registered user whose credentials are stored using a third party system. + TrustedAgentTokenRequest: + required: + - channel_id + - client_id + - code_verifier + - grant_type + - idp_origin + - login_id + type: object + properties: + agent_id: + maxLength: 40 + type: string + description: |- + The ID of the merchant. If passed in, the `agent_id` will be validated using the SUB claim in the response from Account Manager. + + This is an optional parameter unless the request is for a Trusted Agent on Behalf then `agent_id` is required. + example: merchant@example.com + client_id: + maxLength: 40 + type: string + description: |- + The SLAS public client ID or SLAS private client ID for use with trusted-system requests. + + The `client_id` is not needed if a using a SLAS private `client_id` and the `_sfdc_client_auth` header. + example: 6c388ebd-6843-4863-aef9-781382c9e8cd + channel_id: + maxLength: 100 + type: string + description: The channel (B2C Commerce site) that the user is associated with. + example: RefArch + code_verifier: + type: string + description: |- + PKCE code verifier. Created by the caller. + + The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. + + The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. + + The `code_verifier` is not needed if a using a SLAS private `client_id` and the `_sfdc_client_auth` header. + example: Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo + grant_type: + type: string + description: Grant Type + enum: + - authorization_code + - refresh_token + - client_credentials + - authorization_code_pkce + - session_bridge + login_id: + maxLength: 128 + type: string + description: |- + The ID is the shopper for trusted agent access. + + For TAOB Guest the `login_id` must be set to `Guest`. + example: jack.shopper@example.com + idp_origin: + maxLength: 16 + type: string + description: "The IDP that the user is associated with. \n\nFor TAOB Guest the `idp_origin` parameter should be `slas`. If set to any other IDP origin a 400 Bad Request will be returned." + example: ecom + usid: + type: string + description: The shopper's unique identifier, if known. If not provided, a new USID is generated. + example: 54ad2c5a-91f0-44ab-817c-73d6b86872d9 + dnt: + type: string + description: "This is an optional parameter to set `Do Not Track` for the session. \n\nSLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release.\n\nValues are:\n * `false`\n * `true`\n\n If not added the `dnt` value will default to `true`\n\n Note: The default value for `dnt` is set to `true` for all TAOB flows. This is opposite from other SLAS token requests." + example: 'true' + state: + type: string + description: "This is an optional parameter to set state for the trusted agent session. \n\nIf the `state` parameter is used it will be validated and a 400 Bad Request will be returned if missing or invalid.\n\nFor TAOB Guest you must pass the `state` parameter to transfer the state from the TAOB Guest authorization call to the token call. \nThe `state` parameter value is returned with the authorization code in the response url from the TAOB guest authorization call, \nfor example: `.../taob/callback?code=HETXpvg5LKBNIHjDTWkRrf2MLVU&state=taob.gst.7bc7fb7f-e646-44fd-bc73-dfd5c3c9019b`.\n\nYou would use `taob.gst.7bc7fb7f-e646-44fd-bc73-dfd5c3c9019b` for the `state` value in the TAOB request." + example: taobgst.3ebdcbb6-ef87-4f41-8173-67728636e513 + PasswordActionRequest: + required: + - channel_id + - mode + - user_id + type: object + properties: + user_id: + maxLength: 128 + type: string + description: User ID for logging in. This is the id that is used to log into SFCC. + example: samantha.sampleson@example.com + mode: + type: string + description: Password Action delivery modes + enum: + - callback + - sms + channel_id: + type: string + description: The channel (B2C Commerce site) that the user is associated with. + example: RefArch + locale: + type: string + description: The locale of the template. + example: en-us + client_id: + maxLength: 40 + type: string + description: |- + -| The public client ID. Requires setting `grant_type` to `passwordless_login_pkce`. + When using the `hint` query parameter either a public or private client ID can be used. + example: 6b200ebd-7843-4073-aef9-792482c9e1de + code_challenge: + maxLength: 128 + minLength: 43 + type: string + description: "PKCE code challenge. Created by the client.\n\nThe `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash.\n\nThe `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. \n\n Requires setting `grant_type` to `passwordless_login_pkce`" + example: Nx_Vf0-0W6SpyRVBVTbl8VSu2OE4yD2fZNExW6N3V_Q + callback_uri: + type: string + description: | + The callback uri. Required when the mode is `callback`. The `callback_uri` property will be validated against the callback URIs that have been registered with the SLAS client. The callback URI _must_ be a `POST` endpoint because the token will be included in the body. + + Wildcards are not allowed in the callback_uri because this is a security risk that can expose the token. This is not considered an OAuth2 callback_url. + example: http://localhost:9050/password/reset/callback + idp_name: + type: string + description: The name of the 3rd party identity provider for the user ID + example: okta + hint: + type: string + description: Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_challenge for password reset request. If the `hint` query parameter is used it must also be used in the password reset request. + example: cross_device + description: A request for a password reset token. This is only available for resgistered users using B2C Commerce. + PasswordActionVerifyRequest: + required: + - channel_id + - client_id + - code_verifier + - pwd_action_token + type: object + properties: + client_id: + maxLength: 40 + type: string + description: |- + -| The public client ID. + When using the `hint` query parameter either a public or private client ID can be used. + example: 6b200ebd-7843-4073-aef9-792482c9e1de + pwd_action_token: + type: string + description: Password action token that was returned from the `/password/reset` endpoint. + example: QJO3CA7QTPVCQ3OMROXF2MTDDED3EEC3 + code_verifier: + type: string + description: |- + PKCE code verifier. Created by the client. + + The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. + + The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. + example: Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo + new_password: + type: string + description: The new password to set for the shopper associated with the password action token. + example: new_password + channel_id: + maxLength: 100 + type: string + description: The channel that the request is for. For a B2C Commerce request, this is angalous to the site ID. + example: RefArch + hint: + type: string + description: Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_verifier for password reset request. If the `hint` query parameter is used it must also have been used in the password action request. + example: cross_device + description: A request for creating a new password using the password action token. + PasswordLessLoginTokenRequest: + required: + - grant_type + - hint + - pwdless_login_token + type: object + properties: + grant_type: + type: string + description: Grant Type + enum: + - authorization_code + - refresh_token + - client_credentials + - authorization_code_pkce + - session_bridge + hint: + type: string + description: Passwordless hint. Use `pwdless_login`. + example: pwdless_login + pwdless_login_token: + type: string + description: Passwordless login token that was created from the user ID. + example: QJO3CA7QTPVCQ3OMROXF2MTDDED3EEC3 + client_id: + maxLength: 40 + type: string + description: The public client ID. + example: 6b200ebd-7843-4073-aef9-792482c9e1de + code_verifier: + type: string + description: |- + PKCE code verifier. Created by the client. + + The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. + + The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. + example: Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo + description: A request for an access token using a passwordless token. + TokenActionRequest: + required: + - token + type: object + properties: + token: + type: string + description: Token to inspect or revoke. + example: EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU + token_type_hint: + type: string + description: Token Type Hint + enum: + - access_token + - refresh_token + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + client_id: + name: client_id + in: query + description: The SLAS public client ID or SLAS private client ID for use with trusted-agent requests. When using a private client ID a PKCE code challenge is not required. + required: true + schema: + maxLength: 40 + type: string + refresh_token: + name: refresh_token + in: query + description: Refresh token that was given during the access token request. + required: true + schema: + type: string + hint: + name: hint + in: query + description: |- + Name of an identity provider (IDP) to optionally redirect to, thereby skipping the IDP selection step. + + To use a public client, set `hint` to `guest` and use a public client ID to get an authorization code. If no `hint` is provided, the preferred IDP of the tenant is used by default. + + For session bridge authorization the `hint` should be set to `sb-user` for a registered customer and to `sb-guest` for a guest. For session bridge authorization the SLAS Client `sfcc.session_bridge` scope. + required: false + schema: + maxLength: 256 + type: string + redirect_uri: + name: redirect_uri + in: query + description: | + The redirect for Account Manager to redirect to. A variety of URI formats and wildcard for host are supported, but app links like `airbnb://` or `fb://` are not. Examples of supported URIs: + - `http://localhost:3000/callback` + - `https://example.com/callback` + - `com.example.app:redirect_uri_path` + - ` *.subdomain.topleveldomain.com` + required: true + schema: + maxLength: 256 + type: string + response_type: + name: response_type + in: query + description: Must be `code`. Indicates that the caller wants an authorization code. + required: true + schema: + type: string + description: Response Type + enum: + - code + scope: + name: scope + in: query + required: false + schema: + maxLength: 256 + type: string + enum: + - openid + - offline_access + - email + state: + name: state + in: query + description: Value to send the client to determine the state between the authorization request and the server response. Optional, but strongly recommended. + required: false + schema: + maxLength: 512 + type: string + usid: + name: usid + in: query + description: A unique shopper identifier (USID). If not provided, a new USID is generated. + required: false + schema: + maxLength: 256 + type: string + code_challenge: + name: code_challenge + in: query + description: |- + PKCE code challenge. Created by the caller. + + The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. + + The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. + + The *`code_challenge` and 'code_verifier'* are required if a using SLAS public `client_id`. + required: false + schema: + maxLength: 128 + minLength: 43 + type: string + ui_locales: + name: ui_locales + in: query + description: "End-User's preferred languages and scripts for the user interface, represented as a space-separated list of BCP47 [RFC5646] language tag values, ordered by preference. For example, the value `fr-CA fr en` represents a preference for French as spoken in Canada, then French (without a region designation), followed by English (without a region designation). \n\nIn most cases the IDP supports one language tag and has a default language set on the server. SLAS will support the space-separated list and pass them to the IDP." + required: false + schema: + maxLength: 256 + type: string + channel_id: + name: channel_id + in: query + description: The channel (B2C Commerce site) that the user is associated with. + example: RefArch + required: true + schema: + maxLength: 100 + type: string + example: RefArch + login_id: + name: login_id + in: query + description: |- + The ID of the shopper for trusted agent access. + + For TAOB Guest the `login_id` must be set to `Guest`. + required: true + schema: + maxLength: 128 + type: string + idp_origin: + name: idp_origin + in: query + description: |- + The IDP that the shopper is associated with. + + For TAOB Guest the `idp_origin` must be set to `slas`. This is standard for SLAS Guest requests. If any other `idp_origin` value is used, SLAS returns a bad request. + required: true + schema: + maxLength: 16 + type: string + _sfdc_client_auth: + name: _sfdc_client_auth + in: header + description: |- + "Base64-encoded string of client credentials. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`. (Do not add the string `"Basic"`.) + + The `_sfdc_client_auth` header is only required when using a SLAS private client ID." + required: false + schema: + type: string + Authorization: + name: Authorization + in: header + description: Base64 string for HTTP Basic authentication. + required: true + schema: + type: string + examples: + authenticateCustomerSuccess: + value: + location: https://:/callback?usid=d11392ae-cbf0-4296-9723-8f9f0e49fd73&state=1728422547223&scope=openid%20offline_access&code=561X8NOKvoRezq2aucazwwkrevUoIP37YRTfsRHX8ow + BadOrMissingClientId400: + value: + error: invalid_request + error_description: Bad or missing client_id. + InvalidBasicAuth401: + value: + error: invalid_client + error_description: Basic Authorization failed. + ConflictingCalls409: + value: + error: conflict + error_description: The same loginId and tenantId tried to login twice within 1 second. + InternalServerError500: + value: + error: server_error + error_description: The server has encountered a situation that it doesn't know how to handle. + BadOrMissingAccessToken400: + value: + error: invalid_request + error_description: Bad or missing access token. + InvalidClient401: + value: + error: invalid_client + error_description: Authorization failed. + DependentServiceUnavailable412: + value: + error: precondition_failure + error_description: Dependent service is not available. + logoutCustomerSuccess: + value: + access_token: '' + id_token: 'null' + refresh_token: EnL9U2f3-WiVPwL60CFBI21UY_oxWAwX5JkgO-X12Vs + expires_in: 0 + refresh_token_expires_in: 0 + token_type: Bearer + usid: 'null' + customer_id: 'null' + enc_user_id: 'null' + idp_access_token: '' + authorizeCustomerSuccess: + value: + authorizationCode: eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiS + usid: 156c4e69-e89b-406b-a4b7-576980bb234e + getAccessTokenSuccess: + value: + access_token: eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg + id_token: eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w + refresh_token: EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU + expires_in: 900 + refresh_token_expires_in: 7776000 + token_type: Bearer + usid: 18cda486-fe32-4e27-888b-6e4f89938e67 + customer_id: '1000005' + enc_user_id: 45D39A8499A95288F82855427EBA99B5 + idp_access_token: eyJraWQiOiJYS21HbHVuSm0zSlBTMHNjQXZXV19XQlYtRi1wMkxLSDR0V05UMHVVSjVJIiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULjFMY0xxTWhqM2t0N1FKeFhxQ0VtdGZOOVV2eUcweW1meDFxZG9BdzF1NWMub2FyeXhveHF0QUtxaVFMbkM1ZDYiLCJpc3MiOiJodHRwczovL2Rldi05NTY1MjM2Lm9rdGEuY29tIiwiYXVkIjoiaHR0cHM6Ly9kZXYtOTU2NTIzNi5va3RhLmNvbSIsInN1YiI6Im9rdGEuc2xhcy50ZXN0IiwiaWF0IjoxNjc5Njk4MzA4LCJleHAiOjE2Nzk3MDE5MDgsImNpZCI6IjBvYTJrNXNma0JXZ0poTEVHNWQ2IiwidWlkIjoiMDB1MzhxZGpuU2NMT0IxbXE1ZDYiLCJzY3AiOlsib2ZmbGluZV9hY2Nlc3MiLCJvcGVuaWQiLCJlbWFpbCIsInByb2ZpbGUiXSwiYXV0aF90aW1lIjoxNjc5Njk4MzA2fQ.FDbGsnZGwTYVKGSlAo6jqcjG2HQ_BqQKRk72M5h69DRHyOM4wngsEELN_Wtgj3E77sP7IOmIKjiK5SFP17ADMbKZptVr2pqaMVF3PuU3Cbl_MgXZValfT-z12jHRq9sHMfsdTjY2RnvG44ZDFKc2no8mdL6IJ1MfCaZT5Tql5Ktq_UgudaWFsYqad3ETcmp5Y8ivz1bFnqud0sO9D9JzYOtfd9h71JKcsSC2rXc_Si-INPKKaGl8CDgaLXxu_Am9twJpUenHLpy0BerhcVvdFz7_611E53xOT_Esrc1pe-XAZtlYsJFnhxTBDT342ukiSWk2m6juVappv1GsRfUf2g + getSessionBridgeAccessTokenSuccess: + value: + access_token: eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg + id_token: eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w + refresh_token: EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU + expires_in: 900 + refresh_token_expires_in: 7776000 + token_type: Bearer + usid: 18cda486-fe32-4e27-888b-6e4f89938e67 + customer_id: '1000005' + enc_user_id: 45D39A8499A95288F82855427EBA99B5 + idp_access_token: '' + GatewayError503: + value: + error: gateway_server_error + error_description: A service that the server relies on is down or is having difficulty. + getTrustedSystemAccessTokenSuccess: + value: + access_token: eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg + id_token: eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w + refresh_token: EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU + expires_in: 900 + refresh_token_expires_in: 7776000 + token_type: Bearer + usid: 18cda486-fe32-4e27-888b-6e4f89938e67 + customer_id: '1000005' + enc_user_id: 45D39A8499A95288F82855427EBA99B5 + idp_access_token: '' + getTrustedAgentAccessTokenSuccess: + value: + access_token: eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg + id_token: eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w + refresh_token: EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU + expires_in: 900 + token_type: Bearer + refresh_token_expires_in: 7776000 + usid: 18cda486-fe32-4e27-888b-6e4f89938e67 + customer_id: '1000005' + enc_user_id: 45D39A8499A95288F82855427EBA99B5 + idp_access_token: '' + BadMissingAccessOrRefreshToken400: + value: + error: invalid_request + error_description: Bad or missing access token or refresh token + BadParameters400: + value: + error: invalid_request + error_description: Bad or missing request parameters. + getPasswordLessAccessTokenSuccess: + value: + access_token: eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg + id_token: eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w + refresh_token: EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU + expires_in: 900 + refresh_token_expires_in: 7776000 + token_type: Bearer + usid: 18cda486-fe32-4e27-888b-6e4f89938e67 + customer_id: '1000005' + enc_user_id: 45D39A8499A95288F82855427EBA99B5 + idp_access_token: '' + TokenActionRequestBody: + value: + token: ry5XU_WHX20S6Cn6W7keFIs7Pzkv4wTZJS9Yvh0Ve9A.cdBxoCY9Q3jffQQOFnb_qghbSmSRnn9-2H4GwFTDMTk + token_type_hint: refresh_token + revokeTokenSuccess: + value: + access_token: '' + id_token: 'null' + refresh_token: EnL9U2f3-WiVPwL60CFBI21UY_oxWAwX5JkgO-X12Vs + expires_in: 0 + refresh_token_expires_in: 0 + token_type: Bearer + usid: 'null' + customer_id: 'null' + enc_user_id: 'null' + idp_access_token: '' + BadOrMissingRefreshToken400: + value: + error: invalid_request + error_description: Bad or missing refresh token. + introspectTokenSuccess: + value: + active: true + client_id: 553ac8ac-4db9-4ed3-825c-3ae3bf5d327b + exp: 1602523099 + iat: 1594747099 + iss: https://localhost:9000/ + scope: offline_access openid + sub: usid:edbf780a-2d83-4e82-9f64-8d051e3538d2::uido:Google::upn:blair.slas.test@gmail.com::uidn:Foo SLAS-Test + token_type: refresh_token + getUserInfoSuccess: + value: + customer_id: abxHc1lblIlKwRl0k1mqYYkewY + email: slas-okta-test@test.org + external_id: okta-00u38qdjnScLOB1mq5d6 + family_name: Test + given_name: Slas + name: Slas Test + sub: 98a84e4b-be50-422a-ab04-e9034e859eb9 + validated: true + getWellknownOpenidConfigurationSuccess: + value: + authorization_endpoint: https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/authorize + claims_supported: + - email + - name + - given_name + - family_name + - sub + code_challenge_methods_supported: + - S256 + grant_types_supported: + - authorization_code + - authorization_code_pkce + - client_credentials + - refresh_token + id_token_encryption_enc_values_supported: + - A256GCM + issuer: https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2 + jwks_uri: https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/jwks + response_types_supported: + - code + - token + - token id_token + revocation_endpoint: https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/revoke + scopes_supported: + - email + - openid + - profile + subject_types_supported: + - public + token_endpoint: https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/token + userinfo_endpoint: https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/userinfo + MalformedTenantId400: + value: + error: invalid_request + error_description: Tenant Id Exception - Must be a well-formed tenantId + getJwksSuccess: + value: + keys: + - crv: P-256 + kid: 2d670fa8-0f28-44a1-b8b4-87a6d2feb1d8 + kty: EC + use: sig + x: _2tPqxGhgX6cA5Qg7v6UH_9om8OR3-OehkgXXWraTp8 + 'y': DAykmQPtf282buIcL0rLwKYbK6ApgripMjazdAthUFw + - crv: P-256 + kid: eb70508f-4d64-46f7-a3d5-b36558d6e6b6 + kty: EC + use: sig + x: VV0JVJFhkz71wY0E73Z-snorZ5oJf1QOdkIbCjyMqLs + 'y': QLkqBVSPPrkd7HjaSEMgMU9Ob-FDpg1W-oLq5I4ExqQ + - crv: P-256 + kid: 0f2016af-1388-4972-b54d-31cb9e3704ed + kty: EC + use: sig + x: KpmPoZTFXs80Uxy7QcOQ9aaqW35xgT3Qyakee8zR7gA + 'y': P87TZ52rjnOGlmjaPeUGbLaOqiB7FHnoEzULIw6QlfJ diff --git a/apis/shopper-stores-oas/shopper-stores-oas-1.0.16/.metadata.json b/apis/shopper-stores-oas/shopper-stores-oas-1.0.16/.metadata.json new file mode 100644 index 00000000..29049a24 --- /dev/null +++ b/apis/shopper-stores-oas/shopper-stores-oas-1.0.16/.metadata.json @@ -0,0 +1,17 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-stores-oas/1.0.16", + "name": "Shopper Stores OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-stores-oas", + "version": "1.0.16", + "categories": { + "SDK Type": [ + "Isomorphic", + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/shopper-stores-oas/shopper-stores-oas-1.0.16/exchange.json b/apis/shopper-stores-oas/shopper-stores-oas-1.0.16/exchange.json new file mode 100644 index 00000000..85bcbebe --- /dev/null +++ b/apis/shopper-stores-oas/shopper-stores-oas-1.0.16/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-stores-oas-v1-public.yaml", + "name": "Shopper Stores OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "shopper-stores-oas", + "version": "1.0.16", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/shopper-stores-oas/shopper-stores-oas-1.0.16/shopper-stores-oas-v1-internal.yaml b/apis/shopper-stores-oas/shopper-stores-oas-1.0.16/shopper-stores-oas-v1-internal.yaml new file mode 100644 index 00000000..538899a6 --- /dev/null +++ b/apis/shopper-stores-oas/shopper-stores-oas-1.0.16/shopper-stores-oas-v1-internal.yaml @@ -0,0 +1,607 @@ +openapi: 3.0.3 +info: + title: Shopper Stores + version: v1 + description: |- + # API Overview + + Provides access to stores via search or ID lookup. + + + ## Authentication & Authorization + + The Shopper Stores API requires a shopper access token from the [Shopper Login and API Access Service (SLAS).](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/store/shopper-stores/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/stores: + get: + summary: Return stores identified by the IDs provided as input. + operationId: getStores + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/ids' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Returned details for specific stores. + content: + application/json: + schema: + $ref: '#/components/schemas/StoreResult' + examples: + StoresResult: + $ref: '#/components/examples/StoresResult' + '400': + description: A value constraint for query parameters was violated. Or, a combination of latitude and longitude, a combination of country code and postal code, or an invalid distance_unit was provided. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + MissingIds400: + $ref: '#/components/examples/MissingIds400' + security: + - ShopperToken: + - sfcc.shopper-stores + /organizations/{organizationId}/store-search: + get: + summary: Retrieve a list of stores for the given site that are within a configured distance of a geolocation. + description: | + - The distance is interpreted either in miles or kilometers, depending on the `distanceUnit` input parameter. + - The location is specified by either directly providing a latitude and longitude coordinate pair, or by providing a country and a postal code. If a postal code is passed, the resource looks in the system's geolocation mappings in Business Manager to find the coordinates for this postal code. If no matching geolocation is found, the resource returns an empty list of stores. If coordinates are passed, the values for country and postal code are ignored. + + To verify site latitude and longitude information in Business Manager: + - Navigate to **Merchant Tools -> Online Marketing -> Stores**. + - Select the applicable site. + - In the **Address** tab, verify that valid information is provided in the following fields: **Address**, **City**, **Postal Code**, **State**, and **Country**. For latitude and longitude values, you can manually enter values or provide all field values to auto-populate **Latitude** and **Longitude**. You must provide valid values for all of the previous fields for latitude and longitude to auto-populate **Latitude** and **Longitude** values. + operationId: searchStores + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/countryCode' + - $ref: '#/components/parameters/distanceUnit' + - $ref: '#/components/parameters/latitude' + - $ref: '#/components/parameters/longitude' + - $ref: '#/components/parameters/maxDistance' + - $ref: '#/components/parameters/postalCode' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Returned a list of stores for the given search parameters, up to the paging size, including their distance from the given geolocation and additional information on the pagination of objects. + content: + application/json: + schema: + $ref: '#/components/schemas/Stores' + examples: + StoreSearchResult: + $ref: '#/components/examples/StoreSearchResult' + '400': + description: A value constraint for query parameters was violated. Or, a combination of latitude and longitude, a combination of country code and postal code, or an invalid distance_unit was provided. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + MissingPostalCode400: + $ref: '#/components/examples/MissingPostalCode400' + security: + - ShopperToken: + - sfcc.shopper-stores +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc:shopper-stores: Allows read operations on shopper-stores + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-stores: Allows read operations on shopper-stores + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + CountryCode: + pattern: ^[A-Z][A-Z]$ + description: A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. + example: US + type: string + Distance: + minimum: 0 + maximum: 20012 + format: double + description: The distance to the given geolocation where the stores will be searched, using the unit given in the attribute 'DistanceUnit' (miles or kilometers). + type: number + DistanceUnit: + description: The unit the distance attribute is measured in (either in miles or kilometers). + enum: + - km + - mi + type: string + Latitude: + minimum: -90 + maximum: 90 + format: double + description: The latitude of the store. + type: number + Longitude: + minimum: -180 + maximum: 180 + format: double + description: The longitude of the store. + type: number + PostalCode: + minLength: 3 + maxLength: 10 + description: The postal code of the store. + type: string + Store: + description: Document representing a store. + properties: + address1: + minLength: 1 + description: The primary address of the store. + type: string + address2: + description: The secondary address of the store. + type: string + city: + description: The city of the store. + type: string + countryCode: + $ref: '#/components/schemas/CountryCode' + distance: + $ref: '#/components/schemas/Distance' + distanceUnit: + $ref: '#/components/schemas/DistanceUnit' + email: + description: The email address of the store. + type: string + fax: + description: The fax number of the store. + type: string + id: + minLength: 1 + maxLength: 256 + description: The id of the store. + type: string + image: + description: The store image. + type: string + inventoryId: + maxLength: 256 + description: The inventory list id associated with this store. + type: string + latitude: + $ref: '#/components/schemas/Latitude' + longitude: + $ref: '#/components/schemas/Longitude' + name: + description: The store name. + type: string + phone: + description: The phone number of the store. + type: string + posEnabled: + description: Whether this store uses Store Point-of-Sale. + type: boolean + postalCode: + description: The postal code of the store. + allOf: + - $ref: '#/components/schemas/PostalCode' + stateCode: + description: The state code of the store. + type: string + storeEvents: + description: The store events. + type: string + storeHours: + description: The opening hours of the store. + type: string + storeLocatorEnabled: + description: Whether this store should show up in store locator results. + type: boolean + required: + - id + type: object + StoreResult: + description: Result object containing an array of stores. + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + data: + description: The list of stores in the search result. + type: array + items: + $ref: '#/components/schemas/Store' + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + Stores: + description: Result object containing an paginated array of stores. + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + description: The list of stores in the search result. + type: array + items: + $ref: '#/components/schemas/Store' + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + ids: + name: ids + in: query + description: The IDs of a requested stores (comma separated, max 50 IDs). + required: true + schema: + maxLength: 256 + minLength: 1 + type: string + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + countryCode: + name: countryCode + in: query + schema: + $ref: '#/components/schemas/CountryCode' + description: The two letter ISO country code, such as "US". This value is required when a postalCode is provided. + required: false + distanceUnit: + name: distanceUnit + in: query + description: The distance unit. Supported values are "mi" (miles) and "km" (kilometers). The default is "km". + required: false + schema: + $ref: '#/components/schemas/DistanceUnit' + latitude: + name: latitude + in: query + description: The geographical latitude to search for stores (value range -90.00 .. 90.00). This value is required when a longitude is provided. + required: false + schema: + $ref: '#/components/schemas/Latitude' + longitude: + name: longitude + in: query + description: The geographical longitude to search for stores (value range -180.00 .. 180.00). You must provide a longitude when a latitude is provided. + required: false + schema: + $ref: '#/components/schemas/Longitude' + maxDistance: + name: maxDistance + in: query + description: The area (radius) in distanceUnit where stores will be searched. + required: false + schema: + $ref: '#/components/schemas/Distance' + postalCode: + name: postalCode + in: query + description: The postal code, such as "84121". You must provide a countryCode when a postalCode is provided. + required: false + schema: + $ref: '#/components/schemas/PostalCode' + examples: + StoresResult: + value: + data: + - address1: 1487 Bay St + city: Springfield + countryCode: US + distance: 147.03 + distanceUnit: km + id: store9 + name: Springfield Media Store + phone: +1-413-413-6916 + posEnabled: false + postalCode: '01109' + stateCode: MA + storeEvents: Here are some store events. + storeHours: Here are the store hours + storeLocatorEnabled: true + - address1: 70 Wood Ave + city: Bridgeport + countryCode: US + distance: 198.36 + distanceUnit: km + email: store1@company.com + id: store11 + name: Electronics Super Store + phone: +1-203-965-7014 + posEnabled: false + postalCode: '06605' + stateCode: CT + storeLocatorEnabled: true + - address1: 239 Bridge St + city: Manchester + countryCode: US + distance: 219 + distanceUnit: km + id: store8 + name: Gardena Mart + phone: +1-603-715-9773 + posEnabled: false + postalCode: '03104' + stateCode: NH + storeLocatorEnabled: true + - address1: 150 Winthrop Ave + city: Lawrence + countryCode: US + distance: 242.77 + distanceUnit: km + id: store6 + name: Khale Street Electronics + phone: +1-978-580-2704 + posEnabled: false + postalCode: '01843' + stateCode: MA + storeLocatorEnabled: true + - address1: 110 Smith St + city: Providence + countryCode: US + distance: 245.02 + distanceUnit: km + email: store2@company.com + id: store2 + name: Super Electronics + phone: +1-401-312-6284 + posEnabled: false + postalCode: '02903' + stateCode: RI + storeLocatorEnabled: true + limit: 5 + total: 12 + MissingIds400: + value: + detail: 'Missing required query parameter(s): ''ids''' + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/missing-query-parameter + StoreSearchResult: + value: + data: + - address1: 1487 Bay St + city: Springfield + countryCode: US + distance: 147.03 + distanceUnit: km + id: store9 + name: Springfield Media Store + phone: +1-413-413-6916 + posEnabled: false + postalCode: '01109' + stateCode: MA + storeEvents: Here are some store events. + storeHours: Here are the store hours + storeLocatorEnabled: true + - address1: 70 Wood Ave + city: Bridgeport + countryCode: US + distance: 198.36 + distanceUnit: km + email: store1@company.com + id: store11 + name: Electronics Super Store + phone: +1-203-965-7014 + posEnabled: false + postalCode: '06605' + stateCode: CT + storeLocatorEnabled: true + - address1: 239 Bridge St + city: Manchester + countryCode: US + distance: 219 + distanceUnit: km + id: store8 + name: Gardena Mart + phone: +1-603-715-9773 + posEnabled: false + postalCode: '03104' + stateCode: NH + storeLocatorEnabled: true + - address1: 150 Winthrop Ave + city: Lawrence + countryCode: US + distance: 242.77 + distanceUnit: km + id: store6 + name: Khale Street Electronics + phone: +1-978-580-2704 + posEnabled: false + postalCode: '01843' + stateCode: MA + storeLocatorEnabled: true + - address1: 110 Smith St + city: Providence + countryCode: US + distance: 245.02 + distanceUnit: km + email: store2@company.com + id: store2 + name: Super Electronics + phone: +1-401-312-6284 + posEnabled: false + postalCode: '02903' + stateCode: RI + storeLocatorEnabled: true + limit: 5 + offset: 0 + total: 12 + MissingPostalCode400: + value: + title: Missing Postal Code + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/missing-postal-code + detail: The input parameter 'postal_code' is required when no coordinates are provided. diff --git a/apis/shopper-stores-oas/shopper-stores-oas-1.0.16/shopper-stores-oas-v1-public.yaml b/apis/shopper-stores-oas/shopper-stores-oas-1.0.16/shopper-stores-oas-v1-public.yaml new file mode 100644 index 00000000..538899a6 --- /dev/null +++ b/apis/shopper-stores-oas/shopper-stores-oas-1.0.16/shopper-stores-oas-v1-public.yaml @@ -0,0 +1,607 @@ +openapi: 3.0.3 +info: + title: Shopper Stores + version: v1 + description: |- + # API Overview + + Provides access to stores via search or ID lookup. + + + ## Authentication & Authorization + + The Shopper Stores API requires a shopper access token from the [Shopper Login and API Access Service (SLAS).](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) + + You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/store/shopper-stores/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/stores: + get: + summary: Return stores identified by the IDs provided as input. + operationId: getStores + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/ids' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + responses: + '200': + description: Returned details for specific stores. + content: + application/json: + schema: + $ref: '#/components/schemas/StoreResult' + examples: + StoresResult: + $ref: '#/components/examples/StoresResult' + '400': + description: A value constraint for query parameters was violated. Or, a combination of latitude and longitude, a combination of country code and postal code, or an invalid distance_unit was provided. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + MissingIds400: + $ref: '#/components/examples/MissingIds400' + security: + - ShopperToken: + - sfcc.shopper-stores + /organizations/{organizationId}/store-search: + get: + summary: Retrieve a list of stores for the given site that are within a configured distance of a geolocation. + description: | + - The distance is interpreted either in miles or kilometers, depending on the `distanceUnit` input parameter. + - The location is specified by either directly providing a latitude and longitude coordinate pair, or by providing a country and a postal code. If a postal code is passed, the resource looks in the system's geolocation mappings in Business Manager to find the coordinates for this postal code. If no matching geolocation is found, the resource returns an empty list of stores. If coordinates are passed, the values for country and postal code are ignored. + + To verify site latitude and longitude information in Business Manager: + - Navigate to **Merchant Tools -> Online Marketing -> Stores**. + - Select the applicable site. + - In the **Address** tab, verify that valid information is provided in the following fields: **Address**, **City**, **Postal Code**, **State**, and **Country**. For latitude and longitude values, you can manually enter values or provide all field values to auto-populate **Latitude** and **Longitude**. You must provide valid values for all of the previous fields for latitude and longitude to auto-populate **Latitude** and **Longitude** values. + operationId: searchStores + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/countryCode' + - $ref: '#/components/parameters/distanceUnit' + - $ref: '#/components/parameters/latitude' + - $ref: '#/components/parameters/longitude' + - $ref: '#/components/parameters/maxDistance' + - $ref: '#/components/parameters/postalCode' + - $ref: '#/components/parameters/siteId' + - $ref: '#/components/parameters/locale' + - name: limit + in: query + required: false + schema: + type: integer + format: int32 + default: 25 + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. Defaults to 25. + - name: offset + in: query + required: false + schema: + type: integer + format: int64 + default: 0 + minimum: 0 + description: Used to retrieve the results based on a particular resource offset. + responses: + '200': + description: Returned a list of stores for the given search parameters, up to the paging size, including their distance from the given geolocation and additional information on the pagination of objects. + content: + application/json: + schema: + $ref: '#/components/schemas/Stores' + examples: + StoreSearchResult: + $ref: '#/components/examples/StoreSearchResult' + '400': + description: A value constraint for query parameters was violated. Or, a combination of latitude and longitude, a combination of country code and postal code, or an invalid distance_unit was provided. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + MissingPostalCode400: + $ref: '#/components/examples/MissingPostalCode400' + security: + - ShopperToken: + - sfcc.shopper-stores +components: + securitySchemes: + ShopperToken: + type: oauth2 + description: "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. \nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n" + flows: + clientCredentials: + tokenUrl: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc:shopper-stores: Allows read operations on shopper-stores + authorizationCode: + authorizationUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + tokenUrl: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + scopes: + sfcc.shopper-stores: Allows read operations on shopper-stores + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + LanguageCountry: + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + description: A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + example: en-US + type: string + LanguageCode: + pattern: ^[a-z][a-z]$ + description: A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + example: en + type: string + DefaultFallback: + default: default + description: A specialized value indicating the system default values for locales. + example: default + enum: + - default + type: string + LocaleCode: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + oneOf: + - $ref: '#/components/schemas/LanguageCountry' + - $ref: '#/components/schemas/LanguageCode' + - $ref: '#/components/schemas/DefaultFallback' + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + CountryCode: + pattern: ^[A-Z][A-Z]$ + description: A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. + example: US + type: string + Distance: + minimum: 0 + maximum: 20012 + format: double + description: The distance to the given geolocation where the stores will be searched, using the unit given in the attribute 'DistanceUnit' (miles or kilometers). + type: number + DistanceUnit: + description: The unit the distance attribute is measured in (either in miles or kilometers). + enum: + - km + - mi + type: string + Latitude: + minimum: -90 + maximum: 90 + format: double + description: The latitude of the store. + type: number + Longitude: + minimum: -180 + maximum: 180 + format: double + description: The longitude of the store. + type: number + PostalCode: + minLength: 3 + maxLength: 10 + description: The postal code of the store. + type: string + Store: + description: Document representing a store. + properties: + address1: + minLength: 1 + description: The primary address of the store. + type: string + address2: + description: The secondary address of the store. + type: string + city: + description: The city of the store. + type: string + countryCode: + $ref: '#/components/schemas/CountryCode' + distance: + $ref: '#/components/schemas/Distance' + distanceUnit: + $ref: '#/components/schemas/DistanceUnit' + email: + description: The email address of the store. + type: string + fax: + description: The fax number of the store. + type: string + id: + minLength: 1 + maxLength: 256 + description: The id of the store. + type: string + image: + description: The store image. + type: string + inventoryId: + maxLength: 256 + description: The inventory list id associated with this store. + type: string + latitude: + $ref: '#/components/schemas/Latitude' + longitude: + $ref: '#/components/schemas/Longitude' + name: + description: The store name. + type: string + phone: + description: The phone number of the store. + type: string + posEnabled: + description: Whether this store uses Store Point-of-Sale. + type: boolean + postalCode: + description: The postal code of the store. + allOf: + - $ref: '#/components/schemas/PostalCode' + stateCode: + description: The state code of the store. + type: string + storeEvents: + description: The store events. + type: string + storeHours: + description: The opening hours of the store. + type: string + storeLocatorEnabled: + description: Whether this store should show up in store locator results. + type: boolean + required: + - id + type: object + StoreResult: + description: Result object containing an array of stores. + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + data: + description: The list of stores in the search result. + type: array + items: + $ref: '#/components/schemas/Store' + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + Stores: + description: Result object containing an paginated array of stores. + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + properties: + data: + description: The list of stores in the search result. + type: array + items: + $ref: '#/components/schemas/Store' + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + ids: + name: ids + in: query + description: The IDs of a requested stores (comma separated, max 50 IDs). + required: true + schema: + maxLength: 256 + minLength: 1 + type: string + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + locale: + description: A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. + name: locale + in: query + examples: + LanguageCountry: + value: en-US + CountryCode: + value: US + schema: + $ref: '#/components/schemas/LocaleCode' + countryCode: + name: countryCode + in: query + schema: + $ref: '#/components/schemas/CountryCode' + description: The two letter ISO country code, such as "US". This value is required when a postalCode is provided. + required: false + distanceUnit: + name: distanceUnit + in: query + description: The distance unit. Supported values are "mi" (miles) and "km" (kilometers). The default is "km". + required: false + schema: + $ref: '#/components/schemas/DistanceUnit' + latitude: + name: latitude + in: query + description: The geographical latitude to search for stores (value range -90.00 .. 90.00). This value is required when a longitude is provided. + required: false + schema: + $ref: '#/components/schemas/Latitude' + longitude: + name: longitude + in: query + description: The geographical longitude to search for stores (value range -180.00 .. 180.00). You must provide a longitude when a latitude is provided. + required: false + schema: + $ref: '#/components/schemas/Longitude' + maxDistance: + name: maxDistance + in: query + description: The area (radius) in distanceUnit where stores will be searched. + required: false + schema: + $ref: '#/components/schemas/Distance' + postalCode: + name: postalCode + in: query + description: The postal code, such as "84121". You must provide a countryCode when a postalCode is provided. + required: false + schema: + $ref: '#/components/schemas/PostalCode' + examples: + StoresResult: + value: + data: + - address1: 1487 Bay St + city: Springfield + countryCode: US + distance: 147.03 + distanceUnit: km + id: store9 + name: Springfield Media Store + phone: +1-413-413-6916 + posEnabled: false + postalCode: '01109' + stateCode: MA + storeEvents: Here are some store events. + storeHours: Here are the store hours + storeLocatorEnabled: true + - address1: 70 Wood Ave + city: Bridgeport + countryCode: US + distance: 198.36 + distanceUnit: km + email: store1@company.com + id: store11 + name: Electronics Super Store + phone: +1-203-965-7014 + posEnabled: false + postalCode: '06605' + stateCode: CT + storeLocatorEnabled: true + - address1: 239 Bridge St + city: Manchester + countryCode: US + distance: 219 + distanceUnit: km + id: store8 + name: Gardena Mart + phone: +1-603-715-9773 + posEnabled: false + postalCode: '03104' + stateCode: NH + storeLocatorEnabled: true + - address1: 150 Winthrop Ave + city: Lawrence + countryCode: US + distance: 242.77 + distanceUnit: km + id: store6 + name: Khale Street Electronics + phone: +1-978-580-2704 + posEnabled: false + postalCode: '01843' + stateCode: MA + storeLocatorEnabled: true + - address1: 110 Smith St + city: Providence + countryCode: US + distance: 245.02 + distanceUnit: km + email: store2@company.com + id: store2 + name: Super Electronics + phone: +1-401-312-6284 + posEnabled: false + postalCode: '02903' + stateCode: RI + storeLocatorEnabled: true + limit: 5 + total: 12 + MissingIds400: + value: + detail: 'Missing required query parameter(s): ''ids''' + title: Bad Request + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/missing-query-parameter + StoreSearchResult: + value: + data: + - address1: 1487 Bay St + city: Springfield + countryCode: US + distance: 147.03 + distanceUnit: km + id: store9 + name: Springfield Media Store + phone: +1-413-413-6916 + posEnabled: false + postalCode: '01109' + stateCode: MA + storeEvents: Here are some store events. + storeHours: Here are the store hours + storeLocatorEnabled: true + - address1: 70 Wood Ave + city: Bridgeport + countryCode: US + distance: 198.36 + distanceUnit: km + email: store1@company.com + id: store11 + name: Electronics Super Store + phone: +1-203-965-7014 + posEnabled: false + postalCode: '06605' + stateCode: CT + storeLocatorEnabled: true + - address1: 239 Bridge St + city: Manchester + countryCode: US + distance: 219 + distanceUnit: km + id: store8 + name: Gardena Mart + phone: +1-603-715-9773 + posEnabled: false + postalCode: '03104' + stateCode: NH + storeLocatorEnabled: true + - address1: 150 Winthrop Ave + city: Lawrence + countryCode: US + distance: 242.77 + distanceUnit: km + id: store6 + name: Khale Street Electronics + phone: +1-978-580-2704 + posEnabled: false + postalCode: '01843' + stateCode: MA + storeLocatorEnabled: true + - address1: 110 Smith St + city: Providence + countryCode: US + distance: 245.02 + distanceUnit: km + email: store2@company.com + id: store2 + name: Super Electronics + phone: +1-401-312-6284 + posEnabled: false + postalCode: '02903' + stateCode: RI + storeLocatorEnabled: true + limit: 5 + offset: 0 + total: 12 + MissingPostalCode400: + value: + title: Missing Postal Code + type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/missing-postal-code + detail: The input parameter 'postal_code' is required when no coordinates are provided. diff --git a/apis/slas-admin-oas/slas-admin-oas-1.12.29/.metadata.json b/apis/slas-admin-oas/slas-admin-oas-1.12.29/.metadata.json new file mode 100644 index 00000000..27d638c1 --- /dev/null +++ b/apis/slas-admin-oas/slas-admin-oas-1.12.29/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/slas-admin-oas/1.12.29", + "name": "SLAS Admin OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "slas-admin-oas", + "version": "1.12.29", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/slas-admin-oas/slas-admin-oas-1.12.29/exchange.json b/apis/slas-admin-oas/slas-admin-oas-1.12.29/exchange.json new file mode 100644 index 00000000..ab405020 --- /dev/null +++ b/apis/slas-admin-oas/slas-admin-oas-1.12.29/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "slas-admin-oas-v1-public.yaml", + "name": "SLAS Admin-UAP OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "slas-admin-oas", + "version": "1.12.29", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/slas-admin-oas/slas-admin-oas-1.12.29/slas-admin-oas-v1-internal.yaml b/apis/slas-admin-oas/slas-admin-oas-1.12.29/slas-admin-oas-v1-internal.yaml new file mode 100644 index 00000000..d46069ff --- /dev/null +++ b/apis/slas-admin-oas/slas-admin-oas-1.12.29/slas-admin-oas-v1-internal.yaml @@ -0,0 +1,1837 @@ +openapi: 3.0.3 +info: + title: Slas Admin + version: v1 + description: |- + # API Overview + + The SLAS Admin API is a companion to the main [Shopper Login and API Access Service](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary) (SLAS), which enables secure access to Commerce Cloud’s Shopper APIs. The SLAS Admin API is only used for administration tasks, not for requesting access to the Shopper APIs. + + **Important:** Before using this API, follow the instructions in [Authorization for Shopper APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) from the Get Started guides. The guide provides a complete set of instructions for setting up a SLAS client. + + For more information, see the [SLAS guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas.html). +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth-admin/v1 + variables: + shortCode: + default: shortCode +paths: + /tenants/{tenantId}: + get: + summary: Retrieve a tenant by tenant ID. + description: Retrieve a tenant by tenant ID. + operationId: retrieveTenant + parameters: + - $ref: '#/components/parameters/tenantId' + responses: + '200': + description: The tenant was retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Tenant' + examples: + Tenant: + $ref: '#/components/examples/Tenant' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TenantRequestException400: + $ref: '#/components/examples/TenantRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TenantException401: + $ref: '#/components/examples/TenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TenantNotFoundException404: + $ref: '#/components/examples/TenantNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + put: + summary: Create or update a tenant. Use the request body to provide identification and contact information for the tenant and its associated merchant. + description: This API is used to create or update a tenant. The tenant ID is the unique identifier for the tenant and is used in all subsequent API calls. The tenant ID must be unique across all tenants in the system. + operationId: registerTenant + parameters: + - $ref: '#/components/parameters/tenantId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TenantDto' + examples: + TenantDto: + $ref: '#/components/examples/TenantDto' + required: true + responses: + '200': + description: The tenant was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Tenant' + examples: + Tenant: + $ref: '#/components/examples/Tenant' + '201': + description: The tenant was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Tenant' + examples: + Tenant: + $ref: '#/components/examples/Tenant' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TenantUpdateException400: + $ref: '#/components/examples/TenantUpdateException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TenantUpdateException401: + $ref: '#/components/examples/TenantUpdateException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TenantNotFoundException404: + $ref: '#/components/examples/TenantNotFoundException404' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TenantAlreadyExistsException409: + $ref: '#/components/examples/TenantAlreadyExistsException409' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + /tenants/{tenantId}/clients: + get: + summary: Retrieve/Get all tenant clients. + description: Retrieve a list of SLAS clients associated with the tenant_id. + operationId: retrieveClients + parameters: + - $ref: '#/components/parameters/tenantId' + responses: + '200': + description: All tenant clients retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientListResponse' + examples: + ClientListResponse: + $ref: '#/components/examples/ClientListResponse' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientTenantException401: + $ref: '#/components/examples/ClientTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientNotFoundException404: + $ref: '#/components/examples/ClientNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + /tenants/{tenantId}/clients/{clientId}: + get: + summary: Retrieve a client. + description: Retrieve a client by client ID. The client ID is the unique identifier for the client and is used in all subsequent API calls. The client ID must be unique across all tenants in the system. + operationId: retrieveClient + parameters: + - $ref: '#/components/parameters/clientId' + - $ref: '#/components/parameters/tenantId' + responses: + '200': + description: The client was retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + examples: + Client: + $ref: '#/components/examples/Client' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientRequestException400: + $ref: '#/components/examples/ClientRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientTenantException401: + $ref: '#/components/examples/ClientTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientNotFoundException404: + $ref: '#/components/examples/ClientNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + put: + summary: Create or update a client. + description: It is strongly advised to refrain from using the “sfcc-shopper-context.rw” scope with a PUBLIC Client because it offers fewer protections and could potentially enable malicious actors to access Shopper Context enabled promotions. It is highly recommended to use “sfcc-shopper-context.rw” scope with a private client. + operationId: registerClient + parameters: + - $ref: '#/components/parameters/clientId' + - $ref: '#/components/parameters/tenantId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientRequest' + examples: + ClientRequest: + $ref: '#/components/examples/ClientRequest' + required: true + responses: + '200': + description: The client was updated successfully. A secret is only returned when a secret was sent with the update request. + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + examples: + ClientRequest: + $ref: '#/components/examples/ClientWithSecret' + '201': + description: The client was created successfully. This is the only time the secret is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + examples: + ClientRequest: + $ref: '#/components/examples/ClientWithSecret' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientRequestException400: + $ref: '#/components/examples/ClientRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientTenantException401: + $ref: '#/components/examples/ClientTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientNotFoundException404: + $ref: '#/components/examples/ClientNotFoundException404' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientConflictException409: + $ref: '#/components/examples/ClientConflictException409' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + delete: + summary: Delete a client. + description: Delete a client by client ID. + operationId: deleteClient + parameters: + - $ref: '#/components/parameters/clientId' + - $ref: '#/components/parameters/tenantId' + responses: + '204': + description: No content + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientRequestException400: + $ref: '#/components/examples/ClientRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientTenantException401: + $ref: '#/components/examples/ClientTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientNotFoundException404: + $ref: '#/components/examples/ClientNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + /tenants/{tenantId}/clients/{clientId}/password-action-templates: + get: + summary: Retrieve/get a password action template. + description: Retrieve a password action template by client ID. + operationId: retrievePwdlessTemplate + parameters: + - $ref: '#/components/parameters/clientId' + - $ref: '#/components/parameters/tenantId' + - $ref: '#/components/parameters/channelId' + - $ref: '#/components/parameters/actionType' + - $ref: '#/components/parameters/templateType' + responses: + '200': + description: The password action template was retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordActionTemplate' + examples: + PasswordActionTemplate: + $ref: '#/components/examples/PasswordActionTemplate' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequestException400: + $ref: '#/components/examples/BadRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientTenantException401: + $ref: '#/components/examples/ClientTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PasswordActionTemplateNotFoundException404: + $ref: '#/components/examples/PasswordActionTemplateNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + put: + summary: Create or update a password action template. + description: Create or update a password action template by client ID. + operationId: registerPwdlessTemplate + parameters: + - $ref: '#/components/parameters/clientId' + - $ref: '#/components/parameters/tenantId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordActionTemplate' + examples: + PasswordActionTemplateRequest: + $ref: '#/components/examples/PasswordActionTemplateRequest' + required: true + responses: + '200': + description: The password action template was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordActionTemplate' + examples: + PasswordActionTemplate: + $ref: '#/components/examples/PasswordActionTemplate' + '201': + description: A password action template was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordActionTemplate' + examples: + PasswordActionTemplate: + $ref: '#/components/examples/PasswordActionTemplate' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PasswordActionTemplateCreateException400: + $ref: '#/components/examples/PasswordActionTemplateCreateException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientTenantException401: + $ref: '#/components/examples/ClientTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PasswordActionTemplateNotFoundException404: + $ref: '#/components/examples/PasswordActionTemplateNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + delete: + summary: Delete a password action template. + operationId: deletePwdlessTemplate + description: Delete a password action template. + parameters: + - $ref: '#/components/parameters/clientId' + - $ref: '#/components/parameters/tenantId' + - $ref: '#/components/parameters/channelId' + - $ref: '#/components/parameters/actionType' + - $ref: '#/components/parameters/templateType' + - $ref: '#/components/parameters/locale' + responses: + '204': + description: No content + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PasswordActionTemplateDeleteException400: + $ref: '#/components/examples/PasswordActionTemplateDeleteException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientTenantException401: + $ref: '#/components/examples/ClientTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PasswordActionTemplateNotFoundException404: + $ref: '#/components/examples/PasswordActionTemplateNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + /tenants/{tenantId}/idps: + get: + summary: Retrieve/Get all tenant identity providers. + operationId: retrieveIdentityProviders + description: Retrieve a list of SLAS identity providers associated with the tenant_id. + parameters: + - $ref: '#/components/parameters/tenantId' + responses: + '200': + description: All tenant identity providers retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IdpListResponse' + examples: + IdpListResponse: + $ref: '#/components/examples/IdpListResponse' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpRequestException400: + $ref: '#/components/examples/IdpRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpTenantException401: + $ref: '#/components/examples/IdpTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpNotFoundException404: + $ref: '#/components/examples/IdpNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + /tenants/{tenantId}/idps/{name}: + get: + summary: Retrieve/Get a specific identity provider. + operationId: retrieveIdentityProvider + description: Retrieve a specific identity provider by name. + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/tenantId' + responses: + '200': + description: The identity provider was retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityProvider' + examples: + IdentityProvider: + $ref: '#/components/examples/IdentityProvider' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpRequestException400: + $ref: '#/components/examples/IdpRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpTenantException401: + $ref: '#/components/examples/IdpTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpNotFoundException404: + $ref: '#/components/examples/IdpNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + put: + summary: Create or update an identity provider. + operationId: registerIdentityProvider + description: Create or update an identity provider by name. + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/tenantId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityProvider' + examples: + IdentityProvider: + $ref: '#/components/examples/IdentityProvider' + required: true + responses: + '200': + description: The identity provider was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderResponse' + examples: + IdpProviderResponse: + $ref: '#/components/examples/IdpProviderResponse' + '201': + description: The identity provider was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderResponse' + examples: + IdpProviderResponse: + $ref: '#/components/examples/IdpProviderResponse' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpRequestException400: + $ref: '#/components/examples/IdpRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpTenantException401: + $ref: '#/components/examples/IdpTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpNotFoundException404: + $ref: '#/components/examples/IdpNotFoundException404' + '409': + description: Conflict. Duplicate + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpConflictException409: + $ref: '#/components/examples/IdpConflictException409' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + delete: + summary: Delete an identity provider. + operationId: deleteIdentityProvider + description: Delete an identity provider by name. + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/tenantId' + responses: + '204': + description: No content + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpRequestException400: + $ref: '#/components/examples/IdpRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpTenantException401: + $ref: '#/components/examples/IdpTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpNotFoundException404: + $ref: '#/components/examples/IdpNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + /tenants/{tenantId}/customers/{customerId}: + delete: + summary: Delete all shopper records associated with a shopper's customer ID. The email ID is used if it's passed as a query parameter. This conforms to the GDPR regulations. + operationId: deleteShopper + description: Delete all shopper records associated with a shopper's customer ID. The email ID is used if it's passed as a query parameter. This conforms to the GDPR regulations. + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/tenantId' + - $ref: '#/components/parameters/emailAddress' + responses: + '204': + description: No content + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ShopperDeleteException: + $ref: '#/components/examples/ShopperDeleteException400' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ShopperNotFoundException: + $ref: '#/components/examples/ShopperNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN +components: + securitySchemes: + BearerToken: + type: http + scheme: bearer + bearerFormat: JWT + description: A security scheme that supplements SLAS Administration APIs that are secured with an B2c Commerce Account Manager JWT. This security scheme expects a valid B2C Commerce Account Manager Bearer token passed in the Authorization header to permit API access. + parameters: + tenantId: + name: tenantId + in: path + required: true + schema: + maxLength: 32 + type: string + example: zzeu_001, bgvn_dev + clientId: + name: clientId + in: path + required: true + schema: + maxLength: 36 + type: string + example: 876aff68-6ee5-474f-932d-c90c1d79bcf7 + channelId: + name: channelId + in: query + required: true + schema: + maxLength: 100 + type: string + example: SiteGenesis + actionType: + name: actionType + in: query + required: true + schema: + maxLength: 36 + type: string + description: "Describes the type of action that the password action template will be used for. \nHere are the actions that each enumerated string refers to:\n - `PWDLESS_LOGIN`: Passwordless login\n - `PWD_RESET_ACTION`: Password reset\n - `PWD_FORGOT_ACTION`: Forgot password\"" + enum: + - PWDLESS_LOGIN + - PWD_RESET_ACTION + - PWD_FORGOT_ACTION + example: PWDLESS_LOGIN + templateType: + name: templateType + in: query + required: true + schema: + maxLength: 8 + type: string + enum: + - EMAIL + - SMS + example: EMAIL + locale: + name: locale + in: query + required: true + schema: + type: string + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + example: en-US + name: + name: name + in: path + required: true + schema: + maxLength: 256 + type: string + example: Name + customerId: + name: customerId + in: path + required: true + schema: + maxLength: 28 + type: string + example: bcJN7998472pLiZuyGabs8knlj + emailAddress: + name: emailAddress + in: query + description: The shoppers email address. + required: false + schema: + maxLength: 256 + type: string + example: joe.shopper@foo.org + schemas: + Tenant: + required: + - contact + - description + - emailAddress + - isDeleted + - merchantId + - phoneNo + - requestQuotaPerMinute + - status + - tenantId + - tier + type: object + properties: + tenantId: + maxLength: 8 + type: string + example: aaaa_prd + merchantId: + minimum: 0 + type: integer + example: 1 + description: + maxLength: 256 + type: string + example: SLAS Merchant Name + contact: + maxLength: 256 + type: string + example: SLAS Tenant Contact + emailAddress: + maxLength: 200 + type: string + example: tenant_contact@slas.tst + phoneNo: + maxLength: 50 + type: string + example: 000-000-0000 + isDeleted: + maxLength: 1 + type: boolean + example: false + status: + maxLength: 16 + type: string + example: CLEAR + tier: + type: string + description: | + This read only value relates to the B2C Comerce realm of the customer. + - XS = Bronze and Bronze+ + - S = Silver and Silver+ + - M = Gold and Gold+ + - L = Platinum and Platinum+ + enum: + - XS + - S + - M + - L + example: L + requestQuotaPerMinute: + type: number + description: This read only value shows the the number of requests that can be made per minute. + example: 8000 + description: Tenant + additionalProperties: true + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + TenantDto: + required: + - tenantId + - contact + - description + - emailAddress + - merchantName + - phoneNo + type: object + properties: + tenantId: + maxLength: 8 + type: string + example: aaaa_prd + merchantName: + maxLength: 256 + type: string + description: Name of the merchant. + example: Merchant Name + description: + maxLength: 256 + type: string + example: Additional information about the tenant. + contact: + maxLength: 256 + type: string + example: Name of the merchant's designated contact. + emailAddress: + maxLength: 200 + type: string + description: Email address of the designated contact. + example: joe.shopper@foo.org + phoneNo: + maxLength: 50 + type: string + description: Phone number of the designated contact. + example: +1 000-000-0000 + description: Create or update tenants + Client: + required: + - callbackUri + - channels + - clientId + - name + - redirectUri + - scopes + - secret + type: object + properties: + clientId: + type: string + maxLength: 100 + description: Client ID + example: fd0d4ab9-bb85-4c04-bebd-589bd74bdd75 + name: + type: string + maxLength: 100 + description: Client Name + example: Client Name + secret: + type: string + maxLength: 256 + description: Client Secret. The secret will only display on create and if the secret was updated when updating the client. + example: client-secret + scopes: + items: + type: string + maxLength: 100 + example: sfcc.products sfcc.catalogs sfcc.customers:ro + type: array + description: "Merchant scopes. These scopes allows different permissions in SLAS and B2C commerce. \nShopper Custom Objects additionally provides a way to do granular scoping besides the standard `sfcc.shopper-custom-objects` like `sfcc.shopper-custom-objects.xyz`\nSLAS is capable of handling a maximum of 20 Custom Object scopes.\n\nFor B2C Commerce scope details, see the [Authorization Scopes Catalog](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html).\"" + example: + - sfcc.products + - sfcc.catalogs + - sfcc.customers:ro + redirectUri: + type: string + maxLength: 2048 + description: An absolute URL, beginning with a protocol + example: https://www.salesforce.com + callbackUri: + type: string + maxLength: 2048 + description: An absolute URL, beginning with a protocol + example: https://www.salesforce.com + channels: + items: + type: string + example: RefArch SiteGenesis + maxLength: 1024 + type: array + description: Client Channels + example: + - RefArch + - SiteGenensis + isPrivateClient: + type: boolean + description: Private or Public Client + example: true + loginEpRestrict: + type: boolean + maxLength: 1 + description: When enabling (true) this will restrict all calls to the `\login` endpoint for the Client Id. When calling the `\login` endpoint and `loginEpRestrict` is enabled a HTTP Status code of 403 will be returned. + example: false + ClientListResponse: + required: + - data + type: object + properties: + data: + items: + $ref: '#/components/schemas/Client' + type: array + description: An array of clients. + ClientRequest: + required: + - channels + - clientId + - isPrivateClient + - name + - redirectUri + - scopes + - secret + type: object + properties: + name: + type: string + description: Client Name + example: High Adventure Wear + maxLength: 100 + clientId: + type: string + description: SLAS client id. Must match the query parameter. + example: fd0d4ab9-bb85-4c04-bebd-589bd74bdd75 + maxLength: 100 + secret: + type: string + description: SLAS client secret. On create if left blank then a secret will be generated. + example: client_secret + maxLength: 256 + scopes: + items: + type: string + example: sfcc.products sfcc.catalogs sfcc.customers:ro + maxLength: 4096 + type: array + description: "Merchant scopes. These scopes allows different permissions in SLAS and B2C commerce. \nShopper Custom Objects additionally provides a way to do granular scoping besides the standard `sfcc.shopper-custom-objects` like `sfcc.shopper-custom-objects.xyz` \nSLAS is capable of handling a maximum of 20 Custom Object scopes.\"" + example: + - sfcc.products + - sfcc.catalogs + - sfcc.customers:ro + redirectUri: + items: + type: string + example: http://localhost:3000/callback + maxLength: 2048 + type: array + description: Array of SLAS redirect URLs. Include protocol and domain name in each URL. Wildcards supported. + example: + - http://localhost:3000/callback + - https://*.example.com/callback + callbackUri: + items: + type: string + example: localhost:3000/passwordless-login-callback + maxLength: 2048 + type: array + description: Array of SLAS callback URLs that will be used for passworless login and password reset when mode=callback. Include protocol and domain name in each URL. Wildcards are NOT supported. + example: + - http://localhost:3000/password-reset-callback + - http://localhost:3000/passwordless-login-callback + channels: + items: + type: string + example: RefArch SiteGenesis + maxLength: 1024 + type: array + description: Client Channels + example: + - RefArch + - SiteGenensis + isPrivateClient: + type: boolean + description: Private or Public Client. If left blank the client will default to private. + example: true + loginEpRestrict: + type: boolean + description: When enabling (true) this will restrict all calls to the `\login` endpoint for the Client Id. When calling the `\login` endpoint and `loginEpRestrict` is enabled a HTTP Status code of 403 will be returned. + example: false + description: Used to create and update a SLAS Client + PasswordTemplateActionType: + type: string + description: "Describes the type of action that the password action template will be used for. \nHere are the actions that each enumerated string refers to:\n - `PWDLESS_LOGIN`: Passwordless login\n - `PWD_RESET_ACTION`: Password reset\n - `PWD_FORGOT_ACTION`: Forgot password" + enum: + - PWDLESS_LOGIN + - PWD_RESET_ACTION + - PWD_FORGOT_ACTION + example: PWDLESS_LOGIN + PasswordTemplateType: + type: string + description: Identifies the type of mode that the password action template will be used for. + enum: + - SMS + - EMAIL + example: EMAIL + PasswordActionTemplate: + required: + - actionType + - channelId + - link + - locale + - name + - subject + - template + - templateType + type: object + properties: + channelId: + maxLength: 36 + type: string + example: SiteGenesis + name: + maxLength: 128 + type: string + example: Password Action Email Template + subject: + maxLength: 128 + type: string + example: Password Action Token Request + link: + maxLength: 2048 + type: string + example: 'This is your password action token: ${token}' + locale: + maxLength: 16 + type: string + description: Identifies the locale of the template. Must be one of the [language tag strings supported by JDK 11](https://www.oracle.com/java/technologies/javase/jdk11-suported-locales.html). The string is stored in all lowercase. + example: en-us + actionType: + $ref: '#/components/schemas/PasswordTemplateActionType' + templateType: + $ref: '#/components/schemas/PasswordTemplateType' + template: + maxLength: 2048 + type: string + example: |- + Passwordless Login Token Request + You're receiving this because you requested a passwordless login token for your account. ${link} + IdentityProviderResponse: + required: + - authUrl + - clientId + - clientSecret + - isClientCredsBody + - isPreferred + - name + - redirectUrl + - scopes + - tokenInfoUrl + - tokenUrl + - userInfoUrl + type: object + description: Identity provider Response + properties: + name: + type: string + description: Identity Provider Name + maxLength: 200 + example: google + authUrl: + type: string + description: IDP authorization URL + maxLength: 256 + example: https://www.salesforce.com/authorize + tokenUrl: + type: string + description: IDP token URL + maxLength: 256 + example: https://www.salesforce.com/token + tokenInfoUrl: + type: string + description: IDP token info URL + maxLength: 256 + example: https://www.salesforce.com/inspect + userInfoUrl: + type: string + description: IDP user info URL + maxLength: 256 + example: https://www.salesforce.com/userinfo + redirectUrl: + type: string + description: Redirect URL to go to after IDP flow is complete. This URL must be registered with the IDP. + maxLength: 256 + example: https://www.salesforce.com/idp/callback + wellKnownUrl: + type: string + description: IDP to get OIDC configuration. + maxLength: 256 + example: https://www.salesforce.com/.well-known/openid-configuration + clientId: + type: string + description: Client Id of the third party IDP. + maxLength: 128 + example: 934277749308-02dg4398n3s31ofge8cot46jirn3kpkf.apps.googleusercontent.com + clientSecret: + type: string + description: Client Secret of the third party IDP. For Apple copy the contents from the .p8 file that was downloaded from Apple between -*----BEGIN PRIVATE KEY-----* and -*---END PRIVATE KEY-----* markers. + maxLength: 512 + example: aKZM1xEnZopNP2bm2gc3GKex + isPreferred: + type: boolean + description: Indicates if the IDP configuration is the Preferred SLAS IDP for the Tenant Id. + maxLength: 1 + example: true + isClientCredsBody: + type: boolean + description: Default is to place the client credentials in a basic authorization header for the call to the IDP. If true, the client credentials are placed in the POST body to the IDP. + maxLength: 1 + example: false + scopes: + type: array + items: + type: string + maxLength: 8192 + example: openid email profile + description: Scopes needed by the IDP. + example: + - oidc + - email + - profile + teamId: + type: string + description: Apple Team ID. Used primarily for Sign with Apple in generating the client secret. + maxLength: 32 + example: appleTeamId + keyId: + type: string + description: Apple key ID. This is the Key ID that was obtained from Apple when the the private key for client authentication was created. Used primarily for Sign with Apple in generating the client secret. + maxLength: 8192 + example: appleKeyId + loginMergeClaims: + items: + type: string + maxLength: 256 + example: email + type: array + description: | + List of user info claims that can be used as identifiers to look up and merge with an existing B2C Commerce profile for a registered shopper or an existing B2C Commerce profile created via federated login with an external Identity Provider with the same merge claim as this one. If multiple matching B2C Commerce shopper (customer) profiles are found, the external profile is merged with the most recently created shopper (customer) profile. Refer to the Merge Shopper Profiles user guide for more details. + + Note: When configuring an Apple IDP, 'email' and 'sub' are the only supported merge claims. + example: + - email + - phone + oidcClaimMapper: + items: + type: string + maxLength: 1024 + example: accessToken=access refresh_token accessTokenTTL=expires_in idToken=id_token subject=sub email=email userId=sub familyName=family_name givenName=given_name name=name + type: array + description: Mapping from the identity provider’s token claims for SLAS to get user information values when the user successfully authenticates. The values in this array should be setup using the following `key=value` pair pattern. The key part is the SLAS key with the value part being the OIDC claim key. + example: + - accessToken=access_token + - refreshToken=refresh_token + - accessTokenTTL=expires_in + - idToken=id_token + - subject=sub + - email=email + - userId=sub + - familyName=family_name + - givenName=given_name + - name=name + IdpListResponse: + required: + - data + type: object + properties: + data: + items: + $ref: '#/components/schemas/IdentityProviderResponse' + type: array + description: An array of identity providers. + IdentityProvider: + required: + - authUrl + - clientId + - clientSecret + - isClientCredsBody + - name + - redirectUrl + - scopes + - tokenInfoUrl + - tokenUrl + - userInfoUrl + - wellKnownUrl + type: object + properties: + name: + type: string + description: Identity Provider Name + maxLength: 200 + example: google + enum: + - adfs + - apple + - auth0 + - azure + - cognito + - facebook + - forgerock + - gigya + - gigya_social + - google + - okta + - ping + - salesforce + authUrl: + type: string + description: IDP authorize URL + maxLength: 256 + example: https://www.salesforce.com/authorize + tokenUrl: + type: string + description: IDP token URL + maxLength: 256 + example: https://www.salesforce.com/token + tokenInfoUrl: + type: string + description: IDP token info URL + maxLength: 256 + example: https://www.salesforce.com/introspect + userInfoUrl: + type: string + description: IDP user info URL + maxLength: 256 + example: https://www.salesforce.com/userinfo + redirectUrl: + type: string + description: Redirect URL to go to after IDP flow is complete. This URL must be registered with the IDP. + maxLength: 256 + example: https://www.salesforce.com/idp/callback + wellKnownUrl: + type: string + description: IDP URL to get OIDC configuration. + maxLength: 256 + example: https://www.salesforce.com/.well-known/openid-configuration + clientId: + type: string + description: Client Id of the third party IDP. + maxLength: 128 + example: 934277749308-02dg4398n3s31ofge8cot46jirn3kpkf.apps.googleusercontent.com + clientSecret: + type: string + maxLength: 512 + description: Client Secret of the third party IDP. For Apple copy the contents from the .p8 file that was downloaded from Apple between -*----BEGIN PRIVATE KEY-----* and -*---END PRIVATE KEY-----* markers. + example: aKZM1xEnZopNP2bm2gc3GKex + preferenceValue: + type: boolean + description: Set the IDP configuration as the Preferred SLAS IDP. Default value is `false`. + maxLength: 1 + example: true + isClientCredsBody: + type: boolean + description: Default is to place the client credentials in a basic authorization header for the call to the IDP. If true, the client credentials are placed in the POST body to the IDP. + maxLength: 1 + example: false + useWellKnown: + type: boolean + description: If set to `true`, SLAS uses the `wellKnowUrl` value to populate the `authUrl`, `tokenUrl`, `userInfoUrl`, and `scopes` values from the identity provider. Default value is `false`. + maxLength: 1 + example: false + scopes: + items: + type: string + maxLength: 8192 + example: openid email profile + type: array + description: IDP Scopes + example: + - oidc + - email + - profile + teamId: + type: string + description: Apple Team Id. Used primarily for Sign with Apple in generating the client secret. + maxLength: 32 + example: appleTeamId + keyId: + type: string + description: Apple key id. This is the Key ID that was obtained from Apple when the the private key for client authentication was created. Used primarily for Sign with Apple in generating the client secret. + maxLength: 32 + example: appleKeyId + loginMergeClaims: + items: + type: string + maxLength: 256 + example: email + type: array + description: | + List of user info claims that can be used as identifiers to look up and merge with an existing B2C Commerce profile for a registered shopper or an existing B2C Commerce profile created via federated login with an external Identity Provider with the same merge claim as this one. If multiple matching B2C Commerce shopper (customer) profiles are found, the external profile is merged with the most recently created shopper (customer) profile. Refer to the Merge Shopper Profiles user guide for more details. + Note: When configuring an Apple IDP, 'email' and 'sub' are the only supported merge claims. + example: + - email + - phone + oidcClaimMapper: + items: + type: string + maxLength: 1024 + example: accessToken=access_token efreshToken=refresh_token accessTokenTTL=expires_in idToken=id_token subject=sub email=email userId=sub familyName=family_name givenName=given_name name=name + type: array + description: Mapping from the identity provider’s token claims for SLAS to get user information values when the user successfully authenticates. The values in this array should be setup using the following `key=value` pair pattern. The key part is the SLAS key with the value part being the OIDC claim key. + example: + - accessToken=access_token + - refreshToken=refresh_token + - accessTokenTTL=expires_in + - idToken=id_token + - subject=sub + - email=email + - userId=sub + - familyName=family_name + - givenName=given_name + - name=name + description: Identity provider + examples: + Tenant: + value: + createdBy: slas + modifiedBy: slas + createdTime: 2021-02-25T00:55:54.119+0000 + modifiedTime: 2021-02-25T00:55:54.119+0000 + tenantId: slsa_dev + merchantId: 2 + description: SLAS Default Tenant Two + contact: Tenant Two + emailAddress: tenant2@slas.tst + phoneNo: 111-222-4444 + tier: S + requestQuotaPerMinute: 8000 + isDeleted: false + status: CLEAR + TenantRequestException400: + value: + type: TenantRequestException + title: Unable to retrieve resource because the tenant id was invalid + detail: Tenant id is invalid + TenantException401: + value: + type: TenantException + title: Unable to retrieve resource because the tenant id was invalid + detail: Tenant id is invalid + TenantNotFoundException404: + value: + type: TenantNotFoundException + title: Unable to retrieve resource because no resource was found with that value + detail: Tenant id Not Found + TenantDto: + value: + tenantId: slsa_dev + merchantName: Popular Merchant + description: Merchant Description + contact: Jerry Smith + emailAddress: jerry@merchant.com + phoneNo: 801-555-1234 + TenantUpdateException400: + value: + type: TenantUpdateException + title: Unable to retrieve resource because the tenant id was invalid + detail: Tenant id was not updated + TenantUpdateException401: + value: + type: TenantUpdateException + title: Unable to retrieve resource because the tenant id was invalid + detail: Tenant id was not updated + TenantAlreadyExistsException409: + value: + type: TenantAlreadyExistsException + title: Tenant[abcd_prd] already exists! + detail: Tenant already exists + ClientListResponse: + value: + data: + - clientId: a462b606-317c-4a3c-90a7-4b0b938f3807 + secret: '' + name: Shop Mart + scopes: + - sfcc.products sfcc.catalogs sfcc.products.ro + redirectUri: http://localhost:9010/callback + callbackUri: http://localhost:9010/pwd/reset/callback + channels: + - SiteGenesis + - OtherSite + isPrivateClient: true + loginEpRestrict: false + - clientId: 726bde86-7b99-415d-98ec-9290bad18904 + secret: '' + name: High Adventure Wear + scopes: + - sfcc.products sfcc.catalogs sfcc.products.ro + redirectUri: http://localhost:9010/callback + callbackUri: http://localhost:9010/pwd/reset/callback + channels: + - SiteGenesis + - OtherSite + isPrivateClient: true + loginEpRestrict: false + - clientId: slas-default-client-1 + secret: '' + name: Shop Salesforce + scopes: + - sfcc.products.ro sfcc.catalogs.ro + redirectUri: http://localhost:9010/callback + callbackUri: http://localhost:9010/pwd/reset/callback + channels: + - SiteGenesis + - OtherSite + isPrivateClient: true + loginEpRestrict: false + ClientTenantException401: + value: + type: ClientTenantException + title: Unable to retrieve resource because the tenant id was invalid + detail: Tenant id was not found. Please check the tenant id. + ClientNotFoundException404: + value: + type: ClientNotFoundException + title: Unable to retrieve resource because no resource was found with that value + detail: Client Not Found + Client: + value: + clientId: client-id1 + name: High Adventure Wear + secret: secret1234 + scopes: + - sfcc.products sfcc.catalogs sfcc.customers:ro + redirectUri: http://localhost/callback + callbackUri: http://localhost:9010/pwd/reset/callback + channels: + - SiteGenesis + - OtherSite + isPrivateClient: true + loginEpRestrict: false + ClientRequestException400: + value: + type: ClientRequestException + title: Unable to retrieve resource because the client id was invalid + detail: Client id is invalid + ClientRequest: + value: + clientId: client-id1 + secret: secret12345 + name: High Adventure Wear + scopes: + - sfcc.products + - sfcc.catalogs + - sfcc.products.ro + redirectUri: + - http://localhost:9010/callback + callbackUri: + - http://localhost:9010/pwd/reset/callback + channels: + - SiteGenesis + - OtherSite + isPrivateClient: true + loginEpRestrict: false + ClientWithSecret: + value: + clientId: client-id1 + name: High Adventure Wear + secret: secret12345 + scopes: + - sfcc.products + - sfcc.catalogs + - sfcc.customers:ro + redirectUri: http://localhost:9010/callback + callbackUri: http://localhost:9010/pwd/reset/callback + channels: + - SiteGenesis + - OtherSite + isPrivateClient: true + loginEpRestrict: false + ClientConflictException409: + value: + type: ClientConflictException + title: Unable to create resource because a duplicate resource was found + detail: Client was not created. Duplicate resource was found. + PasswordActionTemplate: + value: + channelId: SiteGenesis + name: Passwordless SMS Template + subject: Passwordless Token Request + link: 'This is your passwordless token: ${token}' + locale: en-us + actionType: PWDLESS_LOGIN + templateType: SMS + template: |- + Passwordless Login Token Request + + Hello ${name}, + You're receiving this because you requested a passwordless login token for your account. + ${link} + BadRequestException400: + value: + type: BadRequestException + title: Unable to update resource because the request body was invalid + detail: Request body is invalid. + PasswordActionTemplateNotFoundException404: + value: + type: PasswordActionTemplateNotFoundException + title: Template was not found + detail: Template was not found. + PasswordActionTemplateRequest: + value: + channelId: SiteGenesis + name: Passwordless SMS Template + subject: Passwordless Token Request + link: 'This is your passwordless token: ${token}' + locale: en-us + actionType: PWDLESS_LOGIN + templateType: SMS + template: |- + Passwordless Login Token Request + Hello ${name}, + You're receiving this because you requested a passwordless login token for your account. + ${link} + PasswordActionTemplateCreateException400: + value: + type: PasswordActionTemplateCreateException + title: Template was not created or updated + detail: Template was not created or updated. + PasswordActionTemplateDeleteException400: + value: + type: PasswordActionTemplateDeleteException + title: Template was not deleted + detail: Template was not deleted. + IdpListResponse: + value: + data: + - name: google + clientId: idp-client-id + clientSecret: idp-secret + authUrl: https://accounts.google.com/o/oauth2/v2/auth + tokenUrl: https://oauth2.googleapis.com/token + tokenInfoUrl: https://oauth2.googleapis.com/tokeninfo + userInfoUrl: https://www.googleapis.com/oauth2/v3/userinfo + redirectUrl: http://localhost:9010/hydra/callback + wellKnownUrl: https://accounts.google.com/.well-known/openid-configuration + scopes: + - openid + - email + - profile + isPreferred: true + isClientCredsBody: false + teamId: appleTeamId + keyId: appleKeyId + loginMergeClaims: + - email + oidcClaimMapper: + - accessToken=access_token + - refreshToken=refresh_token + - accessTokenTTL=expires_in + - idToken=id_token + - subject=sub + - email=email + - userId=sub + - familyName=family_name + - givenName=given_name + - name=name + - name: Facebook + clientId: idp-client-id + clientSecret: idp-secret + authUrl: https://www.facebook.com/v19.0/dialog/oauth + tokenUrl: https://graph.facebook.com/v19.0/oauth/access_token + tokenInfoUrl: https://graph.facebook.com/v19.0/debug_token + userInfoUrl: https://graph.facebook.com/v19.0/me + redirectUrl: http://my.host.com/api/v1/idp/callback/Facebook + wellKnownUrl: https://www.facebook.com/.well-known/openid-configuration + scopes: + - openid + - email + - profile + isPreferred: true + isClientCredsBody: false + teamId: appleTeamId + keyId: appleKeyId + loginMergeClaims: + - email + oidcClaimMapper: + - accessToken=access_token + - refreshToken=refresh_token + - accessTokenTTL=expires_in + - idToken=id_token + - subject=sub + - email=email + - userId=sub + - familyName=family_name + - givenName=given_name + - name=name + IdpRequestException400: + value: + type: IdpRequestException + title: Unable to update resource because the request body was invalid + detail: Request body is invalid. + IdpTenantException401: + value: + type: IdpTenantException + title: Unable to update resource because the tenant id was invalid + detail: Tenant id is invalid + IdpNotFoundException404: + value: + type: IdpNotFoundException + title: Unable to update resource because no resource was found with that value + detail: Idp Not Found + IdentityProvider: + value: + name: google + clientId: idp-client-id + clientSecret: idp-secret + authUrl: https://accounts.google.com/o/oauth2/v2/auth + tokenUrl: https://oauth2.googleapis.com/token + tokenInfoUrl: https://oauth2.googleapis.com/tokeninfo + userInfoUrl: https://www.googleapis.com/oauth2/v3/userinfo + redirectUrl: http://localhost:9010/hydra/callback + wellKnownUrl: https://accounts.google.com/.well-known/openid-configuration + scopes: + - openid + - email + - profile + preferenceValue: true + isClientCredsBody: false + teamId: appleTeamId + keyId: appleKeyId + loginMergeClaims: + - email + oidcClaimMapper: + - accessToken=access_token + - refreshToken=refresh_token + - accessTokenTTL=expires_in + - idToken=id_token + - subject=sub + - email=email + - userId=sub + - familyName=family_name + - givenName=given_name + - name=name + IdpProviderResponse: + value: + name: google + clientId: idp-client-id + clientSecret: idp-secret + authUrl: https://accounts.google.com/o/oauth2/v2/auth + tokenUrl: https://oauth2.googleapis.com/token + tokenInfoUrl: https://oauth2.googleapis.com/tokeninfo + userInfoUrl: https://www.googleapis.com/oauth2/v3/userinfo + redirectUrl: http://localhost:9010/hydra/callback + wellKnownUrl: https://accounts.google.com/.well-known/openid-configuration + scopes: + - openid + - email + - profile + isPreferred: true + isClientCredsBody: false + teamId: appleTeamId + keyId: appleKeyId + loginMergeClaims: + - email + oidcClaimMapper: + - accessToken=access_token + - refreshToken=refresh_token + - accessTokenTTL=expires_in + - idToken=id_token + - subject=sub + - email=email + - userId=sub + - familyName=family_name + - givenName=given_name + - name=name + IdpConflictException409: + value: + type: IdpConflictException + title: Unable to create resource because a duplicate resource was found + detail: Idp was not created. Duplicate resource was found. + ShopperDeleteException400: + value: + type: ShopperDeleteException + title: Email address does not match stored email address + detail: Email address does not match stored email address + ShopperNotFoundException404: + value: + type: ShopperNotFoundException + title: SLAS USER was not found by customer id + detail: SLAS USER was not found by customer id diff --git a/apis/slas-admin-oas/slas-admin-oas-1.12.29/slas-admin-oas-v1-public.yaml b/apis/slas-admin-oas/slas-admin-oas-1.12.29/slas-admin-oas-v1-public.yaml new file mode 100644 index 00000000..d46069ff --- /dev/null +++ b/apis/slas-admin-oas/slas-admin-oas-1.12.29/slas-admin-oas-v1-public.yaml @@ -0,0 +1,1837 @@ +openapi: 3.0.3 +info: + title: Slas Admin + version: v1 + description: |- + # API Overview + + The SLAS Admin API is a companion to the main [Shopper Login and API Access Service](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary) (SLAS), which enables secure access to Commerce Cloud’s Shopper APIs. The SLAS Admin API is only used for administration tasks, not for requesting access to the Shopper APIs. + + **Important:** Before using this API, follow the instructions in [Authorization for Shopper APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) from the Get Started guides. The guide provides a complete set of instructions for setting up a SLAS client. + + For more information, see the [SLAS guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas.html). +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth-admin/v1 + variables: + shortCode: + default: shortCode +paths: + /tenants/{tenantId}: + get: + summary: Retrieve a tenant by tenant ID. + description: Retrieve a tenant by tenant ID. + operationId: retrieveTenant + parameters: + - $ref: '#/components/parameters/tenantId' + responses: + '200': + description: The tenant was retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Tenant' + examples: + Tenant: + $ref: '#/components/examples/Tenant' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TenantRequestException400: + $ref: '#/components/examples/TenantRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TenantException401: + $ref: '#/components/examples/TenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TenantNotFoundException404: + $ref: '#/components/examples/TenantNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + put: + summary: Create or update a tenant. Use the request body to provide identification and contact information for the tenant and its associated merchant. + description: This API is used to create or update a tenant. The tenant ID is the unique identifier for the tenant and is used in all subsequent API calls. The tenant ID must be unique across all tenants in the system. + operationId: registerTenant + parameters: + - $ref: '#/components/parameters/tenantId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TenantDto' + examples: + TenantDto: + $ref: '#/components/examples/TenantDto' + required: true + responses: + '200': + description: The tenant was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Tenant' + examples: + Tenant: + $ref: '#/components/examples/Tenant' + '201': + description: The tenant was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Tenant' + examples: + Tenant: + $ref: '#/components/examples/Tenant' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TenantUpdateException400: + $ref: '#/components/examples/TenantUpdateException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TenantUpdateException401: + $ref: '#/components/examples/TenantUpdateException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TenantNotFoundException404: + $ref: '#/components/examples/TenantNotFoundException404' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TenantAlreadyExistsException409: + $ref: '#/components/examples/TenantAlreadyExistsException409' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + /tenants/{tenantId}/clients: + get: + summary: Retrieve/Get all tenant clients. + description: Retrieve a list of SLAS clients associated with the tenant_id. + operationId: retrieveClients + parameters: + - $ref: '#/components/parameters/tenantId' + responses: + '200': + description: All tenant clients retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ClientListResponse' + examples: + ClientListResponse: + $ref: '#/components/examples/ClientListResponse' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientTenantException401: + $ref: '#/components/examples/ClientTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientNotFoundException404: + $ref: '#/components/examples/ClientNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + /tenants/{tenantId}/clients/{clientId}: + get: + summary: Retrieve a client. + description: Retrieve a client by client ID. The client ID is the unique identifier for the client and is used in all subsequent API calls. The client ID must be unique across all tenants in the system. + operationId: retrieveClient + parameters: + - $ref: '#/components/parameters/clientId' + - $ref: '#/components/parameters/tenantId' + responses: + '200': + description: The client was retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + examples: + Client: + $ref: '#/components/examples/Client' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientRequestException400: + $ref: '#/components/examples/ClientRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientTenantException401: + $ref: '#/components/examples/ClientTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientNotFoundException404: + $ref: '#/components/examples/ClientNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + put: + summary: Create or update a client. + description: It is strongly advised to refrain from using the “sfcc-shopper-context.rw” scope with a PUBLIC Client because it offers fewer protections and could potentially enable malicious actors to access Shopper Context enabled promotions. It is highly recommended to use “sfcc-shopper-context.rw” scope with a private client. + operationId: registerClient + parameters: + - $ref: '#/components/parameters/clientId' + - $ref: '#/components/parameters/tenantId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientRequest' + examples: + ClientRequest: + $ref: '#/components/examples/ClientRequest' + required: true + responses: + '200': + description: The client was updated successfully. A secret is only returned when a secret was sent with the update request. + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + examples: + ClientRequest: + $ref: '#/components/examples/ClientWithSecret' + '201': + description: The client was created successfully. This is the only time the secret is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + examples: + ClientRequest: + $ref: '#/components/examples/ClientWithSecret' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientRequestException400: + $ref: '#/components/examples/ClientRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientTenantException401: + $ref: '#/components/examples/ClientTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientNotFoundException404: + $ref: '#/components/examples/ClientNotFoundException404' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientConflictException409: + $ref: '#/components/examples/ClientConflictException409' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + delete: + summary: Delete a client. + description: Delete a client by client ID. + operationId: deleteClient + parameters: + - $ref: '#/components/parameters/clientId' + - $ref: '#/components/parameters/tenantId' + responses: + '204': + description: No content + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientRequestException400: + $ref: '#/components/examples/ClientRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientTenantException401: + $ref: '#/components/examples/ClientTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientNotFoundException404: + $ref: '#/components/examples/ClientNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + /tenants/{tenantId}/clients/{clientId}/password-action-templates: + get: + summary: Retrieve/get a password action template. + description: Retrieve a password action template by client ID. + operationId: retrievePwdlessTemplate + parameters: + - $ref: '#/components/parameters/clientId' + - $ref: '#/components/parameters/tenantId' + - $ref: '#/components/parameters/channelId' + - $ref: '#/components/parameters/actionType' + - $ref: '#/components/parameters/templateType' + responses: + '200': + description: The password action template was retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordActionTemplate' + examples: + PasswordActionTemplate: + $ref: '#/components/examples/PasswordActionTemplate' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + BadRequestException400: + $ref: '#/components/examples/BadRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientTenantException401: + $ref: '#/components/examples/ClientTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PasswordActionTemplateNotFoundException404: + $ref: '#/components/examples/PasswordActionTemplateNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + put: + summary: Create or update a password action template. + description: Create or update a password action template by client ID. + operationId: registerPwdlessTemplate + parameters: + - $ref: '#/components/parameters/clientId' + - $ref: '#/components/parameters/tenantId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordActionTemplate' + examples: + PasswordActionTemplateRequest: + $ref: '#/components/examples/PasswordActionTemplateRequest' + required: true + responses: + '200': + description: The password action template was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordActionTemplate' + examples: + PasswordActionTemplate: + $ref: '#/components/examples/PasswordActionTemplate' + '201': + description: A password action template was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordActionTemplate' + examples: + PasswordActionTemplate: + $ref: '#/components/examples/PasswordActionTemplate' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PasswordActionTemplateCreateException400: + $ref: '#/components/examples/PasswordActionTemplateCreateException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientTenantException401: + $ref: '#/components/examples/ClientTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PasswordActionTemplateNotFoundException404: + $ref: '#/components/examples/PasswordActionTemplateNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + delete: + summary: Delete a password action template. + operationId: deletePwdlessTemplate + description: Delete a password action template. + parameters: + - $ref: '#/components/parameters/clientId' + - $ref: '#/components/parameters/tenantId' + - $ref: '#/components/parameters/channelId' + - $ref: '#/components/parameters/actionType' + - $ref: '#/components/parameters/templateType' + - $ref: '#/components/parameters/locale' + responses: + '204': + description: No content + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PasswordActionTemplateDeleteException400: + $ref: '#/components/examples/PasswordActionTemplateDeleteException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ClientTenantException401: + $ref: '#/components/examples/ClientTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PasswordActionTemplateNotFoundException404: + $ref: '#/components/examples/PasswordActionTemplateNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + /tenants/{tenantId}/idps: + get: + summary: Retrieve/Get all tenant identity providers. + operationId: retrieveIdentityProviders + description: Retrieve a list of SLAS identity providers associated with the tenant_id. + parameters: + - $ref: '#/components/parameters/tenantId' + responses: + '200': + description: All tenant identity providers retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IdpListResponse' + examples: + IdpListResponse: + $ref: '#/components/examples/IdpListResponse' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpRequestException400: + $ref: '#/components/examples/IdpRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpTenantException401: + $ref: '#/components/examples/IdpTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpNotFoundException404: + $ref: '#/components/examples/IdpNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + /tenants/{tenantId}/idps/{name}: + get: + summary: Retrieve/Get a specific identity provider. + operationId: retrieveIdentityProvider + description: Retrieve a specific identity provider by name. + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/tenantId' + responses: + '200': + description: The identity provider was retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityProvider' + examples: + IdentityProvider: + $ref: '#/components/examples/IdentityProvider' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpRequestException400: + $ref: '#/components/examples/IdpRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpTenantException401: + $ref: '#/components/examples/IdpTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpNotFoundException404: + $ref: '#/components/examples/IdpNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + put: + summary: Create or update an identity provider. + operationId: registerIdentityProvider + description: Create or update an identity provider by name. + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/tenantId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityProvider' + examples: + IdentityProvider: + $ref: '#/components/examples/IdentityProvider' + required: true + responses: + '200': + description: The identity provider was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderResponse' + examples: + IdpProviderResponse: + $ref: '#/components/examples/IdpProviderResponse' + '201': + description: The identity provider was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderResponse' + examples: + IdpProviderResponse: + $ref: '#/components/examples/IdpProviderResponse' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpRequestException400: + $ref: '#/components/examples/IdpRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpTenantException401: + $ref: '#/components/examples/IdpTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpNotFoundException404: + $ref: '#/components/examples/IdpNotFoundException404' + '409': + description: Conflict. Duplicate + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpConflictException409: + $ref: '#/components/examples/IdpConflictException409' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + delete: + summary: Delete an identity provider. + operationId: deleteIdentityProvider + description: Delete an identity provider by name. + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/tenantId' + responses: + '204': + description: No content + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpRequestException400: + $ref: '#/components/examples/IdpRequestException400' + '401': + description: Unauthorized. Wrong tenant + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpTenantException401: + $ref: '#/components/examples/IdpTenantException401' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdpNotFoundException404: + $ref: '#/components/examples/IdpNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN + /tenants/{tenantId}/customers/{customerId}: + delete: + summary: Delete all shopper records associated with a shopper's customer ID. The email ID is used if it's passed as a query parameter. This conforms to the GDPR regulations. + operationId: deleteShopper + description: Delete all shopper records associated with a shopper's customer ID. The email ID is used if it's passed as a query parameter. This conforms to the GDPR regulations. + parameters: + - $ref: '#/components/parameters/customerId' + - $ref: '#/components/parameters/tenantId' + - $ref: '#/components/parameters/emailAddress' + responses: + '204': + description: No content + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ShopperDeleteException: + $ref: '#/components/examples/ShopperDeleteException400' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ShopperNotFoundException: + $ref: '#/components/examples/ShopperNotFoundException404' + security: + - BearerToken: + - SLAS_SERVICE_ADMIN + - SLAS_ORGANIZATION_ADMIN +components: + securitySchemes: + BearerToken: + type: http + scheme: bearer + bearerFormat: JWT + description: A security scheme that supplements SLAS Administration APIs that are secured with an B2c Commerce Account Manager JWT. This security scheme expects a valid B2C Commerce Account Manager Bearer token passed in the Authorization header to permit API access. + parameters: + tenantId: + name: tenantId + in: path + required: true + schema: + maxLength: 32 + type: string + example: zzeu_001, bgvn_dev + clientId: + name: clientId + in: path + required: true + schema: + maxLength: 36 + type: string + example: 876aff68-6ee5-474f-932d-c90c1d79bcf7 + channelId: + name: channelId + in: query + required: true + schema: + maxLength: 100 + type: string + example: SiteGenesis + actionType: + name: actionType + in: query + required: true + schema: + maxLength: 36 + type: string + description: "Describes the type of action that the password action template will be used for. \nHere are the actions that each enumerated string refers to:\n - `PWDLESS_LOGIN`: Passwordless login\n - `PWD_RESET_ACTION`: Password reset\n - `PWD_FORGOT_ACTION`: Forgot password\"" + enum: + - PWDLESS_LOGIN + - PWD_RESET_ACTION + - PWD_FORGOT_ACTION + example: PWDLESS_LOGIN + templateType: + name: templateType + in: query + required: true + schema: + maxLength: 8 + type: string + enum: + - EMAIL + - SMS + example: EMAIL + locale: + name: locale + in: query + required: true + schema: + type: string + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + example: en-US + name: + name: name + in: path + required: true + schema: + maxLength: 256 + type: string + example: Name + customerId: + name: customerId + in: path + required: true + schema: + maxLength: 28 + type: string + example: bcJN7998472pLiZuyGabs8knlj + emailAddress: + name: emailAddress + in: query + description: The shoppers email address. + required: false + schema: + maxLength: 256 + type: string + example: joe.shopper@foo.org + schemas: + Tenant: + required: + - contact + - description + - emailAddress + - isDeleted + - merchantId + - phoneNo + - requestQuotaPerMinute + - status + - tenantId + - tier + type: object + properties: + tenantId: + maxLength: 8 + type: string + example: aaaa_prd + merchantId: + minimum: 0 + type: integer + example: 1 + description: + maxLength: 256 + type: string + example: SLAS Merchant Name + contact: + maxLength: 256 + type: string + example: SLAS Tenant Contact + emailAddress: + maxLength: 200 + type: string + example: tenant_contact@slas.tst + phoneNo: + maxLength: 50 + type: string + example: 000-000-0000 + isDeleted: + maxLength: 1 + type: boolean + example: false + status: + maxLength: 16 + type: string + example: CLEAR + tier: + type: string + description: | + This read only value relates to the B2C Comerce realm of the customer. + - XS = Bronze and Bronze+ + - S = Silver and Silver+ + - M = Gold and Gold+ + - L = Platinum and Platinum+ + enum: + - XS + - S + - M + - L + example: L + requestQuotaPerMinute: + type: number + description: This read only value shows the the number of requests that can be made per minute. + example: 8000 + description: Tenant + additionalProperties: true + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + TenantDto: + required: + - tenantId + - contact + - description + - emailAddress + - merchantName + - phoneNo + type: object + properties: + tenantId: + maxLength: 8 + type: string + example: aaaa_prd + merchantName: + maxLength: 256 + type: string + description: Name of the merchant. + example: Merchant Name + description: + maxLength: 256 + type: string + example: Additional information about the tenant. + contact: + maxLength: 256 + type: string + example: Name of the merchant's designated contact. + emailAddress: + maxLength: 200 + type: string + description: Email address of the designated contact. + example: joe.shopper@foo.org + phoneNo: + maxLength: 50 + type: string + description: Phone number of the designated contact. + example: +1 000-000-0000 + description: Create or update tenants + Client: + required: + - callbackUri + - channels + - clientId + - name + - redirectUri + - scopes + - secret + type: object + properties: + clientId: + type: string + maxLength: 100 + description: Client ID + example: fd0d4ab9-bb85-4c04-bebd-589bd74bdd75 + name: + type: string + maxLength: 100 + description: Client Name + example: Client Name + secret: + type: string + maxLength: 256 + description: Client Secret. The secret will only display on create and if the secret was updated when updating the client. + example: client-secret + scopes: + items: + type: string + maxLength: 100 + example: sfcc.products sfcc.catalogs sfcc.customers:ro + type: array + description: "Merchant scopes. These scopes allows different permissions in SLAS and B2C commerce. \nShopper Custom Objects additionally provides a way to do granular scoping besides the standard `sfcc.shopper-custom-objects` like `sfcc.shopper-custom-objects.xyz`\nSLAS is capable of handling a maximum of 20 Custom Object scopes.\n\nFor B2C Commerce scope details, see the [Authorization Scopes Catalog](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html).\"" + example: + - sfcc.products + - sfcc.catalogs + - sfcc.customers:ro + redirectUri: + type: string + maxLength: 2048 + description: An absolute URL, beginning with a protocol + example: https://www.salesforce.com + callbackUri: + type: string + maxLength: 2048 + description: An absolute URL, beginning with a protocol + example: https://www.salesforce.com + channels: + items: + type: string + example: RefArch SiteGenesis + maxLength: 1024 + type: array + description: Client Channels + example: + - RefArch + - SiteGenensis + isPrivateClient: + type: boolean + description: Private or Public Client + example: true + loginEpRestrict: + type: boolean + maxLength: 1 + description: When enabling (true) this will restrict all calls to the `\login` endpoint for the Client Id. When calling the `\login` endpoint and `loginEpRestrict` is enabled a HTTP Status code of 403 will be returned. + example: false + ClientListResponse: + required: + - data + type: object + properties: + data: + items: + $ref: '#/components/schemas/Client' + type: array + description: An array of clients. + ClientRequest: + required: + - channels + - clientId + - isPrivateClient + - name + - redirectUri + - scopes + - secret + type: object + properties: + name: + type: string + description: Client Name + example: High Adventure Wear + maxLength: 100 + clientId: + type: string + description: SLAS client id. Must match the query parameter. + example: fd0d4ab9-bb85-4c04-bebd-589bd74bdd75 + maxLength: 100 + secret: + type: string + description: SLAS client secret. On create if left blank then a secret will be generated. + example: client_secret + maxLength: 256 + scopes: + items: + type: string + example: sfcc.products sfcc.catalogs sfcc.customers:ro + maxLength: 4096 + type: array + description: "Merchant scopes. These scopes allows different permissions in SLAS and B2C commerce. \nShopper Custom Objects additionally provides a way to do granular scoping besides the standard `sfcc.shopper-custom-objects` like `sfcc.shopper-custom-objects.xyz` \nSLAS is capable of handling a maximum of 20 Custom Object scopes.\"" + example: + - sfcc.products + - sfcc.catalogs + - sfcc.customers:ro + redirectUri: + items: + type: string + example: http://localhost:3000/callback + maxLength: 2048 + type: array + description: Array of SLAS redirect URLs. Include protocol and domain name in each URL. Wildcards supported. + example: + - http://localhost:3000/callback + - https://*.example.com/callback + callbackUri: + items: + type: string + example: localhost:3000/passwordless-login-callback + maxLength: 2048 + type: array + description: Array of SLAS callback URLs that will be used for passworless login and password reset when mode=callback. Include protocol and domain name in each URL. Wildcards are NOT supported. + example: + - http://localhost:3000/password-reset-callback + - http://localhost:3000/passwordless-login-callback + channels: + items: + type: string + example: RefArch SiteGenesis + maxLength: 1024 + type: array + description: Client Channels + example: + - RefArch + - SiteGenensis + isPrivateClient: + type: boolean + description: Private or Public Client. If left blank the client will default to private. + example: true + loginEpRestrict: + type: boolean + description: When enabling (true) this will restrict all calls to the `\login` endpoint for the Client Id. When calling the `\login` endpoint and `loginEpRestrict` is enabled a HTTP Status code of 403 will be returned. + example: false + description: Used to create and update a SLAS Client + PasswordTemplateActionType: + type: string + description: "Describes the type of action that the password action template will be used for. \nHere are the actions that each enumerated string refers to:\n - `PWDLESS_LOGIN`: Passwordless login\n - `PWD_RESET_ACTION`: Password reset\n - `PWD_FORGOT_ACTION`: Forgot password" + enum: + - PWDLESS_LOGIN + - PWD_RESET_ACTION + - PWD_FORGOT_ACTION + example: PWDLESS_LOGIN + PasswordTemplateType: + type: string + description: Identifies the type of mode that the password action template will be used for. + enum: + - SMS + - EMAIL + example: EMAIL + PasswordActionTemplate: + required: + - actionType + - channelId + - link + - locale + - name + - subject + - template + - templateType + type: object + properties: + channelId: + maxLength: 36 + type: string + example: SiteGenesis + name: + maxLength: 128 + type: string + example: Password Action Email Template + subject: + maxLength: 128 + type: string + example: Password Action Token Request + link: + maxLength: 2048 + type: string + example: 'This is your password action token: ${token}' + locale: + maxLength: 16 + type: string + description: Identifies the locale of the template. Must be one of the [language tag strings supported by JDK 11](https://www.oracle.com/java/technologies/javase/jdk11-suported-locales.html). The string is stored in all lowercase. + example: en-us + actionType: + $ref: '#/components/schemas/PasswordTemplateActionType' + templateType: + $ref: '#/components/schemas/PasswordTemplateType' + template: + maxLength: 2048 + type: string + example: |- + Passwordless Login Token Request + You're receiving this because you requested a passwordless login token for your account. ${link} + IdentityProviderResponse: + required: + - authUrl + - clientId + - clientSecret + - isClientCredsBody + - isPreferred + - name + - redirectUrl + - scopes + - tokenInfoUrl + - tokenUrl + - userInfoUrl + type: object + description: Identity provider Response + properties: + name: + type: string + description: Identity Provider Name + maxLength: 200 + example: google + authUrl: + type: string + description: IDP authorization URL + maxLength: 256 + example: https://www.salesforce.com/authorize + tokenUrl: + type: string + description: IDP token URL + maxLength: 256 + example: https://www.salesforce.com/token + tokenInfoUrl: + type: string + description: IDP token info URL + maxLength: 256 + example: https://www.salesforce.com/inspect + userInfoUrl: + type: string + description: IDP user info URL + maxLength: 256 + example: https://www.salesforce.com/userinfo + redirectUrl: + type: string + description: Redirect URL to go to after IDP flow is complete. This URL must be registered with the IDP. + maxLength: 256 + example: https://www.salesforce.com/idp/callback + wellKnownUrl: + type: string + description: IDP to get OIDC configuration. + maxLength: 256 + example: https://www.salesforce.com/.well-known/openid-configuration + clientId: + type: string + description: Client Id of the third party IDP. + maxLength: 128 + example: 934277749308-02dg4398n3s31ofge8cot46jirn3kpkf.apps.googleusercontent.com + clientSecret: + type: string + description: Client Secret of the third party IDP. For Apple copy the contents from the .p8 file that was downloaded from Apple between -*----BEGIN PRIVATE KEY-----* and -*---END PRIVATE KEY-----* markers. + maxLength: 512 + example: aKZM1xEnZopNP2bm2gc3GKex + isPreferred: + type: boolean + description: Indicates if the IDP configuration is the Preferred SLAS IDP for the Tenant Id. + maxLength: 1 + example: true + isClientCredsBody: + type: boolean + description: Default is to place the client credentials in a basic authorization header for the call to the IDP. If true, the client credentials are placed in the POST body to the IDP. + maxLength: 1 + example: false + scopes: + type: array + items: + type: string + maxLength: 8192 + example: openid email profile + description: Scopes needed by the IDP. + example: + - oidc + - email + - profile + teamId: + type: string + description: Apple Team ID. Used primarily for Sign with Apple in generating the client secret. + maxLength: 32 + example: appleTeamId + keyId: + type: string + description: Apple key ID. This is the Key ID that was obtained from Apple when the the private key for client authentication was created. Used primarily for Sign with Apple in generating the client secret. + maxLength: 8192 + example: appleKeyId + loginMergeClaims: + items: + type: string + maxLength: 256 + example: email + type: array + description: | + List of user info claims that can be used as identifiers to look up and merge with an existing B2C Commerce profile for a registered shopper or an existing B2C Commerce profile created via federated login with an external Identity Provider with the same merge claim as this one. If multiple matching B2C Commerce shopper (customer) profiles are found, the external profile is merged with the most recently created shopper (customer) profile. Refer to the Merge Shopper Profiles user guide for more details. + + Note: When configuring an Apple IDP, 'email' and 'sub' are the only supported merge claims. + example: + - email + - phone + oidcClaimMapper: + items: + type: string + maxLength: 1024 + example: accessToken=access refresh_token accessTokenTTL=expires_in idToken=id_token subject=sub email=email userId=sub familyName=family_name givenName=given_name name=name + type: array + description: Mapping from the identity provider’s token claims for SLAS to get user information values when the user successfully authenticates. The values in this array should be setup using the following `key=value` pair pattern. The key part is the SLAS key with the value part being the OIDC claim key. + example: + - accessToken=access_token + - refreshToken=refresh_token + - accessTokenTTL=expires_in + - idToken=id_token + - subject=sub + - email=email + - userId=sub + - familyName=family_name + - givenName=given_name + - name=name + IdpListResponse: + required: + - data + type: object + properties: + data: + items: + $ref: '#/components/schemas/IdentityProviderResponse' + type: array + description: An array of identity providers. + IdentityProvider: + required: + - authUrl + - clientId + - clientSecret + - isClientCredsBody + - name + - redirectUrl + - scopes + - tokenInfoUrl + - tokenUrl + - userInfoUrl + - wellKnownUrl + type: object + properties: + name: + type: string + description: Identity Provider Name + maxLength: 200 + example: google + enum: + - adfs + - apple + - auth0 + - azure + - cognito + - facebook + - forgerock + - gigya + - gigya_social + - google + - okta + - ping + - salesforce + authUrl: + type: string + description: IDP authorize URL + maxLength: 256 + example: https://www.salesforce.com/authorize + tokenUrl: + type: string + description: IDP token URL + maxLength: 256 + example: https://www.salesforce.com/token + tokenInfoUrl: + type: string + description: IDP token info URL + maxLength: 256 + example: https://www.salesforce.com/introspect + userInfoUrl: + type: string + description: IDP user info URL + maxLength: 256 + example: https://www.salesforce.com/userinfo + redirectUrl: + type: string + description: Redirect URL to go to after IDP flow is complete. This URL must be registered with the IDP. + maxLength: 256 + example: https://www.salesforce.com/idp/callback + wellKnownUrl: + type: string + description: IDP URL to get OIDC configuration. + maxLength: 256 + example: https://www.salesforce.com/.well-known/openid-configuration + clientId: + type: string + description: Client Id of the third party IDP. + maxLength: 128 + example: 934277749308-02dg4398n3s31ofge8cot46jirn3kpkf.apps.googleusercontent.com + clientSecret: + type: string + maxLength: 512 + description: Client Secret of the third party IDP. For Apple copy the contents from the .p8 file that was downloaded from Apple between -*----BEGIN PRIVATE KEY-----* and -*---END PRIVATE KEY-----* markers. + example: aKZM1xEnZopNP2bm2gc3GKex + preferenceValue: + type: boolean + description: Set the IDP configuration as the Preferred SLAS IDP. Default value is `false`. + maxLength: 1 + example: true + isClientCredsBody: + type: boolean + description: Default is to place the client credentials in a basic authorization header for the call to the IDP. If true, the client credentials are placed in the POST body to the IDP. + maxLength: 1 + example: false + useWellKnown: + type: boolean + description: If set to `true`, SLAS uses the `wellKnowUrl` value to populate the `authUrl`, `tokenUrl`, `userInfoUrl`, and `scopes` values from the identity provider. Default value is `false`. + maxLength: 1 + example: false + scopes: + items: + type: string + maxLength: 8192 + example: openid email profile + type: array + description: IDP Scopes + example: + - oidc + - email + - profile + teamId: + type: string + description: Apple Team Id. Used primarily for Sign with Apple in generating the client secret. + maxLength: 32 + example: appleTeamId + keyId: + type: string + description: Apple key id. This is the Key ID that was obtained from Apple when the the private key for client authentication was created. Used primarily for Sign with Apple in generating the client secret. + maxLength: 32 + example: appleKeyId + loginMergeClaims: + items: + type: string + maxLength: 256 + example: email + type: array + description: | + List of user info claims that can be used as identifiers to look up and merge with an existing B2C Commerce profile for a registered shopper or an existing B2C Commerce profile created via federated login with an external Identity Provider with the same merge claim as this one. If multiple matching B2C Commerce shopper (customer) profiles are found, the external profile is merged with the most recently created shopper (customer) profile. Refer to the Merge Shopper Profiles user guide for more details. + Note: When configuring an Apple IDP, 'email' and 'sub' are the only supported merge claims. + example: + - email + - phone + oidcClaimMapper: + items: + type: string + maxLength: 1024 + example: accessToken=access_token efreshToken=refresh_token accessTokenTTL=expires_in idToken=id_token subject=sub email=email userId=sub familyName=family_name givenName=given_name name=name + type: array + description: Mapping from the identity provider’s token claims for SLAS to get user information values when the user successfully authenticates. The values in this array should be setup using the following `key=value` pair pattern. The key part is the SLAS key with the value part being the OIDC claim key. + example: + - accessToken=access_token + - refreshToken=refresh_token + - accessTokenTTL=expires_in + - idToken=id_token + - subject=sub + - email=email + - userId=sub + - familyName=family_name + - givenName=given_name + - name=name + description: Identity provider + examples: + Tenant: + value: + createdBy: slas + modifiedBy: slas + createdTime: 2021-02-25T00:55:54.119+0000 + modifiedTime: 2021-02-25T00:55:54.119+0000 + tenantId: slsa_dev + merchantId: 2 + description: SLAS Default Tenant Two + contact: Tenant Two + emailAddress: tenant2@slas.tst + phoneNo: 111-222-4444 + tier: S + requestQuotaPerMinute: 8000 + isDeleted: false + status: CLEAR + TenantRequestException400: + value: + type: TenantRequestException + title: Unable to retrieve resource because the tenant id was invalid + detail: Tenant id is invalid + TenantException401: + value: + type: TenantException + title: Unable to retrieve resource because the tenant id was invalid + detail: Tenant id is invalid + TenantNotFoundException404: + value: + type: TenantNotFoundException + title: Unable to retrieve resource because no resource was found with that value + detail: Tenant id Not Found + TenantDto: + value: + tenantId: slsa_dev + merchantName: Popular Merchant + description: Merchant Description + contact: Jerry Smith + emailAddress: jerry@merchant.com + phoneNo: 801-555-1234 + TenantUpdateException400: + value: + type: TenantUpdateException + title: Unable to retrieve resource because the tenant id was invalid + detail: Tenant id was not updated + TenantUpdateException401: + value: + type: TenantUpdateException + title: Unable to retrieve resource because the tenant id was invalid + detail: Tenant id was not updated + TenantAlreadyExistsException409: + value: + type: TenantAlreadyExistsException + title: Tenant[abcd_prd] already exists! + detail: Tenant already exists + ClientListResponse: + value: + data: + - clientId: a462b606-317c-4a3c-90a7-4b0b938f3807 + secret: '' + name: Shop Mart + scopes: + - sfcc.products sfcc.catalogs sfcc.products.ro + redirectUri: http://localhost:9010/callback + callbackUri: http://localhost:9010/pwd/reset/callback + channels: + - SiteGenesis + - OtherSite + isPrivateClient: true + loginEpRestrict: false + - clientId: 726bde86-7b99-415d-98ec-9290bad18904 + secret: '' + name: High Adventure Wear + scopes: + - sfcc.products sfcc.catalogs sfcc.products.ro + redirectUri: http://localhost:9010/callback + callbackUri: http://localhost:9010/pwd/reset/callback + channels: + - SiteGenesis + - OtherSite + isPrivateClient: true + loginEpRestrict: false + - clientId: slas-default-client-1 + secret: '' + name: Shop Salesforce + scopes: + - sfcc.products.ro sfcc.catalogs.ro + redirectUri: http://localhost:9010/callback + callbackUri: http://localhost:9010/pwd/reset/callback + channels: + - SiteGenesis + - OtherSite + isPrivateClient: true + loginEpRestrict: false + ClientTenantException401: + value: + type: ClientTenantException + title: Unable to retrieve resource because the tenant id was invalid + detail: Tenant id was not found. Please check the tenant id. + ClientNotFoundException404: + value: + type: ClientNotFoundException + title: Unable to retrieve resource because no resource was found with that value + detail: Client Not Found + Client: + value: + clientId: client-id1 + name: High Adventure Wear + secret: secret1234 + scopes: + - sfcc.products sfcc.catalogs sfcc.customers:ro + redirectUri: http://localhost/callback + callbackUri: http://localhost:9010/pwd/reset/callback + channels: + - SiteGenesis + - OtherSite + isPrivateClient: true + loginEpRestrict: false + ClientRequestException400: + value: + type: ClientRequestException + title: Unable to retrieve resource because the client id was invalid + detail: Client id is invalid + ClientRequest: + value: + clientId: client-id1 + secret: secret12345 + name: High Adventure Wear + scopes: + - sfcc.products + - sfcc.catalogs + - sfcc.products.ro + redirectUri: + - http://localhost:9010/callback + callbackUri: + - http://localhost:9010/pwd/reset/callback + channels: + - SiteGenesis + - OtherSite + isPrivateClient: true + loginEpRestrict: false + ClientWithSecret: + value: + clientId: client-id1 + name: High Adventure Wear + secret: secret12345 + scopes: + - sfcc.products + - sfcc.catalogs + - sfcc.customers:ro + redirectUri: http://localhost:9010/callback + callbackUri: http://localhost:9010/pwd/reset/callback + channels: + - SiteGenesis + - OtherSite + isPrivateClient: true + loginEpRestrict: false + ClientConflictException409: + value: + type: ClientConflictException + title: Unable to create resource because a duplicate resource was found + detail: Client was not created. Duplicate resource was found. + PasswordActionTemplate: + value: + channelId: SiteGenesis + name: Passwordless SMS Template + subject: Passwordless Token Request + link: 'This is your passwordless token: ${token}' + locale: en-us + actionType: PWDLESS_LOGIN + templateType: SMS + template: |- + Passwordless Login Token Request + + Hello ${name}, + You're receiving this because you requested a passwordless login token for your account. + ${link} + BadRequestException400: + value: + type: BadRequestException + title: Unable to update resource because the request body was invalid + detail: Request body is invalid. + PasswordActionTemplateNotFoundException404: + value: + type: PasswordActionTemplateNotFoundException + title: Template was not found + detail: Template was not found. + PasswordActionTemplateRequest: + value: + channelId: SiteGenesis + name: Passwordless SMS Template + subject: Passwordless Token Request + link: 'This is your passwordless token: ${token}' + locale: en-us + actionType: PWDLESS_LOGIN + templateType: SMS + template: |- + Passwordless Login Token Request + Hello ${name}, + You're receiving this because you requested a passwordless login token for your account. + ${link} + PasswordActionTemplateCreateException400: + value: + type: PasswordActionTemplateCreateException + title: Template was not created or updated + detail: Template was not created or updated. + PasswordActionTemplateDeleteException400: + value: + type: PasswordActionTemplateDeleteException + title: Template was not deleted + detail: Template was not deleted. + IdpListResponse: + value: + data: + - name: google + clientId: idp-client-id + clientSecret: idp-secret + authUrl: https://accounts.google.com/o/oauth2/v2/auth + tokenUrl: https://oauth2.googleapis.com/token + tokenInfoUrl: https://oauth2.googleapis.com/tokeninfo + userInfoUrl: https://www.googleapis.com/oauth2/v3/userinfo + redirectUrl: http://localhost:9010/hydra/callback + wellKnownUrl: https://accounts.google.com/.well-known/openid-configuration + scopes: + - openid + - email + - profile + isPreferred: true + isClientCredsBody: false + teamId: appleTeamId + keyId: appleKeyId + loginMergeClaims: + - email + oidcClaimMapper: + - accessToken=access_token + - refreshToken=refresh_token + - accessTokenTTL=expires_in + - idToken=id_token + - subject=sub + - email=email + - userId=sub + - familyName=family_name + - givenName=given_name + - name=name + - name: Facebook + clientId: idp-client-id + clientSecret: idp-secret + authUrl: https://www.facebook.com/v19.0/dialog/oauth + tokenUrl: https://graph.facebook.com/v19.0/oauth/access_token + tokenInfoUrl: https://graph.facebook.com/v19.0/debug_token + userInfoUrl: https://graph.facebook.com/v19.0/me + redirectUrl: http://my.host.com/api/v1/idp/callback/Facebook + wellKnownUrl: https://www.facebook.com/.well-known/openid-configuration + scopes: + - openid + - email + - profile + isPreferred: true + isClientCredsBody: false + teamId: appleTeamId + keyId: appleKeyId + loginMergeClaims: + - email + oidcClaimMapper: + - accessToken=access_token + - refreshToken=refresh_token + - accessTokenTTL=expires_in + - idToken=id_token + - subject=sub + - email=email + - userId=sub + - familyName=family_name + - givenName=given_name + - name=name + IdpRequestException400: + value: + type: IdpRequestException + title: Unable to update resource because the request body was invalid + detail: Request body is invalid. + IdpTenantException401: + value: + type: IdpTenantException + title: Unable to update resource because the tenant id was invalid + detail: Tenant id is invalid + IdpNotFoundException404: + value: + type: IdpNotFoundException + title: Unable to update resource because no resource was found with that value + detail: Idp Not Found + IdentityProvider: + value: + name: google + clientId: idp-client-id + clientSecret: idp-secret + authUrl: https://accounts.google.com/o/oauth2/v2/auth + tokenUrl: https://oauth2.googleapis.com/token + tokenInfoUrl: https://oauth2.googleapis.com/tokeninfo + userInfoUrl: https://www.googleapis.com/oauth2/v3/userinfo + redirectUrl: http://localhost:9010/hydra/callback + wellKnownUrl: https://accounts.google.com/.well-known/openid-configuration + scopes: + - openid + - email + - profile + preferenceValue: true + isClientCredsBody: false + teamId: appleTeamId + keyId: appleKeyId + loginMergeClaims: + - email + oidcClaimMapper: + - accessToken=access_token + - refreshToken=refresh_token + - accessTokenTTL=expires_in + - idToken=id_token + - subject=sub + - email=email + - userId=sub + - familyName=family_name + - givenName=given_name + - name=name + IdpProviderResponse: + value: + name: google + clientId: idp-client-id + clientSecret: idp-secret + authUrl: https://accounts.google.com/o/oauth2/v2/auth + tokenUrl: https://oauth2.googleapis.com/token + tokenInfoUrl: https://oauth2.googleapis.com/tokeninfo + userInfoUrl: https://www.googleapis.com/oauth2/v3/userinfo + redirectUrl: http://localhost:9010/hydra/callback + wellKnownUrl: https://accounts.google.com/.well-known/openid-configuration + scopes: + - openid + - email + - profile + isPreferred: true + isClientCredsBody: false + teamId: appleTeamId + keyId: appleKeyId + loginMergeClaims: + - email + oidcClaimMapper: + - accessToken=access_token + - refreshToken=refresh_token + - accessTokenTTL=expires_in + - idToken=id_token + - subject=sub + - email=email + - userId=sub + - familyName=family_name + - givenName=given_name + - name=name + IdpConflictException409: + value: + type: IdpConflictException + title: Unable to create resource because a duplicate resource was found + detail: Idp was not created. Duplicate resource was found. + ShopperDeleteException400: + value: + type: ShopperDeleteException + title: Email address does not match stored email address + detail: Email address does not match stored email address + ShopperNotFoundException404: + value: + type: ShopperNotFoundException + title: SLAS USER was not found by customer id + detail: SLAS USER was not found by customer id diff --git a/apis/source-code-groups-oas/source-code-groups-oas-1.0.36/.metadata.json b/apis/source-code-groups-oas/source-code-groups-oas-1.0.36/.metadata.json new file mode 100644 index 00000000..de1144a4 --- /dev/null +++ b/apis/source-code-groups-oas/source-code-groups-oas-1.0.36/.metadata.json @@ -0,0 +1,16 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/source-code-groups-oas/1.0.36", + "name": "Source Code Groups OAS", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "source-code-groups-oas", + "version": "1.0.36", + "categories": { + "SDK Type": [ + "Commerce" + ], + "Visibility": [ + "External" + ] + } +} diff --git a/apis/source-code-groups-oas/source-code-groups-oas-1.0.36/exchange.json b/apis/source-code-groups-oas/source-code-groups-oas-1.0.36/exchange.json new file mode 100644 index 00000000..fddbc91b --- /dev/null +++ b/apis/source-code-groups-oas/source-code-groups-oas-1.0.36/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "source-code-groups-oas-v1-public.yaml", + "name": "Source Code Groups OAS", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "source-code-groups-oas", + "version": "1.0.36", + "classifier": "oas", + "tags": [], + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "apiVersion": "v1" +} \ No newline at end of file diff --git a/apis/source-code-groups-oas/source-code-groups-oas-1.0.36/source-code-groups-oas-v1-internal.yaml b/apis/source-code-groups-oas/source-code-groups-oas-1.0.36/source-code-groups-oas-v1-internal.yaml new file mode 100644 index 00000000..84005cfd --- /dev/null +++ b/apis/source-code-groups-oas/source-code-groups-oas-1.0.36/source-code-groups-oas-v1-internal.yaml @@ -0,0 +1,1027 @@ +openapi: 3.0.3 +info: + title: Source Code Groups + version: v1 + description: "# API Overview\n\nAPIs that support the creation, update, deletions and search of source code groups. \n\n## Authentication & Authorization\n\nThe client requesting the source code information must have access to the Source Code resource. For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request. The client must first authenticate against Account Manager to log in.\n\nYou must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html)\n\nFor detailed setup instructions, see [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html)." +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/source-code-groups/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/source-code-groups/{id}: + get: + summary: Retrieve source code group information. + operationId: getSourceCodeGroup + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Source code group information returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/SourceCodeGroup' + examples: + GetSourceCodeGroup: + $ref: '#/components/examples/GetSourceCodeGroup' + '404': + description: | + Thrown when the source code group does not exist or does not match the given ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SourceCodeGroupNotFound404: + $ref: '#/components/examples/SourceCodeGroupNotFound404' + security: + - AmOAuth2: + - sfcc.source-codes + - sfcc.source-codes.rw + put: + summary: Create a source code group using the information provided. + operationId: createSourceCodeGroup + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SourceCodeGroup' + responses: + '200': + description: The source code group was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/SourceCodeGroup' + examples: + CreateSourceCodeGroup: + $ref: '#/components/examples/CreateSourceCodeGroup' + '400': + description: | + Possible reasons: + - Thrown when the ID given in the request URL is different from the ID provided in the source code group document. + - The source code group peovided is not valid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdConflict400: + $ref: '#/components/examples/IdConflict400' + SourceCodeGroupInvalid400: + $ref: '#/components/examples/SourceCodeGroupInvalid400' + security: + - AmOAuth2: + - sfcc.source-codes.rw + delete: + summary: Delete the specified source code group ID. + operationId: deleteSourceCodeGroup + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: The source code group was deleted successfully. + security: + - AmOAuth2: + - sfcc.source-codes.rw + patch: + summary: Update the source code group with the specified information. + operationId: updateSourceCodeGroup + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SourceCodeGroup' + responses: + '200': + description: The source code group was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/SourceCodeGroup' + examples: + UpdateSourceCodeGroup: + $ref: '#/components/examples/UpdateSourceCodeGroup' + '404': + description: | + Thrown when the source code group does not exist matching the given ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SourceCodeGroupNotFound404: + $ref: '#/components/examples/SourceCodeGroupNotFound404' + security: + - AmOAuth2: + - sfcc.source-codes.rw + /organizations/{organizationId}/source-code-groups: + post: + summary: Search for source code groups. + description: "\nThe following query attributes can be used to narrow the search:\n \n | Attribute | Type |\n |-----------|--------|\n | id| String |\n | description | String |\n | sourceCode | String |\n | startTime | DateTime |\n | endTime | DateTime |\n | creationDate | DateTime |\n | enabled | Boolean |\n | active | Boolean |\n\nThe sourceCode and active fields can only be used in queries as conjunctions (using AND). If the field is used in a disjunction\n(OR), an exception is thrown.\n\nThe query output can also be sorted with the following attributes:\n \n | Attribute | Type |\n |-----------|--------|\n | id| String |\n | description | String |\n | enabled | Boolean |\n | creationDate | DateTime |" + operationId: sourceCodeGroupsSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + responses: + '200': + description: The source code group information was returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/SourceCodeGroupSearchResult' + examples: + SourceCodeGroupsSearch: + $ref: '#/components/examples/SourceCodeGroupsSearch' + '400': + description: | + Thrown when the query is ill-formed. + security: + - AmOAuth2: + - sfcc.source-codes + - sfcc.source-codes.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.source-codes: source-codes READONLY + sfcc.source-codes.rw: source-codes read/write + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.source-codes: source-codes READONLY + sfcc.source-codes.rw: source-codes read/write + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SourceCodeGroupId: + minLength: 1 + maxLength: 28 + description: The ID of source code group. + example: TV-Email + type: string + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + SourceCodeRedirectInfo: + description: Document representing source code redirect info. + additionalProperties: false + properties: + locationType: + description: The type of redirect location, such as product (for a product page), category (a category page), home (for home page), page (for content), or URL (for a URL location). + example: url + enum: + - default + - home + - product + - category + - page + - url + type: string + location: + description: The location of redirect, based on the type, this can be a product location, category location, home page, content page, or just a URL. + type: string + type: object + required: + - locationType + SourceCodeSpecification: + description: Document representing a source code specification. + additionalProperties: false + type: object + required: + - expression + properties: + expression: + description: "Expression is a value for the \"Source Code Specification\" may be literal source code, or it may contain wildcards.\nLiteral code is simply the literal code. Valid characters are letters and numbers (no spaces).\nA wildcard allows a single source code specification to match multiple source codes. The following wildcards are supported:\n\n* ? - Matches any single alpha-numeric character.\n\nFor example: the source code specification 'ABC?' would match 'ABCD' or 'ABC3', but not 'ABCDE'.\n* \\* - Matches any sequence of alpha-numeric characters.\n\nFor example: the source code specification 'ABC*' would match 'ABCD', 'ABCDE', or 'ABC123'.\n* [n1..n2] - Matches any number from n1 through and including n2.\n \nFor example: the source code specification 'ABC[3..22]' would match 'ABC3', 'ABC4' or 'ABC22', but not 'ABC33' or 'ABCD'." + example: televisions[1..10000] + type: string + SourceCodeGroup: + description: Document representing a source code group. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + active: + description: The active flag, a computed value based on start and end time. + example: true + type: boolean + activeRedirect: + description: The active redirect information. + allOf: + - $ref: '#/components/schemas/SourceCodeRedirectInfo' + cookieDuration: + minimum: 0 + maximum: 999 + format: int32 + description: The cookie duration in days. + example: 25 + type: integer + creationDate: + description: Returns the value of attribute 'creationDate'. + example: '2019-10-20T12:00:00Z' + type: string + format: date-time + description: + description: The description. + example: | + This source code group is used to email promoting Flat Screen Television. + type: string + enabled: + description: The enabled flag for storefront to consider the source code group, default to false. + example: false + type: boolean + endTime: + description: The end time. + example: '2019-11-20T12:00:00Z' + type: string + format: date-time + id: + $ref: '#/components/schemas/SourceCodeGroupId' + inactiveRedirect: + description: The inactive redirect information. + allOf: + - $ref: '#/components/schemas/SourceCodeRedirectInfo' + lastModified: + description: Returns the value of attribute 'lastModified'. + example: '2019-10-20T12:00:00Z' + type: string + format: date-time + specifications: + description: Source code specifications. + type: array + items: + $ref: '#/components/schemas/SourceCodeSpecification' + startTime: + description: The start time. + example: '2019-10-20T12:00:00Z' + type: string + format: date-time + type: object + required: + - id + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + SourceCodeGroupSearchResult: + description: Document representing a source code group search result. + type: object + required: + - hits + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + $ref: '#/components/schemas/SourceCodeGroup' + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + id: + name: id + in: path + description: The ID of the source code group + required: true + schema: + $ref: '#/components/schemas/SourceCodeGroupId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + examples: + GetSourceCodeGroup: + value: + active: false + activeRedirect: + location: urlString + locationType: url + creationDate: '2019-11-25T15:24:25.317Z' + description: description for source code group test2 + enabled: false + endTime: '2030-10-01T00:00:00.000Z' + id: 20% off (£30) New Customer + inactiveRedirect: + location: urlString + locationType: url + lastModified: '2019-11-25T15:28:55.175Z' + startTime: '2014-10-01T00:00:00.000Z' + SourceCodeGroupNotFound404: + value: + type: SourceCodeGroupNotFoundException + title: Source Code Groups Not Found + instance: /sites/SiteGenesis/source_code_groups/foo + detail: No source code group with ID 'foo' for site 'SiteGenesis' could be found. + CreateSourceCodeGroup: + value: + active: false + activeRedirect: + location: urlString + locationType: url + creationDate: '2019-11-25T15:24:25.317Z' + description: description for source code group test + enabled: false + endTime: '2030-10-01T00:00:00.000Z' + id: 20% off (£30) New Customer + inactiveRedirect: + location: urlString + locationType: url + lastModified: '2019-11-25T15:24:25.320Z' + startTime: '2014-10-01T00:00:00.000Z' + IdConflict400: + value: + type: IdConflictException + title: Source Code Groups Id Conflict + instance: /sites/SiteGenesis/source_code_groups/foo + detail: The ID given in the request URL is different from the ID provided in the source code group document. + SourceCodeGroupInvalid400: + value: + type: SourceCodeGroupInvalidException + title: Source Code Groups Invalid + instance: /sites/SiteGenesis/source_code_groups/foo + detail: The source code group passed in is not valid. + UpdateSourceCodeGroup: + value: + active: false + activeRedirect: + location: urlString + locationType: url + creationDate: '2019-11-25T15:24:25.317Z' + description: description for source code group test2 + enabled: false + endTime: '2030-10-01T00:00:00.000Z' + id: 20% off (£30) New Customer + inactiveRedirect: + location: urlString + locationType: url + lastModified: '2019-11-25T15:28:55.175Z' + startTime: '2014-10-01T00:00:00.000Z' + SourceCodeGroupsSearch: + value: + limit: 1 + hits: + - active: false + activeRedirect: + location: nintendo-wii-console + locationType: product + creationDate: '2020-01-06T15:30:26.000Z' + description: Email promoting save 20% of WII game when buying system + enabled: true + endTime: '2009-12-20T00:00:00.000Z' + id: gaming-email + inactiveRedirect: + location: inactive-source-code + locationType: page + lastModified: '2020-01-06T15:30:26.000Z' + startTime: '2009-11-01T00:00:00.000Z' + query: + textQuery: + fields: + - id + searchPhrase: gaming + offset: 0 + total: 1 diff --git a/apis/source-code-groups-oas/source-code-groups-oas-1.0.36/source-code-groups-oas-v1-public.yaml b/apis/source-code-groups-oas/source-code-groups-oas-1.0.36/source-code-groups-oas-v1-public.yaml new file mode 100644 index 00000000..84005cfd --- /dev/null +++ b/apis/source-code-groups-oas/source-code-groups-oas-1.0.36/source-code-groups-oas-v1-public.yaml @@ -0,0 +1,1027 @@ +openapi: 3.0.3 +info: + title: Source Code Groups + version: v1 + description: "# API Overview\n\nAPIs that support the creation, update, deletions and search of source code groups. \n\n## Authentication & Authorization\n\nThe client requesting the source code information must have access to the Source Code resource. For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request. The client must first authenticate against Account Manager to log in.\n\nYou must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html)\n\nFor detailed setup instructions, see [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html)." +servers: + - url: https://{shortCode}.api.commercecloud.salesforce.com/pricing/source-code-groups/v1 + variables: + shortCode: + default: shortCode +paths: + /organizations/{organizationId}/source-code-groups/{id}: + get: + summary: Retrieve source code group information. + operationId: getSourceCodeGroup + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/siteId' + responses: + '200': + description: Source code group information returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/SourceCodeGroup' + examples: + GetSourceCodeGroup: + $ref: '#/components/examples/GetSourceCodeGroup' + '404': + description: | + Thrown when the source code group does not exist or does not match the given ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SourceCodeGroupNotFound404: + $ref: '#/components/examples/SourceCodeGroupNotFound404' + security: + - AmOAuth2: + - sfcc.source-codes + - sfcc.source-codes.rw + put: + summary: Create a source code group using the information provided. + operationId: createSourceCodeGroup + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SourceCodeGroup' + responses: + '200': + description: The source code group was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/SourceCodeGroup' + examples: + CreateSourceCodeGroup: + $ref: '#/components/examples/CreateSourceCodeGroup' + '400': + description: | + Possible reasons: + - Thrown when the ID given in the request URL is different from the ID provided in the source code group document. + - The source code group peovided is not valid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + IdConflict400: + $ref: '#/components/examples/IdConflict400' + SourceCodeGroupInvalid400: + $ref: '#/components/examples/SourceCodeGroupInvalid400' + security: + - AmOAuth2: + - sfcc.source-codes.rw + delete: + summary: Delete the specified source code group ID. + operationId: deleteSourceCodeGroup + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/siteId' + responses: + '204': + description: The source code group was deleted successfully. + security: + - AmOAuth2: + - sfcc.source-codes.rw + patch: + summary: Update the source code group with the specified information. + operationId: updateSourceCodeGroup + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SourceCodeGroup' + responses: + '200': + description: The source code group was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/SourceCodeGroup' + examples: + UpdateSourceCodeGroup: + $ref: '#/components/examples/UpdateSourceCodeGroup' + '404': + description: | + Thrown when the source code group does not exist matching the given ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SourceCodeGroupNotFound404: + $ref: '#/components/examples/SourceCodeGroupNotFound404' + security: + - AmOAuth2: + - sfcc.source-codes.rw + /organizations/{organizationId}/source-code-groups: + post: + summary: Search for source code groups. + description: "\nThe following query attributes can be used to narrow the search:\n \n | Attribute | Type |\n |-----------|--------|\n | id| String |\n | description | String |\n | sourceCode | String |\n | startTime | DateTime |\n | endTime | DateTime |\n | creationDate | DateTime |\n | enabled | Boolean |\n | active | Boolean |\n\nThe sourceCode and active fields can only be used in queries as conjunctions (using AND). If the field is used in a disjunction\n(OR), an exception is thrown.\n\nThe query output can also be sorted with the following attributes:\n \n | Attribute | Type |\n |-----------|--------|\n | id| String |\n | description | String |\n | enabled | Boolean |\n | creationDate | DateTime |" + operationId: sourceCodeGroupsSearch + parameters: + - $ref: '#/components/parameters/organizationId' + - $ref: '#/components/parameters/siteId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchRequest' + responses: + '200': + description: The source code group information was returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/SourceCodeGroupSearchResult' + examples: + SourceCodeGroupsSearch: + $ref: '#/components/examples/SourceCodeGroupsSearch' + '400': + description: | + Thrown when the query is ill-formed. + security: + - AmOAuth2: + - sfcc.source-codes + - sfcc.source-codes.rw +components: + securitySchemes: + AmOAuth2: + type: oauth2 + description: AccountManager OAuth 2.0 bearer token Authentication. + flows: + clientCredentials: + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.source-codes: source-codes READONLY + sfcc.source-codes.rw: source-codes read/write + authorizationCode: + authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize + tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token + scopes: + sfcc.source-codes: source-codes READONLY + sfcc.source-codes.rw: source-codes read/write + schemas: + OrganizationId: + description: An identifier for the organization the request is being made by + example: f_ecom_zzxy_prd + type: string + minLength: 1 + maxLength: 32 + SourceCodeGroupId: + minLength: 1 + maxLength: 28 + description: The ID of source code group. + example: TV-Email + type: string + SiteId: + minLength: 1 + maxLength: 32 + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: RefArch + type: string + SourceCodeRedirectInfo: + description: Document representing source code redirect info. + additionalProperties: false + properties: + locationType: + description: The type of redirect location, such as product (for a product page), category (a category page), home (for home page), page (for content), or URL (for a URL location). + example: url + enum: + - default + - home + - product + - category + - page + - url + type: string + location: + description: The location of redirect, based on the type, this can be a product location, category location, home page, content page, or just a URL. + type: string + type: object + required: + - locationType + SourceCodeSpecification: + description: Document representing a source code specification. + additionalProperties: false + type: object + required: + - expression + properties: + expression: + description: "Expression is a value for the \"Source Code Specification\" may be literal source code, or it may contain wildcards.\nLiteral code is simply the literal code. Valid characters are letters and numbers (no spaces).\nA wildcard allows a single source code specification to match multiple source codes. The following wildcards are supported:\n\n* ? - Matches any single alpha-numeric character.\n\nFor example: the source code specification 'ABC?' would match 'ABCD' or 'ABC3', but not 'ABCDE'.\n* \\* - Matches any sequence of alpha-numeric characters.\n\nFor example: the source code specification 'ABC*' would match 'ABCD', 'ABCDE', or 'ABC123'.\n* [n1..n2] - Matches any number from n1 through and including n2.\n \nFor example: the source code specification 'ABC[3..22]' would match 'ABC3', 'ABC4' or 'ABC22', but not 'ABC33' or 'ABCD'." + example: televisions[1..10000] + type: string + SourceCodeGroup: + description: Document representing a source code group. + additionalProperties: + title: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. + The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: c_trackingId + properties: + active: + description: The active flag, a computed value based on start and end time. + example: true + type: boolean + activeRedirect: + description: The active redirect information. + allOf: + - $ref: '#/components/schemas/SourceCodeRedirectInfo' + cookieDuration: + minimum: 0 + maximum: 999 + format: int32 + description: The cookie duration in days. + example: 25 + type: integer + creationDate: + description: Returns the value of attribute 'creationDate'. + example: '2019-10-20T12:00:00Z' + type: string + format: date-time + description: + description: The description. + example: | + This source code group is used to email promoting Flat Screen Television. + type: string + enabled: + description: The enabled flag for storefront to consider the source code group, default to false. + example: false + type: boolean + endTime: + description: The end time. + example: '2019-11-20T12:00:00Z' + type: string + format: date-time + id: + $ref: '#/components/schemas/SourceCodeGroupId' + inactiveRedirect: + description: The inactive redirect information. + allOf: + - $ref: '#/components/schemas/SourceCodeRedirectInfo' + lastModified: + description: Returns the value of attribute 'lastModified'. + example: '2019-10-20T12:00:00Z' + type: string + format: date-time + specifications: + description: Source code specifications. + type: array + items: + $ref: '#/components/schemas/SourceCodeSpecification' + startTime: + description: The start time. + example: '2019-10-20T12:00:00Z' + type: string + format: date-time + type: object + required: + - id + ErrorResponse: + type: object + additionalProperties: true + properties: + title: + description: "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n" + type: string + maxLength: 256 + example: You do not have enough credit + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: NotEnoughMoney + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + example: Your current balance is 30, but that costs 50 + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + maxLength: 2048 + example: /account/12345/msgs/abc + required: + - title + - type + - detail + Limit: + default: 10 + minimum: 1 + format: int32 + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + example: 10 + Query: + minProperties: 1 + maxProperties: 1 + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + example: + filteredQuery: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + boolQuery: + $ref: '#/components/schemas/BoolQuery' + filteredQuery: + $ref: '#/components/schemas/FilteredQuery' + matchAllQuery: + $ref: '#/components/schemas/MatchAllQuery' + nestedQuery: + $ref: '#/components/schemas/NestedQuery' + termQuery: + $ref: '#/components/schemas/TermQuery' + textQuery: + $ref: '#/components/schemas/TextQuery' + BoolQuery: + description: "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n" + type: object + example: + value: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - description + searchPhrase: Big bargain deal + mustNot: + - termQuery: + fields: + - enabled + operator: is + values: + - false + properties: + must: + description: List of queries to be evaluated as an `AND` operator. + type: array + items: + $ref: '#/components/schemas/Query' + mustNot: + description: List of queries to be evaluated as a `NOT` operator. + type: array + items: + $ref: '#/components/schemas/Query' + should: + description: List of queries to be evaluated as an `OR` operator. + type: array + items: + $ref: '#/components/schemas/Query' + Filter: + minProperties: 1 + maxProperties: 1 + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + example: null + type: object + properties: + boolFilter: + $ref: '#/components/schemas/BoolFilter' + queryFilter: + $ref: '#/components/schemas/QueryFilter' + range2Filter: + $ref: '#/components/schemas/Range2Filter' + rangeFilter: + $ref: '#/components/schemas/RangeFilter' + termFilter: + $ref: '#/components/schemas/TermFilter' + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + example: + value: + operator: and + filters: + - termFilter: + field: id + operator: is + values: + - myId + - termFilter: + field: couponId + operator: is + values: + - couponOne + type: object + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: array + items: + $ref: '#/components/schemas/Filter' + operator: + description: The logical operator that is used to combine the filters. + enum: + - and + - or + - not + type: string + example: and + required: + - operator + QueryFilter: + description: Wraps any query and allows it to be used as a filter. + type: object + properties: + query: + $ref: '#/components/schemas/Query' + required: + - query + Field: + description: Name of the field. Might be a custom field name prefixed with c_. + maxLength: 260 + type: string + example: couponId + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + example: + fromField: validFrom + toField: validTo + filterMode: overlap + fromValue: '2007-01-01T00:00:00.000Z' + toValue: '2017-01-01T00:00:00.000Z' + type: object + properties: + filterMode: + default: overlap + example: overlap + description: 'Compare mode: overlap, containing, or contained.' + enum: + - overlap + - containing + - contained + type: string + fromField: + description: The field name of the field that starts the first range. + example: validFrom + allOf: + - $ref: '#/components/schemas/Field' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + toField: + description: The field name of the field that ends the first range. + example: validTo + allOf: + - $ref: '#/components/schemas/Field' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + required: + - fromField + - toField + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + properties: + field: + example: validFrom + description: The search field. + allOf: + - $ref: '#/components/schemas/Field' + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + example: '2007-01-01T00:00:00.000Z' + fromInclusive: + default: true + example: true + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + example: '2017-01-01T00:00:00.000Z' + toInclusive: + default: true + example: true + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: + - field + TermFilter: + description: Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + example: + field: id + operator: is + values: + - myId + type: object + properties: + field: + description: The filter field. + allOf: + - $ref: '#/components/schemas/Field' + operator: + description: The operator used to compare the field's values with the given values. + example: is + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + values: + description: The filter values. + type: array + items: + type: string + example: myId + required: + - field + - operator + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + example: + query: + textQuery: + fields: + - couponId + searchPhrase: disabled + filter: + termFilter: + field: enabled + operator: is + values: + - false + type: object + properties: + filter: + $ref: '#/components/schemas/Filter' + query: + $ref: '#/components/schemas/Query' + required: + - filter + - query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n" + example: + path: order.shippingAddresses + query: + boolQuery: + must: + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.firstName + operator: is + values: + - John + - boolQuery: + must: + - termQuery: + fields: + - order.shippingAddresses.lastName + operator: is + values: + - Doe + scoreMode: avg + type: object + properties: + path: + description: The path to the nested document. + type: string + example: order.shippingAddresses + maxLength: 2048 + query: + $ref: '#/components/schemas/Query' + scoreMode: + description: Indicates how scores for matching child objects affect the root parent document’s relevance score. + enum: + - avg + - total + - max + - none + type: string + example: avg + required: + - path + - query + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + properties: + fields: + minItems: 1 + description: The document fields that the values are matched against, combined with the operator. + type: array + items: + $ref: '#/components/schemas/Field' + operator: + description: Returns the operator to use for the term query. + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + type: string + example: is + values: + description: The values that the fields are compared against, combined with the operator. + type: array + items: + type: string + example: myCouponId + required: + - fields + - operator + TextQuery: + description: A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + example: + fields: + - couponId + searchPhrase: limit + type: object + properties: + fields: + minItems: 1 + description: The document fields that the search phrase matches against. + type: array + items: + $ref: '#/components/schemas/Field' + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string + example: campaign summer + required: + - fields + - searchPhrase + String256: + type: string + maxLength: 256 + description: "The String256 schema is a foundational schema designed for fields or attributes that are stored in a database field with a maximum capacity of 256 bytes. \nThis schema accommodates various character sets, with the following considerations:\n - ASCII Characters: Each ASCII character occupies 1 byte, allowing up to 256 characters.\n - Latin Characters: Many Latin characters require 2 bytes each, allowing up to 128 characters.\n - Asian Characters: Many Asian characters require 3 bytes each, allowing approximately 85 characters." + example: Max Mustermann + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + example: + field: couponId + sortOrder: desc + type: object + properties: + field: + description: The name of the field to sort on. + allOf: + - $ref: '#/components/schemas/String256' + sortOrder: + default: asc + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + example: asc + enum: + - asc + - desc + type: string + required: + - field + Offset: + default: 0 + minimum: 0 + format: int64 + description: The zero-based index of the first hit/data to include in the result. + type: integer + example: 0 + SearchRequest: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + properties: + limit: + description: Maximum records to retrieve per request, not to exceed 200. + example: 10 + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + query: + $ref: '#/components/schemas/Query' + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: array + items: + $ref: '#/components/schemas/Sort' + offset: + $ref: '#/components/schemas/Offset' + required: + - query + Total: + default: 0 + minimum: 0 + format: int64 + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + example: 10 + ResultBase: + description: "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned." + type: object + required: + - limit + - total + properties: + limit: + maximum: 200 + allOf: + - $ref: '#/components/schemas/Limit' + total: + $ref: '#/components/schemas/Total' + PaginatedResultBase: + description: "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`." + type: object + allOf: + - $ref: '#/components/schemas/ResultBase' + properties: + offset: + $ref: '#/components/schemas/Offset' + required: + - limit + - offset + - total + PaginatedSearchResult: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + properties: + query: + $ref: '#/components/schemas/Query' + sorts: + description: The sorting that was applied to the result. + type: array + items: + $ref: '#/components/schemas/Sort' + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + type: object + allOf: + - $ref: '#/components/schemas/PaginatedResultBase' + type: object + required: + - query + example: + limit: 1 + hits: + - couponId: coupon1 + creationDate: '2019-10-20T12:00:00Z' + description: This coupon is used to give 10% off stuff. + enabled: false + exportedCodeCount: 0 + lastModified: '2019-10-30T04:23:59Z' + redemptionCount: 3 + redemptionLimits: + limitPerCode: 1 + limitPerCustomer: 1 + limitPerTimeFrame: + limit: 2 + redemptionTimeFrame: 24 + singleCode: MyCode + systemCodesConfig: + codePrefix: SG + numberOfCodes: 500000 + totalCodesCount: 50 + type: single_code + query: + textQuery: + fields: + - id + - description + searchPhrase: stuff + sorts: + - field: couponId + sortOrder: desc + offset: 2 + total: 8 + SourceCodeGroupSearchResult: + description: Document representing a source code group search result. + type: object + required: + - hits + allOf: + - $ref: '#/components/schemas/PaginatedSearchResult' + properties: + hits: + description: The sorted array of search hits. Can be empty. + type: array + items: + $ref: '#/components/schemas/SourceCodeGroup' + parameters: + organizationId: + description: An identifier for the organization the request is being made by + name: organizationId + in: path + required: true + example: f_ecom_zzxy_prd + schema: + $ref: '#/components/schemas/OrganizationId' + id: + name: id + in: path + description: The ID of the source code group + required: true + schema: + $ref: '#/components/schemas/SourceCodeGroupId' + siteId: + description: The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites. + name: siteId + in: query + required: true + examples: + SiteId: + value: RefArch + schema: + $ref: '#/components/schemas/SiteId' + examples: + GetSourceCodeGroup: + value: + active: false + activeRedirect: + location: urlString + locationType: url + creationDate: '2019-11-25T15:24:25.317Z' + description: description for source code group test2 + enabled: false + endTime: '2030-10-01T00:00:00.000Z' + id: 20% off (£30) New Customer + inactiveRedirect: + location: urlString + locationType: url + lastModified: '2019-11-25T15:28:55.175Z' + startTime: '2014-10-01T00:00:00.000Z' + SourceCodeGroupNotFound404: + value: + type: SourceCodeGroupNotFoundException + title: Source Code Groups Not Found + instance: /sites/SiteGenesis/source_code_groups/foo + detail: No source code group with ID 'foo' for site 'SiteGenesis' could be found. + CreateSourceCodeGroup: + value: + active: false + activeRedirect: + location: urlString + locationType: url + creationDate: '2019-11-25T15:24:25.317Z' + description: description for source code group test + enabled: false + endTime: '2030-10-01T00:00:00.000Z' + id: 20% off (£30) New Customer + inactiveRedirect: + location: urlString + locationType: url + lastModified: '2019-11-25T15:24:25.320Z' + startTime: '2014-10-01T00:00:00.000Z' + IdConflict400: + value: + type: IdConflictException + title: Source Code Groups Id Conflict + instance: /sites/SiteGenesis/source_code_groups/foo + detail: The ID given in the request URL is different from the ID provided in the source code group document. + SourceCodeGroupInvalid400: + value: + type: SourceCodeGroupInvalidException + title: Source Code Groups Invalid + instance: /sites/SiteGenesis/source_code_groups/foo + detail: The source code group passed in is not valid. + UpdateSourceCodeGroup: + value: + active: false + activeRedirect: + location: urlString + locationType: url + creationDate: '2019-11-25T15:24:25.317Z' + description: description for source code group test2 + enabled: false + endTime: '2030-10-01T00:00:00.000Z' + id: 20% off (£30) New Customer + inactiveRedirect: + location: urlString + locationType: url + lastModified: '2019-11-25T15:28:55.175Z' + startTime: '2014-10-01T00:00:00.000Z' + SourceCodeGroupsSearch: + value: + limit: 1 + hits: + - active: false + activeRedirect: + location: nintendo-wii-console + locationType: product + creationDate: '2020-01-06T15:30:26.000Z' + description: Email promoting save 20% of WII game when buying system + enabled: true + endTime: '2009-12-20T00:00:00.000Z' + id: gaming-email + inactiveRedirect: + location: inactive-source-code + locationType: page + lastModified: '2020-01-06T15:30:26.000Z' + startTime: '2009-11-01T00:00:00.000Z' + query: + textQuery: + fields: + - id + searchPhrase: gaming + offset: 0 + total: 1 diff --git a/package-lock.json b/package-lock.json index 16ec8463..dcea8b4c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "BSD-3-Clause", "dependencies": { "@commerce-apps/core": "^1.8.0", + "@openapitools/openapi-generator-cli": "^2.20.0", "nanoid": "^3.3.4", "retry": "^0.13.1", "tslib": "^2.4.1" @@ -17,7 +18,6 @@ "devDependencies": { "@commerce-apps/raml-toolkit": "file:../raml-toolkit", "@istanbuljs/nyc-config-typescript": "^1.0.2", - "@openapitools/openapi-generator-cli": "^2.20.0", "@types/chai": "^4.3.0", "@types/fs-extra": "^9.0.13", "@types/mocha": "^8.2.3", @@ -322,7 +322,6 @@ "version": "7.27.6", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -768,7 +767,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -778,7 +776,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/@nestjs/axios/-/axios-4.0.0.tgz", "integrity": "sha512-1cB+Jyltu/uUPNQrpUimRHEQHrnQrpLzVj6dU3dgn6iDDDdahr10TgHFGTmw5VuJ9GzKZsCLDL78VSwJAs/9JQ==", - "dev": true, "license": "MIT", "peerDependencies": { "@nestjs/common": "^10.0.0 || ^11.0.0", @@ -790,7 +787,6 @@ "version": "11.1.1", "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.1.tgz", "integrity": "sha512-crzp+1qeZ5EGL0nFTPy9NrVMAaUWewV5AwtQyv6SQ9yQPXwRl9W9hm1pt0nAtUu5QbYMbSuo7lYcF81EjM+nCA==", - "dev": true, "license": "MIT", "dependencies": { "file-type": "20.5.0", @@ -822,7 +818,6 @@ "version": "11.1.1", "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.1.tgz", "integrity": "sha512-UFoUAgLKFT+RwHTANJdr0dF7p0qS9QjkaUPjg8aafnjM/qxxxrUVDB49nVvyMlk+Hr1+vvcNaOHbWWQBxoZcHA==", - "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -864,7 +859,6 @@ "version": "8.2.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=16" @@ -932,7 +926,6 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.4.1.tgz", "integrity": "sha512-GXD3wy50qYbxCJ652bDrDzgMr3NFEkIS374+IgFQKkCvk9yiYcLvX2XDYr7UyQxf4wK0e+yqDYRubZ0DtOxnmQ==", - "dev": true, "license": "MIT", "dependencies": { "consola": "^3.2.3" @@ -949,7 +942,6 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", - "dev": true, "license": "MIT", "dependencies": { "chalk": "^4.1.0", @@ -968,7 +960,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -985,14 +976,12 @@ "version": "2.15.3", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", - "dev": true, "license": "MIT" }, "node_modules/@nuxtjs/opencollective/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -1002,7 +991,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -1015,7 +1003,6 @@ "version": "2.20.2", "resolved": "https://registry.npmjs.org/@openapitools/openapi-generator-cli/-/openapi-generator-cli-2.20.2.tgz", "integrity": "sha512-dNFwQcQu6+rmEWSJj4KUx468+p6Co7nfpVgi5QEfVhzKj7wBytz9GEhCN2qmVgtg3ZX8H6nxbXI8cjh7hAxAqg==", - "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -1053,7 +1040,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -1063,7 +1049,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -1080,7 +1065,6 @@ "version": "11.3.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", - "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", @@ -1095,7 +1079,6 @@ "version": "9.3.5", "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", - "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -1114,7 +1097,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -1124,7 +1106,6 @@ "version": "8.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", - "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -1140,7 +1121,6 @@ "version": "4.2.8", "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", - "dev": true, "license": "ISC", "engines": { "node": ">=8" @@ -1150,7 +1130,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -1283,7 +1262,6 @@ "version": "0.2.7", "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.2.7.tgz", "integrity": "sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg==", - "dev": true, "license": "MIT", "dependencies": { "debug": "^4.4.0", @@ -1302,7 +1280,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -1320,14 +1297,12 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, "license": "MIT" }, "node_modules/@tokenizer/token": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", - "dev": true, "license": "MIT" }, "node_modules/@tootallnate/once": { @@ -1342,7 +1317,6 @@ "version": "0.23.0", "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", - "dev": true, "license": "MIT" }, "node_modules/@tsconfig/node10": { @@ -1857,7 +1831,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, "license": "MIT", "dependencies": { "type-fest": "^0.21.3" @@ -1873,7 +1846,6 @@ "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" @@ -1886,7 +1858,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -1895,7 +1866,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -1983,7 +1953,6 @@ "version": "0.13.4", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", - "dev": true, "license": "MIT", "dependencies": { "tslib": "^2.0.1" @@ -1995,8 +1964,7 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/at-least-node": { "version": "1.0.0", @@ -2011,7 +1979,6 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz", "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", - "dev": true, "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -2023,7 +1990,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz", "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==", - "dev": true, "license": "MIT", "dependencies": { "asynckit": "^0.4.0", @@ -2045,7 +2011,6 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, "funding": [ { "type": "github", @@ -2066,7 +2031,6 @@ "version": "5.0.5", "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", - "dev": true, "license": "MIT", "engines": { "node": ">=10.0.0" @@ -2085,7 +2049,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, "license": "MIT", "dependencies": { "buffer": "^5.5.0", @@ -2132,7 +2095,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, "funding": [ { "type": "github", @@ -2366,7 +2328,6 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true, "license": "MIT" }, "node_modules/check-error": { @@ -2411,7 +2372,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, "license": "MIT", "dependencies": { "restore-cursor": "^3.1.0" @@ -2424,7 +2384,6 @@ "version": "2.9.2", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -2437,7 +2396,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, "license": "ISC", "engines": { "node": ">= 10" @@ -2447,7 +2405,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -2458,7 +2415,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.8" @@ -2476,7 +2432,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -2487,14 +2442,12 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -2506,7 +2459,6 @@ "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, "license": "MIT", "engines": { "node": ">= 12" @@ -2532,7 +2484,6 @@ "version": "4.1.4", "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-4.1.4.tgz", "integrity": "sha512-FemMreK9xNyL8gQevsdRMrvO4lFCkQP7qbuktn1q8ndcNk1+0mz7lgE7b/sNvbhVgY4w6tMN1FDp6aADjqw2rw==", - "dev": true, "license": "MIT" }, "node_modules/concat-map": { @@ -2544,7 +2495,6 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.5.1.tgz", "integrity": "sha512-FlSwNpGjWQfRwPLXvJ/OgysbBxPkWpiVjy1042b0U7on7S7qwwMIILRj7WTN1mTgqa582bG6NFuScOoh6Zgdag==", - "dev": true, "license": "MIT", "dependencies": { "chalk": "^4.1.0", @@ -2567,7 +2517,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -2584,7 +2533,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -2597,7 +2545,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -2607,7 +2554,6 @@ "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, "license": "Apache-2.0", "dependencies": { "tslib": "^1.9.0" @@ -2620,7 +2566,6 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -2636,14 +2581,12 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true, "license": "0BSD" }, "node_modules/consola": { "version": "3.4.2", "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", - "dev": true, "license": "MIT", "engines": { "node": "^14.18.0 || >=16.10.0" @@ -2653,7 +2596,6 @@ "version": "0.10.0", "resolved": "https://registry.npmjs.org/console.table/-/console.table-0.10.0.tgz", "integrity": "sha512-dPyZofqggxuvSf7WXvNjuRfnsOk1YazkVP8FdxH4tcH2c37wc79/Yl6Bhr7Lsu00KMgy2ql/qCMuNu8xctZM8g==", - "dev": true, "license": "MIT", "dependencies": { "easy-table": "1.1.0" @@ -2710,7 +2652,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", - "dev": true, "license": "MIT", "engines": { "node": ">= 14" @@ -2720,7 +2661,6 @@ "version": "2.30.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "dev": true, "license": "MIT", "dependencies": { "@babel/runtime": "^7.21.0" @@ -2798,7 +2738,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, "license": "MIT", "dependencies": { "clone": "^1.0.2" @@ -2847,7 +2786,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", - "dev": true, "license": "MIT", "dependencies": { "ast-types": "^0.13.4", @@ -2862,7 +2800,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, "engines": { "node": ">=0.4.0" } @@ -3051,7 +2988,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/easy-table/-/easy-table-1.1.0.tgz", "integrity": "sha512-oq33hWOSSnl2Hoh00tZWaIPi1ievrD9aFG82/IgjlycAnW9hHx5PkJiXpxPsgEE+H7BsbVQXFVFST8TEXS6/pA==", - "dev": true, "license": "MIT", "optionalDependencies": { "wcwidth": ">=1.0.1" @@ -3068,8 +3004,7 @@ "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/encoding": { "version": "0.1.13", @@ -3128,7 +3063,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -3150,7 +3084,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, "engines": { "node": ">=6" } @@ -3171,7 +3104,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", @@ -3193,7 +3125,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" @@ -3692,7 +3623,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -3757,7 +3687,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -3766,7 +3695,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, "license": "MIT", "dependencies": { "chardet": "^0.7.0", @@ -3781,7 +3709,6 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" @@ -3828,7 +3755,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", - "dev": true, "license": "MIT" }, "node_modules/fastq": { @@ -3849,14 +3775,12 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true, "license": "MIT" }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5" @@ -3872,7 +3796,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.8.0" @@ -3894,7 +3817,6 @@ "version": "20.5.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-20.5.0.tgz", "integrity": "sha512-BfHZtG/l9iMm4Ecianu7P8HRD2tBHLtjXinm4X62XBOYzi7CYA7jyqfJzOvXHqzVrVPYqBo2/GvbARMaaJkKVg==", - "dev": true, "license": "MIT", "dependencies": { "@tokenizer/inflate": "^0.2.6", @@ -3989,7 +3911,6 @@ "version": "1.15.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "dev": true, "funding": [ { "type": "individual", @@ -4106,7 +4027,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -4170,7 +4090,6 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.4.tgz", "integrity": "sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==", - "dev": true, "license": "MIT", "dependencies": { "basic-ftp": "^5.0.2", @@ -4185,7 +4104,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -4203,7 +4121,6 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, "license": "MIT" }, "node_modules/git-hooks-list": { @@ -4339,8 +4256,7 @@ "node_modules/graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, "node_modules/grapheme-splitter": { "version": "1.0.4", @@ -4429,7 +4345,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" @@ -4535,7 +4450,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, "funding": [ { "type": "github", @@ -4621,7 +4535,6 @@ "version": "8.2.6", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", - "dev": true, "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", @@ -4648,7 +4561,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -4665,7 +4577,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -4675,7 +4586,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -4688,7 +4598,6 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -4812,7 +4721,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -4833,7 +4741,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -4893,7 +4800,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -5064,7 +4970,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", - "dev": true, "license": "ISC", "engines": { "node": ">=6" @@ -5175,7 +5080,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, "dependencies": { "universalify": "^2.0.0" }, @@ -5278,7 +5182,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/load-esm/-/load-esm-1.0.2.tgz", "integrity": "sha512-nVAvWk/jeyrWyXEAs84mpQCYccxRqgKY4OznLuJhJCa0XsPSfdOIr2zvBZEj3IHEHbX97jjscKRRV539bW0Gpw==", - "dev": true, "funding": [ { "type": "github", @@ -5600,7 +5503,6 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -5609,7 +5511,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -5621,7 +5522,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -5919,7 +5819,6 @@ "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true, "license": "ISC" }, "node_modules/nanoid": { @@ -5955,7 +5854,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4.0" @@ -5993,7 +5891,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" @@ -6179,7 +6076,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" @@ -6212,7 +6108,6 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, "license": "MIT", "dependencies": { "bl": "^4.1.0", @@ -6236,7 +6131,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -6253,7 +6147,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -6263,7 +6156,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, "license": "MIT", "dependencies": { "chalk": "^4.1.0", @@ -6280,7 +6172,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -6293,7 +6184,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -6353,7 +6243,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", - "dev": true, "license": "MIT", "dependencies": { "@tootallnate/quickjs-emscripten": "^0.23.0", @@ -6373,7 +6262,6 @@ "version": "7.1.3", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", - "dev": true, "license": "MIT", "engines": { "node": ">= 14" @@ -6383,7 +6271,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -6401,7 +6288,6 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.0", @@ -6415,7 +6301,6 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.2", @@ -6429,14 +6314,12 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, "license": "MIT" }, "node_modules/pac-proxy-agent/node_modules/socks-proxy-agent": { "version": "8.0.5", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.2", @@ -6451,7 +6334,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", - "dev": true, "license": "MIT", "dependencies": { "degenerator": "^5.0.0", @@ -6563,7 +6445,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", @@ -6580,14 +6461,12 @@ "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, "license": "ISC" }, "node_modules/path-scurry/node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" @@ -6745,7 +6624,6 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.2", @@ -6765,7 +6643,6 @@ "version": "7.1.3", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", - "dev": true, "license": "MIT", "engines": { "node": ">= 14" @@ -6775,7 +6652,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -6793,7 +6669,6 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.0", @@ -6807,7 +6682,6 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.2", @@ -6821,7 +6695,6 @@ "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, "license": "ISC", "engines": { "node": ">=12" @@ -6831,14 +6704,12 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, "license": "MIT" }, "node_modules/proxy-agent/node_modules/socks-proxy-agent": { "version": "8.0.5", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.2", @@ -6853,7 +6724,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true, "license": "MIT" }, "node_modules/punycode": { @@ -6923,7 +6793,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -6986,7 +6855,6 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "dev": true, "license": "Apache-2.0" }, "node_modules/release-zalgo": { @@ -7005,7 +6873,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7048,7 +6915,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, "license": "MIT", "dependencies": { "onetime": "^5.1.0", @@ -7120,7 +6986,6 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.12.0" @@ -7153,7 +7018,6 @@ "version": "7.8.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "dev": true, "license": "Apache-2.0", "dependencies": { "tslib": "^2.1.0" @@ -7167,8 +7031,7 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "devOptional": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/semver": { "version": "5.7.1", @@ -7283,8 +7146,7 @@ "node_modules/signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, "node_modules/sinon": { "version": "9.2.4", @@ -7436,7 +7298,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -7455,8 +7317,7 @@ "node_modules/spawn-command": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", - "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", - "dev": true + "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==" }, "node_modules/spawn-wrap": { "version": "2.0.0", @@ -7526,7 +7387,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" @@ -7536,7 +7396,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, "funding": [ { "type": "github", @@ -7557,7 +7416,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -7571,7 +7429,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -7604,7 +7461,6 @@ "version": "10.3.1", "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.1.tgz", "integrity": "sha512-3JWEZM6mfix/GCJBBUrkA8p2Id2pBkyTkVCJKto55w080QBKZ+8R171fGrbiSp+yMO/u6F8/yUh7K4V9K+YCnw==", - "dev": true, "license": "MIT", "dependencies": { "@tokenizer/token": "^0.3.0" @@ -7680,14 +7536,12 @@ "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true, "license": "MIT" }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, "license": "MIT", "dependencies": { "os-tmpdir": "~1.0.2" @@ -7721,7 +7575,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.0.0.tgz", "integrity": "sha512-lbDrTLVsHhOMljPscd0yitpozq7Ga2M5Cvez5AjGg8GASBjtt6iERCAJ93yommPmz62fb45oFIXHEZ3u9bfJEA==", - "dev": true, "license": "MIT", "dependencies": { "@tokenizer/token": "^0.3.0", @@ -7739,14 +7592,12 @@ "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true, "license": "MIT" }, "node_modules/tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, "license": "MIT", "bin": { "tree-kill": "cli.js" @@ -8021,7 +7872,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", - "dev": true, "license": "MIT", "dependencies": { "@lukeed/csprng": "^1.0.0" @@ -8034,7 +7884,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.4.0.tgz", "integrity": "sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -8063,7 +7912,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, "engines": { "node": ">= 10.0.0" } @@ -8081,7 +7929,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, "license": "MIT" }, "node_modules/uuid": { @@ -8123,7 +7970,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, "license": "MIT", "dependencies": { "defaults": "^1.0.3" @@ -8133,14 +7979,12 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true, "license": "BSD-2-Clause" }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, "license": "MIT", "dependencies": { "tr46": "~0.0.3", @@ -8245,7 +8089,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -8290,7 +8133,6 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -8360,7 +8202,6 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, "engines": { "node": ">=10" } @@ -8369,7 +8210,6 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, "engines": { "node": ">=10" } @@ -8588,8 +8428,7 @@ "@babel/runtime": { "version": "7.27.6", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", - "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", - "dev": true + "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==" }, "@babel/template": { "version": "7.10.4", @@ -8981,21 +8820,18 @@ "@lukeed/csprng": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", - "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", - "dev": true + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==" }, "@nestjs/axios": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@nestjs/axios/-/axios-4.0.0.tgz", "integrity": "sha512-1cB+Jyltu/uUPNQrpUimRHEQHrnQrpLzVj6dU3dgn6iDDDdahr10TgHFGTmw5VuJ9GzKZsCLDL78VSwJAs/9JQ==", - "dev": true, "requires": {} }, "@nestjs/common": { "version": "11.1.1", "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.1.tgz", "integrity": "sha512-crzp+1qeZ5EGL0nFTPy9NrVMAaUWewV5AwtQyv6SQ9yQPXwRl9W9hm1pt0nAtUu5QbYMbSuo7lYcF81EjM+nCA==", - "dev": true, "requires": { "file-type": "20.5.0", "iterare": "1.2.1", @@ -9008,7 +8844,6 @@ "version": "11.1.1", "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.1.tgz", "integrity": "sha512-UFoUAgLKFT+RwHTANJdr0dF7p0qS9QjkaUPjg8aafnjM/qxxxrUVDB49nVvyMlk+Hr1+vvcNaOHbWWQBxoZcHA==", - "dev": true, "requires": { "@nuxt/opencollective": "0.4.1", "fast-safe-stringify": "2.1.1", @@ -9021,8 +8856,7 @@ "path-to-regexp": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", - "dev": true + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==" } } }, @@ -9071,7 +8905,6 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.4.1.tgz", "integrity": "sha512-GXD3wy50qYbxCJ652bDrDzgMr3NFEkIS374+IgFQKkCvk9yiYcLvX2XDYr7UyQxf4wK0e+yqDYRubZ0DtOxnmQ==", - "dev": true, "requires": { "consola": "^3.2.3" } @@ -9080,7 +8913,6 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", - "dev": true, "requires": { "chalk": "^4.1.0", "consola": "^2.15.0", @@ -9091,7 +8923,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9100,20 +8931,17 @@ "consola": { "version": "2.15.3", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", - "dev": true + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -9124,7 +8952,6 @@ "version": "2.20.2", "resolved": "https://registry.npmjs.org/@openapitools/openapi-generator-cli/-/openapi-generator-cli-2.20.2.tgz", "integrity": "sha512-dNFwQcQu6+rmEWSJj4KUx468+p6Co7nfpVgi5QEfVhzKj7wBytz9GEhCN2qmVgtg3ZX8H6nxbXI8cjh7hAxAqg==", - "dev": true, "requires": { "@nestjs/axios": "4.0.0", "@nestjs/common": "11.1.1", @@ -9150,7 +8977,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, "requires": { "balanced-match": "^1.0.0" } @@ -9159,7 +8985,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9169,7 +8994,6 @@ "version": "11.3.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", - "dev": true, "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -9180,7 +9004,6 @@ "version": "9.3.5", "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "minimatch": "^8.0.2", @@ -9191,14 +9014,12 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "minimatch": { "version": "8.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", - "dev": true, "requires": { "brace-expansion": "^2.0.1" } @@ -9206,14 +9027,12 @@ "minipass": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", - "dev": true + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==" }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -9320,7 +9139,6 @@ "version": "0.2.7", "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.2.7.tgz", "integrity": "sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg==", - "dev": true, "requires": { "debug": "^4.4.0", "fflate": "^0.8.2", @@ -9331,7 +9149,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, "requires": { "ms": "^2.1.3" } @@ -9339,16 +9156,14 @@ "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, "@tokenizer/token": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", - "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", - "dev": true + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" }, "@tootallnate/once": { "version": "1.1.2", @@ -9358,8 +9173,7 @@ "@tootallnate/quickjs-emscripten": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", - "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", - "dev": true + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==" }, "@tsconfig/node10": { "version": "1.0.9", @@ -9718,7 +9532,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, "requires": { "type-fest": "^0.21.3" }, @@ -9726,22 +9539,19 @@ "type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" } } }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -9808,7 +9618,6 @@ "version": "0.13.4", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", - "dev": true, "requires": { "tslib": "^2.0.1" } @@ -9816,8 +9625,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "at-least-node": { "version": "1.0.0", @@ -9829,7 +9637,6 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz", "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", - "dev": true, "requires": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -9840,7 +9647,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz", "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==", - "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -9859,14 +9665,12 @@ "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "basic-ftp": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", - "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", - "dev": true + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==" }, "binary-extensions": { "version": "2.2.0", @@ -9878,7 +9682,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, "requires": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -9919,7 +9722,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, "requires": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -10094,8 +9896,7 @@ "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, "check-error": { "version": "1.0.2", @@ -10128,7 +9929,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, "requires": { "restore-cursor": "^3.1.0" } @@ -10136,20 +9936,17 @@ "cli-spinners": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==" }, "cli-width": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -10159,8 +9956,7 @@ "clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" }, "cluster-key-slot": { "version": "1.1.0", @@ -10171,7 +9967,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -10179,14 +9974,12 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -10194,8 +9987,7 @@ "commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" }, "comment-parser": { "version": "1.4.1", @@ -10212,8 +10004,7 @@ "compare-versions": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-4.1.4.tgz", - "integrity": "sha512-FemMreK9xNyL8gQevsdRMrvO4lFCkQP7qbuktn1q8ndcNk1+0mz7lgE7b/sNvbhVgY4w6tMN1FDp6aADjqw2rw==", - "dev": true + "integrity": "sha512-FemMreK9xNyL8gQevsdRMrvO4lFCkQP7qbuktn1q8ndcNk1+0mz7lgE7b/sNvbhVgY4w6tMN1FDp6aADjqw2rw==" }, "concat-map": { "version": "0.0.1", @@ -10224,7 +10015,6 @@ "version": "6.5.1", "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.5.1.tgz", "integrity": "sha512-FlSwNpGjWQfRwPLXvJ/OgysbBxPkWpiVjy1042b0U7on7S7qwwMIILRj7WTN1mTgqa582bG6NFuScOoh6Zgdag==", - "dev": true, "requires": { "chalk": "^4.1.0", "date-fns": "^2.16.1", @@ -10240,7 +10030,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10250,7 +10039,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -10260,14 +10048,12 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, "requires": { "tslib": "^1.9.0" } @@ -10276,7 +10062,6 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -10284,22 +10069,19 @@ "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, "consola": { "version": "3.4.2", "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", - "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", - "dev": true + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==" }, "console.table": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/console.table/-/console.table-0.10.0.tgz", "integrity": "sha512-dPyZofqggxuvSf7WXvNjuRfnsOk1YazkVP8FdxH4tcH2c37wc79/Yl6Bhr7Lsu00KMgy2ql/qCMuNu8xctZM8g==", - "dev": true, "requires": { "easy-table": "1.1.0" } @@ -10345,14 +10127,12 @@ "data-uri-to-buffer": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", - "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", - "dev": true + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==" }, "date-fns": { "version": "2.30.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "dev": true, "requires": { "@babel/runtime": "^7.21.0" } @@ -10405,7 +10185,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, "requires": { "clone": "^1.0.2" } @@ -10436,7 +10215,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", - "dev": true, "requires": { "ast-types": "^0.13.4", "escodegen": "^2.1.0", @@ -10446,8 +10224,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "denque": { "version": "1.5.1", @@ -10594,7 +10371,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/easy-table/-/easy-table-1.1.0.tgz", "integrity": "sha512-oq33hWOSSnl2Hoh00tZWaIPi1ievrD9aFG82/IgjlycAnW9hHx5PkJiXpxPsgEE+H7BsbVQXFVFST8TEXS6/pA==", - "dev": true, "requires": { "wcwidth": ">=1.0.1" } @@ -10610,8 +10386,7 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "encoding": { "version": "0.1.13", @@ -10658,7 +10433,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, "requires": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", @@ -10675,8 +10449,7 @@ "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "escape-string-regexp": { "version": "4.0.0", @@ -10688,7 +10461,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, "requires": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -10699,8 +10471,7 @@ "estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" } } }, @@ -11034,8 +10805,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esquery": { "version": "1.6.0", @@ -11080,14 +10850,12 @@ "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, "requires": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -11098,7 +10866,6 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -11139,8 +10906,7 @@ "fast-safe-stringify": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", - "dev": true + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, "fastq": { "version": "1.8.0", @@ -11159,14 +10925,12 @@ "fflate": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" }, "figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, "requires": { "escape-string-regexp": "^1.0.5" }, @@ -11174,8 +10938,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" } } }, @@ -11192,7 +10955,6 @@ "version": "20.5.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-20.5.0.tgz", "integrity": "sha512-BfHZtG/l9iMm4Ecianu7P8HRD2tBHLtjXinm4X62XBOYzi7CYA7jyqfJzOvXHqzVrVPYqBo2/GvbARMaaJkKVg==", - "dev": true, "requires": { "@tokenizer/inflate": "^0.2.6", "strtok3": "^10.2.0", @@ -11261,8 +11023,7 @@ "follow-redirects": { "version": "1.15.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "dev": true + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==" }, "foreground-child": { "version": "2.0.0", @@ -11337,8 +11098,7 @@ "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-func-name": { "version": "2.0.0", @@ -11382,7 +11142,6 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.4.tgz", "integrity": "sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==", - "dev": true, "requires": { "basic-ftp": "^5.0.2", "data-uri-to-buffer": "^6.0.2", @@ -11393,7 +11152,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, "requires": { "ms": "^2.1.3" } @@ -11401,8 +11159,7 @@ "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, @@ -11494,8 +11251,7 @@ "graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, "grapheme-splitter": { "version": "1.0.4", @@ -11555,7 +11311,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, "requires": { "has-symbols": "^1.0.3" } @@ -11634,8 +11389,7 @@ "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "ignore": { "version": "5.2.4", @@ -11692,7 +11446,6 @@ "version": "8.2.6", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", - "dev": true, "requires": { "ansi-escapes": "^4.2.1", "chalk": "^4.1.1", @@ -11715,7 +11468,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -11724,14 +11476,12 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -11740,7 +11490,6 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -11835,8 +11584,7 @@ "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-glob": { "version": "4.0.3", @@ -11850,8 +11598,7 @@ "is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" }, "is-lambda": { "version": "1.0.1", @@ -11891,8 +11638,7 @@ "is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" }, "is-windows": { "version": "1.0.2", @@ -12025,8 +11771,7 @@ "iterare": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", - "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", - "dev": true + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==" }, "js-sdsl": { "version": "4.4.0", @@ -12109,7 +11854,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" @@ -12197,8 +11941,7 @@ "load-esm": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/load-esm/-/load-esm-1.0.2.tgz", - "integrity": "sha512-nVAvWk/jeyrWyXEAs84mpQCYccxRqgKY4OznLuJhJCa0XsPSfdOIr2zvBZEj3IHEHbX97jjscKRRV539bW0Gpw==", - "dev": true + "integrity": "sha512-nVAvWk/jeyrWyXEAs84mpQCYccxRqgKY4OznLuJhJCa0XsPSfdOIr2zvBZEj3IHEHbX97jjscKRRV539bW0Gpw==" }, "localforage": { "version": "1.10.0", @@ -12446,14 +12189,12 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "requires": { "mime-db": "1.52.0" } @@ -12461,8 +12202,7 @@ "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, "minimatch": { "version": "3.0.4", @@ -12672,8 +12412,7 @@ "mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, "nanoid": { "version": "3.3.4", @@ -12701,8 +12440,7 @@ "netmask": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", - "dev": true + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==" }, "nise": { "version": "4.0.4", @@ -12733,7 +12471,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, "requires": { "whatwg-url": "^5.0.0" } @@ -12878,7 +12615,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, "requires": { "mimic-fn": "^2.1.0" } @@ -12901,7 +12637,6 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, "requires": { "bl": "^4.1.0", "chalk": "^4.1.0", @@ -12918,7 +12653,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12927,14 +12661,12 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, "requires": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -12944,7 +12676,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -12954,8 +12685,7 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" }, "p-limit": { "version": "2.3.0", @@ -12993,7 +12723,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", - "dev": true, "requires": { "@tootallnate/quickjs-emscripten": "^0.23.0", "agent-base": "^7.1.2", @@ -13008,14 +12737,12 @@ "agent-base": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", - "dev": true + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==" }, "debug": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, "requires": { "ms": "^2.1.3" } @@ -13024,7 +12751,6 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, "requires": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -13034,7 +12760,6 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, "requires": { "agent-base": "^7.1.2", "debug": "4" @@ -13043,14 +12768,12 @@ "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "socks-proxy-agent": { "version": "8.0.5", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - "dev": true, "requires": { "agent-base": "^7.1.2", "debug": "^4.3.4", @@ -13063,7 +12786,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", - "dev": true, "requires": { "degenerator": "^5.0.0", "netmask": "^2.0.2" @@ -13150,7 +12872,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, "requires": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -13159,14 +12880,12 @@ "lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" } } }, @@ -13282,7 +13001,6 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", - "dev": true, "requires": { "agent-base": "^7.1.2", "debug": "^4.3.4", @@ -13297,14 +13015,12 @@ "agent-base": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", - "dev": true + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==" }, "debug": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, "requires": { "ms": "^2.1.3" } @@ -13313,7 +13029,6 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, "requires": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -13323,7 +13038,6 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, "requires": { "agent-base": "^7.1.2", "debug": "4" @@ -13332,20 +13046,17 @@ "lru-cache": { "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==" }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "socks-proxy-agent": { "version": "8.0.5", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - "dev": true, "requires": { "agent-base": "^7.1.2", "debug": "^4.3.4", @@ -13357,8 +13068,7 @@ "proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "punycode": { "version": "2.1.1", @@ -13398,7 +13108,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -13444,8 +13153,7 @@ "reflect-metadata": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "dev": true + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==" }, "release-zalgo": { "version": "1.0.0", @@ -13459,8 +13167,7 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-main-filename": { "version": "2.0.0", @@ -13494,7 +13201,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -13544,8 +13250,7 @@ "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" }, "run-parallel": { "version": "1.2.0", @@ -13560,7 +13265,6 @@ "version": "7.8.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "dev": true, "requires": { "tslib": "^2.1.0" } @@ -13573,8 +13277,7 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "devOptional": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "semver": { "version": "5.7.1", @@ -13659,8 +13362,7 @@ "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, "sinon": { "version": "9.2.4", @@ -13775,7 +13477,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "devOptional": true }, "source-map-support": { "version": "0.5.21", @@ -13790,8 +13492,7 @@ "spawn-command": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", - "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", - "dev": true + "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==" }, "spawn-wrap": { "version": "2.0.0", @@ -13852,7 +13553,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, "requires": { "safe-buffer": "~5.2.0" }, @@ -13860,8 +13560,7 @@ "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" } } }, @@ -13869,7 +13568,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -13880,7 +13578,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -13901,7 +13598,6 @@ "version": "10.3.1", "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.1.tgz", "integrity": "sha512-3JWEZM6mfix/GCJBBUrkA8p2Id2pBkyTkVCJKto55w080QBKZ+8R171fGrbiSp+yMO/u6F8/yUh7K4V9K+YCnw==", - "dev": true, "requires": { "@tokenizer/token": "^0.3.0" } @@ -13955,14 +13651,12 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, "requires": { "os-tmpdir": "~1.0.2" } @@ -13986,7 +13680,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.0.0.tgz", "integrity": "sha512-lbDrTLVsHhOMljPscd0yitpozq7Ga2M5Cvez5AjGg8GASBjtt6iERCAJ93yommPmz62fb45oFIXHEZ3u9bfJEA==", - "dev": true, "requires": { "@tokenizer/token": "^0.3.0", "ieee754": "^1.2.1" @@ -13995,14 +13688,12 @@ "tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" }, "ts-node": { "version": "10.9.2", @@ -14199,7 +13890,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", - "dev": true, "requires": { "@lukeed/csprng": "^1.0.0" } @@ -14207,8 +13897,7 @@ "uint8array-extras": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.4.0.tgz", - "integrity": "sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==", - "dev": true + "integrity": "sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==" }, "unique-filename": { "version": "1.1.1", @@ -14229,8 +13918,7 @@ "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" }, "uri-js": { "version": "4.2.2", @@ -14244,8 +13932,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "uuid": { "version": "3.4.0", @@ -14279,7 +13966,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, "requires": { "defaults": "^1.0.3" } @@ -14287,14 +13973,12 @@ "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, "requires": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -14379,7 +14063,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -14418,7 +14101,6 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -14432,14 +14114,12 @@ "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, "yargs-parser": { "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" } } }, diff --git a/package.json b/package.json index 4ffe4029..98ece369 100644 --- a/package.json +++ b/package.json @@ -49,10 +49,10 @@ }, "dependencies": { "@commerce-apps/core": "^1.8.0", + "@openapitools/openapi-generator-cli": "^2.20.0", "nanoid": "^3.3.4", "retry": "^0.13.1", - "tslib": "^2.4.1", - "@openapitools/openapi-generator-cli": "^2.20.0" + "tslib": "^2.4.1" }, "devDependencies": { "@commerce-apps/raml-toolkit": "file:../raml-toolkit", diff --git a/src/generate-oas.ts b/src/generate-oas.ts index 3d72f10d..e92d1a6f 100644 --- a/src/generate-oas.ts +++ b/src/generate-oas.ts @@ -35,12 +35,19 @@ function kebabToCamelCase(str: string): string { ); } +function appendVersionIfV2(name: string, version: string): string { + if (version === "V1" || version === "v1") { + return name; + } + return name + version; +} + /** * Helper function. Also contains explicit workaround for some API names. */ -export function resolveApiName(name: string): string { - if (name === "Shopper orders OAS") { - return "ShopperOrders"; +export function resolveApiName(name: string, version: string): string { + if (name === "Shopper Baskets OAS") { + return version === "v2" ? "ShopperBasketsV2" : "ShopperBasketsV1"; } if (name === "CDN API - Process APIs OAS") { return "CDNZones"; @@ -73,28 +80,23 @@ export function getAPIDetailsFromExchange(directory: string): ApiSpecDetail { exchangePath ) as download.ExchangeConfig; - // Special handling for shopper-baskets-v2 - if ( - exchangeConfig.assetId === "shopper-baskets-oas" && - exchangeConfig.apiVersion === "v2" - ) { - return { - filepath: path.join(directory, exchangeConfig.main), - filename: exchangeConfig.main, - directoryName: "ShopperBasketsV2", - name: "Shopper Baskets V2 OAS", - apiName: "ShopperBasketsV2", - }; - } - return { - filepath: path.join(directory, exchangeConfig.main), + filepath: path.join( + directory, + exchangeConfig.main.replace("-public.yaml", "-internal.yaml") + ), filename: exchangeConfig.main, directoryName: kebabToCamelCase( - exchangeConfig.assetId.replace("-oas", "") + appendVersionIfV2( + exchangeConfig.assetId.replace("-oas", ""), + exchangeConfig.apiVersion + ) ), - name: exchangeConfig.name, - apiName: resolveApiName(exchangeConfig.name), + name: + exchangeConfig.apiVersion === "v2" + ? exchangeConfig.name + " V2" + : exchangeConfig.name, + apiName: resolveApiName(exchangeConfig.name, exchangeConfig.apiVersion), }; } throw new Error(`Exchange file does not exist for ${directory}`); diff --git a/src/lib/config.ts b/src/lib/config.ts index c3c6cb4c..115a99d5 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -19,11 +19,10 @@ export const API_FAMILIES = [ "catalogs-oas", "cdn-api-process-apis-oas", "coupons-oas", - // "cors-preferences-oas", // This is included in preferences-oas. Error: diff failed: duplicate endpoint (PUT /organizations/{organizationId}/cors) found in apis/cors-preferences-oas/cors-preferences-oas/cors-preferences-oas-v1-bundled.yaml and apis/preferences-oas/cors-preferences-oas/cors-preferences-oas-v1-bundled.yaml. You may add the x-since-date extension to specify order "customers-oas", "gift-certificates-oas", - "orders-oas", // Error: failed to load base specs from glob "updateApisTmp/oldApis/**/*.yaml": failed to load "updateApisTmp/oldApis/orders-oas/orders-oas/orders-oas-v1-bundled.yaml": failed to unmarshal data: json error: invalid character 'o' looking for beginning of value, yaml error: error unmarshaling JSON: while decoding JSON: json: cannot unmarshal array into field Schema.items of type openapi3.Schema - "products-oas", // Error: diff failed: duplicate endpoint (GET /organizations/{organizationId}/products/{id}) found in apis/products-oas/products-oas/products-oas-v1-bundled.yaml and apis/products-oas/products-oas-test/products-oas-test-v1-bundled.yaml. You may add the x-since-date extension to specify order + "orders-oas", + "products-oas", "preferences-oas", "promotions-oas", "search-oas", diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 11390c33..9bf78c27 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -28,7 +28,7 @@ export async function updateApis( try { const apis = await download.search( `"${apiFamily}" category:Visibility = "External" category:"SDK Type" = "Commerce"`, - undefined, + undefined, // passing undefined here is intentional. this argument corresponds to the deployment parameter, which has been deprecated true ); await download.downloadRestApis( diff --git a/testIntegration/stagingApis/.metadata.json b/testIntegration/stagingApis/.metadata.json deleted file mode 100644 index adc8f956..00000000 --- a/testIntegration/stagingApis/.metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"shopperAuthClient":"Customer.ShopperCustomers","shopperAuthApi":"authorizeCustomer","shopperAuthDataType":"Customer","enforceCcdcId":false} diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/.metadata.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/.metadata.json deleted file mode 100644 index 6ee2c17a..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/cdn-api-process-apis/1.0.36", - "name": "CDN Zones", - "description": "Extend your eCDN beyond Business Manager configuration.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "cdn-api-process-apis", - "version": "1.0.36", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "CDN" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/cdn-zones-description.md b/testIntegration/stagingApis/cdn/cdn-api-process-apis/cdn-zones-description.md deleted file mode 100644 index 09c3e9e2..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/cdn-zones-description.md +++ /dev/null @@ -1,24 +0,0 @@ -# API Overview - -The Content Delivery Network (CDN) API is for managing the embedded CDN (eCDN) that is included with Commerce Cloud and configured with Business Manager. - -Use the API to: - -- Ensure that traffic doesn’t circumvent proxies layered in front of your eCDN. -- Accelerate the delivery of resources to users with caching, compression, and prioritization. -- Customize how users interact with resources and how requests are processed, including custom pages and routing rules. -- Provide proactive and complete application protection against new and existing exploits from bad actors. - -## Authentication & Authorization - -For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the `Authorization` header of your API request. - -The API client must also have at least one of the following OAuth scopes: `sfcc.cdn-zones` or `sfcc.cdn-zones.rw`. - -For detailed setup instructions, see the [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html) guide. - -You must include the relevant scope(s) in the client ID used to generate the token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -For detailed usage information, refer to the [CDN Zones Guides.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones.html) \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/cdnapi-process-api.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/cdnapi-process-api.raml deleted file mode 100644 index 222bd3aa..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/cdnapi-process-api.raml +++ /dev/null @@ -1,1091 +0,0 @@ -#%RAML 1.0 -title: CDN Zones - -version: v1 -# description: Provides access to Commerce Cloud Digital CDN-related functionality. -description: !include cdn-zones-description.md - -documentation: - - title: Use Cases - content: !include use-cases.md - - title: Glossary - content: !include glossary.md - -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/cdn/zones/{version} -baseUriParameters: - shortCode: - description: Region-specific merchant identifier. - example: 0dnz6oep - -mediaType: application/json - -uses: - ApiStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - - Zone: !include dataTypes/Zone.raml - WafGroup: !include dataTypes/WAFGroup.raml - WafRule: !include dataTypes/WAFRule.raml - FirewallRule: !include dataTypes/FirewallRule.raml - ErrorResponse: ApiStandards.ErrorResponse - CollectionResponseEnvelope: !include dataTypes/CollectionResponseEnvelope.raml - ItemResponseEnvelope: !include dataTypes/ItemResponseEnvelope.raml - SpeedSetting: !include dataTypes/SpeedSetting.raml - Certificate: !include dataTypes/Certificate.raml - CertificateRequest: !include dataTypes/CertificateRequest.raml - OCAPICachingToggleRequest: !include dataTypes/OCAPICachingToggleRequest.raml - CachePurgeRequest: !include dataTypes/CachePurgeRequest.raml - CachePurgeResponse: !include dataTypes/CachePurgeResponse.raml - StorefrontZoneCreateRequest: !include dataTypes/StorefrontZoneCreateRequest.raml - StorefrontZoneCreateResponse: !include dataTypes/StorefrontZoneCreateResponse.raml - CustomHostnameValidationResponse: !include dataTypes/CustomHostnameValidationResponse.raml - Hsts: !include dataTypes/Hsts.raml - SecuritySetting: !include dataTypes/SecuritySetting.raml - MRTRulesPostRequest: !include dataTypes/MRTRulesPostRequest.raml - MRTRulePatchRequest: !include dataTypes/MRTRulePatchRequest.raml - MRTRulesetPatchRequest: !include dataTypes/MRTRulesetPatchRequest.raml - MRTRulesResponse: !include dataTypes/MRTRulesResponse.raml - MRTRuleset: !include dataTypes/MRTRuleset.raml - MRTRules: !include dataTypes/MRTRules.raml - LogpushOwnershipPostRequest: !include dataTypes/LogpushOwnershipPostRequest.raml - LogpushOwnershipPostResponse: !include dataTypes/LogpushOwnershipPostResponse.raml - LogpushCreateRequest: !include dataTypes/LogpushCreateRequest.raml - LogpushResponse: !include dataTypes/LogpushResponse.raml - LogpushUpdateRequest: !include dataTypes/LogpushUpdateRequest.raml - CustomRulesPostRequest: !include dataTypes/CustomRulesPostRequest.raml - CustomRulesPatchRequest: !include dataTypes/CustomRulesPatchRequest.raml - CustomRulesPatchOrderRequest: !include dataTypes/CustomRulesPatchOrderRequest.raml - CustomRule: !include dataTypes/CustomRule.raml - RulePosition: !include dataTypes/RulePosition.raml - RateLimitingRule: !include dataTypes/RateLimitingRule.raml - RateLimitingRulesPostRequest: !include dataTypes/RateLimitingRulesPostRequest.raml - RateLimitingRulesPatchRequest: !include dataTypes/RateLimitingRulesPatchRequest.raml - WAFManagedRuleset: !include dataTypes/WAFManagedRuleset.raml - WAFManagedRulesetRequest: !include dataTypes/WAFManagedRulesetRequest.raml - WAFManagedRule: !include dataTypes/WAFManagedRule.raml - WAFManagedRuleRequest: !include dataTypes/WAFManagedRuleRequest.raml - WafPackagePatchRequest: !include dataTypes/WafPackagePatchRequest.raml - WAFRulePackage: !include dataTypes/WAFRulePackage.raml - OriginHeaderModification: !include dataTypes/OriginHeaderModification.raml - OriginHeaderModificationPutRequest: !include dataTypes/OriginHeaderModificationPutRequest.raml - MtlsCertificateRequest: !include dataTypes/MtlsCertificateRequest.raml - MtlsCertificateResponse: !include dataTypes/MtlsCertificateResponse.raml - DCVDelegationRecord: !include dataTypes/DCVDelegationRecord.raml - - ZonesEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: Zone[] - ZoneEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: Zone - WafGroupsEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: WafGroup[] - WafGroupEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: WafGroup - WafRuleEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: WafRule - WafRulesEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: WafRule[] - SpeedSettingsEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: SpeedSetting - SecuritySettingsEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: SecuritySetting - WAFRulePackageEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: WAFRulePackage - CertificateEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: Certificate - CertificatesEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: Certificate[] - CachePurgeResponseEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: CachePurgeResponse - StorefrontZoneCreateEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: StorefrontZoneCreateResponse - CustomHostnameValidationEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: CustomHostnameValidationResponse - MRTRulesResponseEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: MRTRulesResponse - LogpushEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: LogpushResponse - LogpushJobsEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: LogpushResponse[] - CustomRuleEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: CustomRule - CustomRulesEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: CustomRule[] - RateLimitingRuleEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: RateLimitingRule - RateLimitingRulesEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: RateLimitingRule[] - WAFManagedRulesetsEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: WAFManagedRuleset[] - WAFManagedRulesetEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: WAFManagedRuleset - WAFManagedRulesEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: WAFManagedRule[] - WAFManagedRuleEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: WAFManagedRule - OriginHeaderModificationEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: OriginHeaderModification - MtlsCertificateResponseEnvelope: - type: ItemResponseEnvelope - properties: - data: - type: MtlsCertificateResponse - MtlsCertificatesResponseEnvelope: - type: CollectionResponseEnvelope - properties: - data: - type: MtlsCertificateResponse[] - -traits: - hasUnauthorizedResponse: !include traits/HasUnauthorizedResponse.raml - hasForbiddenAccessResponse: !include traits/HasForbiddenAccessResponse.raml - hasInternalServerErrorResponse: !include traits/HasInternalServerErrorResponse.raml - hasResourceNotFoundResponse: !include traits/HasResourceNotFoundResponse.raml - hasBadRequestResponse: !include traits/HasBadRequestResponse.raml - hasConflictResponse: !include traits/HasConflictResponse.raml - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - - /storefront-zones: - post: - is: [hasBadRequestResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - displayName: createStorefrontZone - description: Create a new storefront zone. - body: - application/json: - type: StorefrontZoneCreateRequest - example: !include /examples/zone/storefront-zone-create-request.raml - responses: - '201': - description: Successfully created new storefront zone. - body: - application/json: - type: StorefrontZoneCreateEnvelope - example: !include /examples/zone/storefront-zone-create-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /mtls/code-upload-certificates: - get: - is: [hasBadRequestResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] - displayName: getCodeUploadCertificates - description: Returns all the mTLS certificates for the account. - responses: - '200': - description: Successfully retrieved details of the mTLS certificates requested by the - caller. - body: - application/json: - type: MtlsCertificatesResponseEnvelope - example: !include /examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - post: - is: [hasBadRequestResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - displayName: createCodeUploadCertificate - description: Set up two-factor mTLS certificates for the account and associate the staging zone code upload hostname. - body: - application/json: - type: MtlsCertificateRequest - example: !include /examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml - responses: - '201': - description: Returns information about the uploaded mTLS certificate. - body: - application/json: - type: MtlsCertificateResponseEnvelope - example: !include /examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /mtls/code-upload-certificates/{mtlsCertificateId}: - get: - is: [hasBadRequestResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] - displayName: getCodeUploadCertificate - description: Returns the mTLS certificate for the given account's mTLS certificate ID. - responses: - '200': - description: Successfully retrieved mTLS certificate information from the mTLS certificate ID requested by the caller. - body: - application/json: - type: MtlsCertificateResponseEnvelope - example: !include /examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - delete: - is: [ hasResourceNotFoundResponse ] - displayName: deleteCodeUploadCertificate - description: Removes an mTLS certificate and associated hostname. - responses: - 204: - description: Successfully deleted the mTLS certificate from the account. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/info: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse] - get: - is: [ApiStandards.OffsetPaginated: {maxLimit: 50, defaultSize: 25}, hasResourceNotFoundResponse] - displayName: getZonesInfo - description: Retrieves zone information. - responses: - '200': - description: Successfully retrieved zone information requested by the caller. - body: - application/json: - type: ZonesEnvelope - example: !include /examples/zone/zones-get-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - /zones/{zoneId}/waf/groups: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse] - get: - is: [hasResourceNotFoundResponse] - displayName: getWafGroups - description: Retrieves all WAF groups accessible to the caller. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets instead. - responses: - '200': - description: Successfully retrieved details of WAF groups that caller has access to. - body: - application/json: - type: WafGroupsEnvelope - example: !include /examples/waf/wafgroups-get-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - - /{groupId}: - put: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasBadRequestResponse] - displayName: updateWafGroup - description: Updates action or mode of a specific WAF group. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets instead. - body: - application/json: - type: WafGroup - example: !include /examples/waf/wafgroup-put-request.raml - responses: - '200': - description: Successfully updated the WAF group specified by the caller. - body: - application/json: - type: WafGroupEnvelope - example: !include /examples/waf/wafgroup-put-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - - /zones/{zoneId}/waf/rules: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse] - get: - is: [hasResourceNotFoundResponse] - displayName: getWafRules - description: Retrieves WAF rules under the waf group specified by the caller. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets instead. - queryParameters: - groupId: - displayName: GroupId - type: string - description: WAF Group that contains the WAF rules. - example: f90712123fb02287348dd34c0a282bb9 - required: false - responses: - '200': - description: Successfully retrieved WAF rules requested by the caller. - body: - application/json: - type: WafRulesEnvelope - example: !include /examples/waf/wafrules-get-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - /{ruleId}: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse] - get: - is: [hasResourceNotFoundResponse] - displayName: getWafRule - description: Retrieves details of a specific WAF rule. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets instead. - responses: - '200': - description: Successfully retrieved details of the WAF rule requested by the caller. - body: - application/json: - type: WafRuleEnvelope - example: !include /examples/waf/wafrule-get-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - put: - is: [hasBadRequestResponse] - displayName: updateWafRule - description: Updates action of a specific WAF rule. Not applicable for zones using WAFv2. For any zones created after the 24.5 release, use the endpoints for WAF managed rulesets instead. - body: - application/json: - type: WafRule - example: !include /examples/waf/wafrule-put-request.raml - responses: - '200': - description: Successfully updated the WAF rule specified by the caller. - body: - application/json: - type: WafRuleEnvelope - example: !include /examples/waf/wafrule-put-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - - /zones/{zoneId}/speed-settings: - is: [hasResourceNotFoundResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse] - get: - displayName: getSpeedSettings - description: Retrieve speed settings for a zone. - responses: - '200': - description: Successfully returned back speed settings requested by the caller. - body: - application/json: - type: SpeedSettingsEnvelope - example: !include /examples/zone/speed-settings-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - patch: - is: [hasBadRequestResponse] - displayName: updateSpeedSettings - description: Update speed settings for a zone. - - body: - application/json: - type: SpeedSetting - examples: !include /examples/zone/speed-settings-patch-request.raml - - responses: - '200': - description: Successfully updated speed settings requested by the caller. - body: - application/json: - type: SpeedSettingsEnvelope - examples: - response : !include /examples/zone/speed-settings-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/security-settings: - is: [hasBadRequestResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] - get: - displayName: getSecuritySettings - description: Retrieve security settings for a zone. - responses: - '200': - description: Successfully returned security settings for zone. - body: - application/json: - type: SecuritySettingsEnvelope - example: !include /examples/zone/security-settings-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - patch: - displayName: updateSecuritySettings - description: Update security settings for a zone. - body: - application/json: - type: SecuritySetting - example: !include /examples/zone/security-settings-update-request.raml - responses: - '200': - description: Successfully updated security settings. - body: - application/json: - type: SecuritySettingsEnvelope - example: !include /examples/zone/security-settings-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/cachepurge: - post: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - displayName: cachePurge - description: Request to purge the cache for the host given in the request body - body: - application/json: - type: CachePurgeRequest - responses: - '200': - description: Returns completed operationId statuses that represent the rule list operations the server processed. - body: - application/json: - type: CachePurgeResponseEnvelope - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/ocapicachingpagerule: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - patch: - is: [ hasBadRequestResponse ] - displayName: toggleOcapiCachingPageRule - description: Request to enable or disable OCAPI Caching page rule. - body: - application/json: - type: OCAPICachingToggleRequest - responses: - '200': - description: Returns the current state of OCAPI Caching page rule. - body: - application/json: - type: OCAPICachingToggleRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/certificates: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse] - get: - is: [ApiStandards.OffsetPaginated: {maxLimit: 50, defaultSize: 25}, hasResourceNotFoundResponse] - displayName: getCertificates - description: Retrieves a list of certificates information for a zone. - responses: - '200': - description: Successfully retrieved list of certificates for the specified zone. - body: - application/json: - type: CertificatesEnvelope - examples: - Proxy Zone Certificates Response: !include /examples/zone/certificates-get-response1.raml - Legacy Zone Certificates Response: !include /examples/zone/certificates-get-response2.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - post: - is: [hasBadRequestResponse, hasConflictResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - displayName: addCertificateForZone - description: Add Certificates For Zone - body: - type: CertificateRequest - examples: !include /examples/zone/certificate-post-request.raml - responses: - '201': - description: Returns back information about added certificate. - body: - application/json: - type: CertificateEnvelope - examples: - Self-Managed Certificate Response: !include /examples/zone/certificate-post-response1.raml - eCDN-Managed Certificate Response: !include /examples/zone/certificate-post-response2.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /{certificateId}: - is: [ hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse ] - delete: - is: [ hasResourceNotFoundResponse ] - displayName: deleteCertificate - description: This action deletes a custom hostname and the certificate associated with it. Note that a valid certificate is necessary for a site to remain operational. DELETING AN IN-USE CERTIFICATE MAY RESULT IN DOWNTIME. - responses: - 204: - description: Successfully deleted the custom hostname and certificate associated with it. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - patch: - is: [hasBadRequestResponse] - displayName: updateCertificate - description: Updates the certificate for a given certificateId for a particular zone. - body: - application/json: - type: CertificateRequest - examples: !include /examples/zone/certificate-update-request.raml - responses: - '200': - description: Successfully updated speed settings requested by the caller. - body: - application/json: - type: CertificateEnvelope - examples: - Self-Managed Certificate Response: !include /examples/zone/certificate-update-response1.raml - eCDN-Managed Certificate Response: !include /examples/zone/certificate-update-response2.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /custom-hostnames/{customHostnameId}: - patch: - is: [ hasBadRequestResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse ] - displayName: validateCustomHostname - description: Trigger the validation of a custom hostname. - responses: - '200': - description: Trigger the custom hostname validation process. - body: - application/json: - type: CustomHostnameValidationEnvelope - examples: - response : !include /examples/zone/custom-hostnames-patch-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/mrtrules: - is: [hasResourceNotFoundResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] - post: - is: [hasBadRequestResponse] - displayName: createMrtRules - description: Create MRT rules to route to a new MRT environment. - body: - application/json: - type: MRTRulesPostRequest - examples: - Single Hostname Request: !include /examples/mrtrules/mrt-rules-post-request-single-hostname.raml - Multiple Hostnames Request: !include /examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml - responses: - 201: - description: Create MRT rules to route to a new MRT environment. - body: - application/json: - type: MRTRulesResponseEnvelope - examples: - Single Hostname Response: !include /examples/mrtrules/mrt-rules-post-response-single-hostname.raml - Multiple Hostnames Response: !include /examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - patch: - is: [hasBadRequestResponse] - displayName: updateMrtRuleset - description: Update the MRT environment hostname or add MRT rules to route to an existing MRT environment. - body: - application/json: - type: MRTRulesetPatchRequest - examples: - Update MRT Hostname Request: !include /examples/mrtrules/mrt-ruleset-patch-request-update-hostname.raml - Add Rules for Existing MRT Hostname Request: !include /examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml - responses: - 200: - description: Update the MRT environment hostname or add MRT rules to route to an existing MRT environment. - body: - application/json: - type: MRTRulesResponseEnvelope - examples: - Update MRT Hostname Response: !include /examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml - Add Rules for Existing MRT Hostname Response: !include /examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - get: - is: [hasBadRequestResponse] - displayName: getMrtRules - description: Get all MRT rules. - responses: - 200: - description: Get all MRT rules. - body: - application/json: - type: MRTRulesResponseEnvelope - example: !include /examples/mrtrules/mrt-rules-get-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - /{rulesetId}: - delete: - displayName: deleteMrtRuleset - description: Delete the MRT ruleset and all rules within the ruleset. - responses: - 204: - description: Delete the MRT ruleset and all rules within the ruleset. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /rules/{ruleId}: - is: [hasResourceNotFoundResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] - delete: - displayName: deleteMrtRule - description: Delete an MRT rule. - responses: - 204: - description: Delete an MRT rule. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - patch: - is: [hasBadRequestResponse] - displayName: updateMrtRule - description: Update an MRT rule. - body: - application/json: - type: MRTRulePatchRequest - example: !include /examples/mrtrules/mrt-rule-patch-request.raml - responses: - 200: - description: Update an MRT rule. - body: - application/json: - type: MRTRulesResponseEnvelope - example: !include /examples/mrtrules/mrt-rule-patch-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/logpush/ownership: - is: [ hasResourceNotFoundResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse ] - post: - is: [ hasBadRequestResponse ] - displayName: createLogpushOwnership - description: Create Logpush ownership token file. - body: - application/json: - type: LogpushOwnershipPostRequest - example: !include /examples/logpush/logpush-ownership-post-request.raml - responses: - '201': - description: Creates new Logpush Ownership token. - body: - application/json: - type: LogpushOwnershipPostResponse - example: !include /examples/logpush/logpush-ownership-post-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/logpush/jobs: - is: [ hasResourceNotFoundResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse ] - post: - is: [ hasBadRequestResponse ] - displayName: createLogpushJob - description: Create Logpush job. - body: - application/json: - type: LogpushCreateRequest - examples: - request1 : !include /examples/logpush/logpush-create-request1.raml - request2 : !include /examples/logpush/logpush-create-request2.raml - responses: - '201': - description: Returns job detail after successful Logpush job creation. - body: - application/json: - type: LogpushEnvelope - examples: - response1 : !include /examples/logpush/logpush-create-response1.raml - response2 : !include /examples/logpush/logpush-create-response2.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - get: - is: [ hasBadRequestResponse ] - displayName: listLogpushJob - description: List Logpush job. - responses: - '200': - description: Returns all jobs with detail in zone. - body: - application/json: - type: LogpushJobsEnvelope - example: !include /examples/logpush/logpush-get-list-job.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - /{jobId}: - is: [ hasResourceNotFoundResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse ] - get: - is: [ hasBadRequestResponse ] - displayName: getLogpushJob - description: Get Logpush job details. - responses: - '200': - description: Returns job detail from given Logpush job ID. - body: - application/json: - type: LogpushEnvelope - examples: - response1: !include /examples/logpush/logpush-get-job-by-id1.raml - response2: !include /examples/logpush/logpush-get-job-by-id2.raml - response3: !include /examples/logpush/logpush-get-job-by-id3.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - put: - is: [ hasResourceNotFoundResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse ] - displayName: updateLogpushJob - description: Update Logpush job. - body: - application/json: - type: LogpushUpdateRequest - example: !include /examples/logpush/logpush-update-request.raml - responses: - '200': - description: Returns job detail after successful logpush is enabled or disabled. - body: - application/json: - type: LogpushEnvelope - example: !include /examples/logpush/logpush-update-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - delete: - displayName: deleteLogpushJob - description: Delete Logpush job by job ID. - responses: - 204: - description: Delete Logpush job by job ID. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/firewall/waf/packages/owasp: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - get: - is: [hasBadRequestResponse] - displayName: getOwaspWafPackage - description: Get a OWASP ModSecurity Core Rule Set. - responses: - '200': - description: Successfully retrieved a OWASP ModSecurity Core Rule Set - body: - application/json: - type: WAFRulePackageEnvelope - examples: - response : !include /examples/wafpackages/wafpackages_get_example.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - patch: - is: [ hasBadRequestResponse ] - displayName: patchOwaspWafPackage - description: Patch a OWASP ModSecurity Core Rule Set. - body: - application/json: - type: WafPackagePatchRequest - examples: !include /examples/wafpackages/wafpackages_patch_example.raml - responses: - '200': - description: Successfully patched a OWASP ModSecurity Core Rule Set - body: - application/json: - type: WAFRulePackageEnvelope - examples: - response: !include /examples/wafpackages/wafpackages_get_example.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/firewall-custom/rules: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - post: - is: [hasBadRequestResponse] - displayName: createCustomRule - description: Creates a custom rule. - body: - application/json: - type: CustomRulesPostRequest - example: !include /examples/customrules/custom-rules-post-request.raml - responses: - '201': - description: Successfully created the custom rule requested by the caller. - body: - application/json: - type: CustomRuleEnvelope - example: !include /examples/customrules/custom-rule-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - get: - is: [ApiStandards.OffsetPaginated: {maxLimit: 50, defaultSize: 25}] - displayName: getCustomRules - description: Retrieves existing custom rules. - responses: - '200': - description: Successfully returned back the list of custom rules requested by the caller. - body: - application/json: - type: CustomRulesEnvelope - example: !include /examples/customrules/custom-rules-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - patch: - is: [hasBadRequestResponse] - displayName: updateOrderOfCustomRules - description: Updates the order of all existing custom rules. - body: - application/json: - type: CustomRulesPatchOrderRequest - responses: - '200': - description: Successfully updated the order of existing custom rules as requested by the caller. - body: - application/json: - type: CustomRulesEnvelope - example: !include /examples/customrules/custom-rules-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /{ruleId}: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - get: - displayName: getCustomRule - description: Retrieves a specific custom rule. - responses: - '200': - description: Successfully returned back the custom rule requested by the caller. - body: - application/json: - type: CustomRuleEnvelope - example: !include /examples/customrules/custom-rule-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - patch: - is: [hasBadRequestResponse] - displayName: updateCustomRule - description: Updates a specific custom rule. - body: - application/json: - type: CustomRulesPatchRequest - responses: - '200': - description: Successfully updated the custom rule requested by the caller. - body: - application/json: - type: CustomRuleEnvelope - example: !include /examples/customrules/custom-rule-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - delete: - displayName: deleteCustomRule - description: Deletes a specific custom rule. - responses: - '204': - description: Successfully deleted the custom rule requested by the caller. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/rate-limiting/rules: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - post: - is: [hasBadRequestResponse] - displayName: createRateLimitingRule - description: Creates a rate limiting rule. - body: - application/json: - type: RateLimitingRulesPostRequest - example: !include /examples/ratelimitingrules/rate-limiting-rules-post-request.raml - responses: - '201': - description: Successfully created the rate limiting rule requested by the caller. - body: - application/json: - type: RateLimitingRuleEnvelope - example: !include /examples/ratelimitingrules/rate-limiting-rule-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - get: - displayName: getRateLimitingRules - description: Retrieves existing rate limiting rules. - responses: - '200': - description: Successfully returned back the list of rate limiting rules requested by the caller. - body: - application/json: - type: RateLimitingRulesEnvelope - example: !include /examples/ratelimitingrules/rate-limiting-rules-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - /{ruleId}: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - get: - displayName: getRateLimitingRule - description: Retrieves a specific rate limiting rule. - responses: - '200': - description: Successfully returned back the rate limiting rule requested by the caller. - body: - application/json: - type: RateLimitingRuleEnvelope - example: !include /examples/ratelimitingrules/rate-limiting-rule-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - patch: - is: [hasBadRequestResponse] - displayName: updateRateLimitingRule - description: Updates a specific rate limiting rule. - body: - application/json: - type: RateLimitingRulesPatchRequest - responses: - '200': - description: Successfully updated the rate limiting rule requested by the caller. - body: - application/json: - type: RateLimitingRuleEnvelope - example: !include /examples/ratelimitingrules/rate-limiting-rule-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - delete: - displayName: deleteRateLimitingRule - description: Deletes a specific rate limiting rule. - responses: - '204': - description: Successfully deleted the rate limiting rule requested by the caller. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/firewall-managed/rulesets: - is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - get: - displayName: getWafManagedRulesets - description: Retrieves WAFv2 managed rulesets. - responses: - '200': - description: Successfully returned the list of WAF managed rulesets. - body: - application/json: - type: WAFManagedRulesetsEnvelope - example: !include /examples/wafmanagedrulesets/waf-managed-rulesets-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - /{rulesetId}: - is: [hasBadRequestResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - patch: - displayName: updateWafManagedRuleset - description: Updates WAFv2 managed ruleset. - body: - application/json: - type: WAFManagedRulesetRequest - example: !include /examples/wafmanagedrulesets/waf-managed-rulesets-update-request.raml - responses: - '200': - description: Successfully returned the updated WAF managed rulesets. - body: - application/json: - type: WAFManagedRulesetEnvelope - example: !include /examples/wafmanagedrulesets/waf-managed-rulesets-update-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /rules: - get: - displayName: getWafManagedRulesInRuleset - description: Retrieves all rules in the specified WAFv2 managed ruleset. - responses: - '200': - description: Successfully returned the rules in the WAFv2 managed ruleset. - body: - application/json: - type: WAFManagedRulesEnvelope - example: !include /examples/wafmanagedrulesets/waf-managed-rules-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - /{ruleId}: - patch: - displayName: updateWafManagedRuleInRuleset - description: Updates a WAF managed rule in the specified WAFv2 managed ruleset. - body: - application/json: - type: WAFManagedRuleRequest - example: !include /examples/wafmanagedrulesets/waf-managed-rules-update-request.raml - responses: - '200': - description: Successfully returned the updated WAF managed rule. - body: - application/json: - type: WAFManagedRuleEnvelope - example: !include /examples/wafmanagedrulesets/waf-managed-rules-update-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/firewall-managed/migration: - is: [hasBadRequestResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] - put: - displayName: migrateZoneToWafV2 - description: Migrates a zone to WAFv2. Only applicable for existing zones using WAFv1. - responses: - '200': - description: Successfully migrated the zone to WAFv2 and returned the updated WAF managed rulesets. - body: - application/json: - type: WAFManagedRulesetsEnvelope - example: !include /examples/wafmanagedrulesets/waf-managed-rulesets-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - /zones/{zoneId}/origin-header-modification/{type}: - is: [hasResourceNotFoundResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] - put: - is: [hasBadRequestResponse] - displayName: upsertOriginHeaderModification - description: Upsert origin header modification. Only the `mrt` type is supported. - body: - application/json: - type: OriginHeaderModificationPutRequest - example: !include /examples/originheadermodification/mrt-put-request.raml - responses: - 201: - description: Successfully created the origin header modification. - body: - application/json: - type: OriginHeaderModificationEnvelope - example: !include /examples/originheadermodification/mrt-put-create-response.raml - 200: - description: Successfully updated the origin header modification. - body: - application/json: - type: OriginHeaderModificationEnvelope - example: !include /examples/originheadermodification/mrt-put-update-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - get: - is: [hasBadRequestResponse] - displayName: getOriginHeaderModification - description: Get origin header modification associated with a zone. Only the `mrt` type is supported. - responses: - 200: - description: Successfully returned the origin header modification associated with a zone. - body: - application/json: - type: OriginHeaderModificationEnvelope - example: !include /examples/originheadermodification/mrt-get-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } - delete: - displayName: deleteOriginHeaderModification - description: Delete the origin header modification associated with a zone. Only the `mrt` type is supported. - responses: - 204: - description: Successfully deleted the origin header modification associated with a zone. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } - uriParameters: - type: - description: The type of origin header modification. Only the `mrt` type is supported. - type: string - example: mrt diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/cdnzones-description.md b/testIntegration/stagingApis/cdn/cdn-api-process-apis/cdnzones-description.md deleted file mode 100644 index abf7c3f8..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/cdnzones-description.md +++ /dev/null @@ -1 +0,0 @@ -Provides access to Commerce Cloud Digital CDN-related functionality. \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CachePurgeRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CachePurgeRequest.raml deleted file mode 100644 index 64484187..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CachePurgeRequest.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType -type: object -description: Request for doing a cache purge -properties: - path: - type: string - description: Path for clearing the cache. - example: www.sfcc-ecdn-test5.net/dw/shop/v21_9/products \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CachePurgeResponse.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CachePurgeResponse.raml deleted file mode 100644 index 567d1c02..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CachePurgeResponse.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType -type: object -description: Response from a cache purge request -properties: - cachePurged: - type: boolean - description: The name of the list. - example: false - details: - type: string - description: Details of errors if any. - example: "1084 : Unable to purge ''." \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/Certificate.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/Certificate.raml deleted file mode 100644 index 3e81dc71..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/Certificate.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 DataType -description: The certificate information -type: object -properties: - certificateId: - description: Id generated by CDN provider for the certificate. - type: string - pattern: ([a-f0-9]{8}(-[a-f0-9]{4}){4}[a-f0-9]{8}) - hosts: - description: List of hosts the certificate applies to. - type: string[] - required: false - expiresOn: - description: Date of expiration for the certificate. - type: datetime - required: false - uploadedOn: - description: Date the certificate was uploaded. - type: datetime - required: false - issuer: - description: The certificate authority that issued the certificate. - type: string - required: false - signature: - description: The type of hash used for the certificate. - type: string - required: false - status: - description: Current status of the certificate. - type: string - enum: [ACTIVE, EXPIRED, DELETED, PENDING, INITIALIZING, PENDING_VALIDATION, PENDING_ISSUANCE, PENDING_DEPLOYMENT, PENDING_DELETION] - minTlsVersion: - type: string - description: Minimum TLS Version only allows HTTPS connections from visitors that support the selected TLS protocol version or newer. - required: false - certificateType: - description: Indicates certificate is custom cert uploaded by customer or automatic renewal certificate by eCDN. - enum: [custom, automatic, custom_legacy] - type: string - certificateAuthority: - description: Indicates certificate issuer for automatic renewal certificate by eCDN. - type: string - enum: [google, lets_encrypt, digicert] - required: false - certificateValidation: - description: Indicates certificate validation type for automatic renewal certificate by eCDN. - type: string - enum: [http, txt] - required: false - certificateVerificationTXTName: - description: eCDN automatic renewal certificate verification txt name. - type: string - required: false - certificateVerificationTXTValue: - description: eCDN automatic renewal certificate verification txt value. - type: string - required: false - certificateVerificationStatus: - description: Current status of certificate verification. - type: string - enum: [ACTIVE, EXPIRED, PENDING, INITIALIZING, PENDING_VALIDATION, PENDING_ISSUANCE, PENDING_DEPLOYMENT] - required: false - wildcardCertificateVerificationTXTName: - description: eCDN automatic renewal certificate verification txt name. - type: string - required: false - wildcardCertificateVerificationTXTValue: - description: eCDN automatic renewal certificate verification txt value. - type: string - required: false - wildcardCertificateVerificationStatus: - description: Current status of certificate verification. - type: string - enum: [ACTIVE, EXPIRED, PENDING, INITIALIZING, PENDING_VALIDATION, PENDING_ISSUANCE, PENDING_DEPLOYMENT] - required: false - customHostnameVerificationTXTName: - description: Custom Hostname verification txt name. - type: string - required: false - customHostnameVerificationTXTValue: - description: Custom Hostname verification txt value. - type: string - required: false - customHostnameId: - description: Custom hostname associated with the zone - type: string - required: false - customHostname: - description: Custom hostname associated with the zone - type: string - required: false - customHostnameStatus: - description: Current status of custom hostname validation. - type: string - enum: [ACTIVE, EXPIRED, DELETED, PENDING, INITIALIZING, PENDING_VALIDATION, PENDING_ISSUANCE, PENDING_DEPLOYMENT, PENDING_DELETION, MOVED] - required: false - dcvDelegationRecords: - description: eCDN automatic renewal certificate DCV delegation records - type: array - items: - type: DCVDelegationRecord - required: false diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CertificateRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CertificateRequest.raml deleted file mode 100644 index 398d6f38..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CertificateRequest.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 DataType -description: Certificate request information -type: object -properties: - hostname: - description: Hostname that certificate needs to be applied to. - type: string - bundleMethod: - description: Bundle method of the custom certificate chain for verification. - type: string - required: false - certificateType: - description: Indicates certificate is custom or automatic certificate renewal by eCDN. Optional field, if nothing specified the default value is custom. Valid values are custom or automatic. - type: string - required: false - certificate: - description: Public key of the custom certificate. Required if the certificateType value is custom. - type: string - required: false - privateKey: - description: Private key associated with the custom certificate. Required if the `certificateType` value is custom. - type: string - required: false - certificateAuthority: - description: Certificate authority only for automatic certificate renewal by eCDN. Required if the `certificateType` value is automatic. Valid values are `google` or `lets_encrypt`. - type: string - required: false - certificateValidation: - description: Certificate validation type is optional only for `certificateType` automatic, default value is `http`. Valid values are `http` or `txt`. - type: string - required: false - wildcardHostname: - description: Set to true for a wildcard custom hostname. - type: boolean - required: false diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CollectionResponseEnvelope.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CollectionResponseEnvelope.raml deleted file mode 100644 index 063ee7a7..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CollectionResponseEnvelope.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 DataType - -usage: Defines a status response with entity as defined in [response envelopes](https://salesforce.quip.com/pIbZA1gpxDGS#DCRACAzhyEy), - for responses with entities consider `response-envelope.raml`. - -properties: - data: - description: The result of the resources requested by the caller. - type: array - items: any - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomHostnameValidationResponse.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomHostnameValidationResponse.raml deleted file mode 100644 index 74cbada2..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomHostnameValidationResponse.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 DataType - -description: Custom hostname validation information. -type: object -properties: - customHostnameId: - description: Identifier generated by the CDN provider for the custom hostname. - type: string - example: a439eb1f-5e71-4544-bb29-54d18ax62277 - customHostname: - description: Name of the custom hostname - type: string - example: hello.world.example.net - customHostnameVerificationTXTName: - description: Custom hostname verification txt name. - type: string - customHostnameVerificationTXTValue: - description: Custom hostname verification txt value. - type: string - customHostnameStatus: - description: Current status of the custom hostname. - type: string - enum: [PENDING, ACTIVE, MOVED, DELETED] - example: ACTIVE diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomRule.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomRule.raml deleted file mode 100644 index f3439bcc..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomRule.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 DataType -description: A custom rule. -type: object -properties: - ruleId: - description: The ID of the custom rule. - type: string - example: 2c0fc9fa937b11eaa1b71c4d701ab86e - description: - description: The description of the custom rule. - type: string - example: Block traffic for malformed URL requests. - expression: - type: string - description: The expression that determines the custom rule's behavior. - example: (http.request.uri.path matches \"^/path1/.*\") - actions: - description: The action(s) applied by the custom rule. - type: string[] - example: ["block"] - lastUpdated: - description: Date when the custom rule was last updated. - type: datetime - example: 2022-01-01T05:20:00Z - enabled: - description: Whether or not the custom rule is enabled. - type: boolean - example: true \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPatchOrderRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPatchOrderRequest.raml deleted file mode 100644 index c2952843..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPatchOrderRequest.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType -description: Update the order of all existing custom rules. -type: object -properties: - ruleIds: - description: An array of ruleIds representing the new order of custom rules. - type: string[] - example: ["ffffe61cf25e4ec49c34b029ff3060f7", "2c0fc9fa937b11eaa1b71c4d701ab86e"] \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPatchRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPatchRequest.raml deleted file mode 100644 index 758f2c3c..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPatchRequest.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 DataType -description: Update a custom rule. -type: object -properties: - description: - description: A description of the custom rule. - type: string - example: Block traffic for malformed URL requests - required: false - expression: - description: The expression that determines the custom rule's behavior. - type: string - example: (http.request.uri.path matches \"^/path1/.*\") - required: false - actions: - description: The action(s) applied by the custom rule. - type: string[] - example: ["block"] - required: false - enabled: - description: Whether or not the custom rule is enabled. - type: boolean - example: true - required: false - position: - description: Used to specify the position in the ruleset at which to insert the custom rule. - type: RulePosition - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPostRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPostRequest.raml deleted file mode 100644 index cadd4007..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CustomRulesPostRequest.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 DataType -description: Create a custom rule. -type: object -properties: - description: - description: A description of the custom rule. - type: string - example: Block traffic for malformed URL requests - expression: - description: The expression that determines the custom rule's behavior. - type: string - example: (http.request.uri.path matches \"^/path1/.*\") - actions: - description: The action(s) applied by the custom rule. - type: string[] - example: ["block"] - enabled: - description: Whether or not the custom rule is enabled. - type: boolean - example: true - required: false - position: - description: Used to specify the position in the ruleset at which to insert the custom rule. - type: RulePosition - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/DCVDelegationRecord.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/DCVDelegationRecord.raml deleted file mode 100644 index 8d902a9e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/DCVDelegationRecord.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType -description: eCDN automatic renewal certificate DCV delegation records. -type: object -properties: - dcvCname: - description: DNS CNAME for Domain Control Validation. - type: string - required: false - dcvCnameValue: - description: DNS CNAME value for Domain Control Validation. - type: string - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/FirewallRule.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/FirewallRule.raml deleted file mode 100644 index b6678c01..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/FirewallRule.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 DataType -properties: - firewallruleId?: - type: string - maxLength: 100 - example: 295a8932ghnml74b286t15 - zoneId: - type: string - maxLength: 100 - description: Identity of the zone the WAF group belongs to. - type: - type: string - enum: ["ip", "country", "asn"] - description: Type of the firewall rule - example: ip - action: - type: string - enum: ["blocklist", "allowlist"] - description: The action applied by the firewall rule - example: blocklist - values: - type: string[] - description: Values of the type specified. IPs can be individual IPs or CIDR blocks. For countries use 2 letter ISO 3166 country codes https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes - -examples: - example1: - firewallruleId: 321at3d0254n46ht10kl10ct20 - zoneId: example1-zone-Id - type: country - action: allowlist - values: ["US","JP"] - example2: - firewallruleId: 537at3d0254p46ht2fkl79cb13 - zoneId: example2-zone-Id - type: ip - action: blocklist - values: ["127.0.0.1","192.168.0.0/16"] - example3: - firewallruleId: 987at7d0695p46ht2fkl79cb51 - zoneId: example2-zone-Id - type: asn - action: blocklist - values: ["12345","78945"] diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/Hsts.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/Hsts.raml deleted file mode 100644 index f5082733..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/Hsts.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 DataType -description: The security header for a zone. -type: object -properties: - enabled: - description: Enable strict transport security. - type: boolean - required: false - includeSubdomains: - type: boolean - description: Include all subdomains for strict transport security. - required: false - maxAge: - description: Max age in seconds of the strict transport security. - type: number - required: false - preload: - description: Preload any URLs that are included in the response headers. - type: boolean - required: false diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/ItemResponseEnvelope.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/ItemResponseEnvelope.raml deleted file mode 100644 index e394d332..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/ItemResponseEnvelope.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 DataType - -usage: Defines a status response with entity as defined in [response envelopes](https://salesforce.quip.com/pIbZA1gpxDGS#DCRACAzhyEy), - for responses with entities consider `response-envelope.raml`. - -properties: - data: - description: The result of the resource requested by the caller. - type: object - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushCreateRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushCreateRequest.raml deleted file mode 100644 index 33808c89..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushCreateRequest.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 DataType -description: Request for create Logpush job. -type: object -properties: - destinationPath: - description: Uniquely identifies s3 bucket for logs. Additional configuration parameters like region can be included. The string {DATE} in the URL path to separate logs into daily subdirectories; for example `s3://customer-bucket/logs/{DATE}?region=us-east-1&sse=AES256` The name of the directory will be replaced with the date in YYYYMMDD format (e.g. 20220215) when the logs are stored. - type: string - example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 - required: true - name: - description: Logpush job name; the name cannot be changed after the job is created. - pattern: ^[a-zA-Z0-9\-\.]*$ - type: string - example: my-logpush-job - required: true - filter: - description: Filter provides a way to customize which logs you want to receive. Filters are added as escaped JSON strings formatted. Default will include all logs. - type: string - required: false - logFields: - description: List of log fields. Depending on the type of log, the list of fields that you would like to see in the logs may vary. - type: array - items: string - example: ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"] - required: true - ownershipChallengeToken: - description: Ownership token to proves the ownership of the destinationPath. - type: string - example: abc00000000000000000000 - required: true - logType: - description: Type of logs. Available log types are `http_requests` and `firewall_events`. - type: string - enum: ["http_requests", "firewall_events"] - example: http_requests - required: true diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushOwnershipPostRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushOwnershipPostRequest.raml deleted file mode 100644 index 95bea90a..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushOwnershipPostRequest.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType -description: POST request for creating new Logpush Ownership. -type: object -properties: - destinationPath: - description: Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included. You can use the special string {DATE} in the URL path to separate logs into daily subdirectories; for example s3://customer-bucket/logs/{DATE}?region=us-east-1&sse=AES256. The name of the directory will be replaced with the date in YYYYMMDD format (e.g. 20220215) when the logs are stored. - type: string - example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 - required: true \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushOwnershipPostResponse.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushOwnershipPostResponse.raml deleted file mode 100644 index f29eaf0a..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushOwnershipPostResponse.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 DataType -description: POST response for created new Logpush Ownership. -type: object -properties: - data: - description: The customer's new Logpush Ownership. - type: object - properties: - destinationPath: - description: Destination where logs will be sent (S3 bucket only). - type: string - example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 - fileName: - description: File path where the ownership challenge file is written. - type: string - example: site-name/20230101/ownership-challenge-d12345678.txt \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushResponse.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushResponse.raml deleted file mode 100644 index b90d9a61..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushResponse.raml +++ /dev/null @@ -1,60 +0,0 @@ -#%RAML 1.0 DataType -description: Logpush job response -type: object -properties: - jobId: - description: Unique ID of the job. - type: integer - example: 123456 - required: false - name: - description: Logpush job name; the name cannot be changed after the job is created. - type: string - example: my-logpush-job - required: false - logType: - description: Type of logs; available log types are `http_requests` and `firewall_events`. - type: string - enum: ["http_requests", "firewall_events"] - example: http_requests - required: false - filter: - description: Filter provides a way to customize which logs you want to receive. Filters are added as escaped JSON strings formatted. If the filter is not displayed, it indicates that all logs should be included. - type: string - required: false - logFields: - description: List of log fields. Depending on the type of log, the list of fields that you would like to see in the logs may vary. - type: array - items: string - example: ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"] - required: false - destinationPath: - description: Uniquely identifies s3 bucket for logs. - type: string - example: s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256 - required: false - enabled: - description: Flag that indicates if the job is enabled or disabled. - type: boolean - example: false - required: false - lastComplete: - description: The last time that the log has been successfully transmitted to the destination. - type: datetime - example: 2023-01-02T00:00:00Z - required: false - lastError: - description: The last time the job failed. If empty, the job has either never failed or has run successfully at least once since the last failure. - type: datetime - example: 2023-01-01T10:00:00Z - required: false - errorMessage: - description: Provide details for the last failure message. If this field is empty, it indicates that the job successfully transmitted logs to the destination. - type: string - example: no permissions to write to destination bucket - required: false - createdOn: - description: Job creation time. - type: datetime - example: 2023-01-01T00:00:27Z - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushUpdateRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushUpdateRequest.raml deleted file mode 100644 index 18d97360..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/LogpushUpdateRequest.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 DataType -description: Request for update Logpush job -type: object -properties: - enabled: - description: Flag that indicates if the job is enabled or disabled. - type: boolean - example: true - required: false - filter: - description: Provides customized selection for logs you want to receive. Filters are added as escaped, formatted JSON strings. By default, all logs are included. - type: string - example: "{\"where\":{\"key\":\"ClientRequestPath\",\"operator\":\"contains\",\"value\":\"/example-path\"}}" - required: false - logFields: - description: List of log fields. Depending on the log type, the list of fields that you can specify to be displayed in the log might vary. - type: array - items: string - example: ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"] - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulePatchRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulePatchRequest.raml deleted file mode 100644 index a805d31e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulePatchRequest.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 DataType -description: PATCH request for updating an MRT rule. You may use the PATCH request to update the rule's expression and description as well as disable/enable the rule. -type: object -properties: - enabled: - description: Whether or not the rule is enabled. - type: boolean - example: true - required: false - expression: - description: The expression that determines the MRT rule's routing behavior. - type: string - example: (http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\")) - required: false - description: - description: The description of the rule. Optional. - type: string - example: Phased rollout rule for dev-customer.salesforce.com - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml deleted file mode 100644 index 1aeb9b43..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 DataType -description: A rule in an MRT ruleset. -type: object -properties: - id: - description: The ID of the rule. - type: string - example: 12345678901234asdfasfasdf - expression: - description: The expression that determines the rule's routing behavior. - type: string - example: (http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\")) - description: - description: The description of the rule. - type: string - example: Phased rollout rule for dev-customer.salesforce.com - required: false - lastUpdated: - description: Date when the rule was last updated. - type: datetime - example: 2022-01-01T05:20:00Z - ref: - description: The ref of the rule. - type: string - example: 12345678901234asdfasfasdf1234567 - enabled: - description: Whether or not the rule is enabled. - type: boolean - example: true - mrtHostname: - description: Managed runtime hostname this rule targets. - type: string - example: customer-pwa-hybrid.mobify-storefront.com \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesPostRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesPostRequest.raml deleted file mode 100644 index 3ae32096..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesPostRequest.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 DataType -description: POST request for creating MRT rules. MRT rules are a way to route certain storefront requests to the managed runtime instance. -type: object -properties: - mrtHostname: - description: The customer's MRT instance hostname. - type: string - example: customer-react-projec-production.mobify-storefront.com - expressions: - description: An array containing the expressions for each MRT rule. - type: string[] - example: ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\"))"] - descriptions: - description: An array containing the descriptions for each MRT rule. The number of descriptions provided must match the number of expressions provided. Optional. - type: string[] - example: ["Phased rollout rule for dev-customer.salesforce.com"] - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesResponse.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesResponse.raml deleted file mode 100644 index 9dc46824..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesResponse.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: Response for MRT rules. MRT rules are a way to route certain storefront requests to the managed runtime instance. -type: object -properties: - ruleset: - description: The MRT ruleset. - type: MRTRuleset \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRuleset.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRuleset.raml deleted file mode 100644 index 6e69c6ac..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRuleset.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 DataType -description: An MRT ruleset. Defines a list of MRT rules that will route certain storefront requests to the managed runtime instance. -type: object -properties: - id: - description: The ID of the ruleset. - type: string - example: 12345678901234asdfasfasdf - name: - description: The name of the ruleset. - type: string - example: MRT Rules - lastUpdated: - description: Date when the ruleset was last updated. - type: datetime - example: 2022-01-01T05:20:00Z - rules: - description: The rules defined by the ruleset. - type: array - items: MRTRules \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesetPatchRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesetPatchRequest.raml deleted file mode 100644 index c345993e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesetPatchRequest.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DataType -description: PATCH request for updating the MRT environment hostname or adding MRT rules to route to an existing MRT environment. -type: object -properties: - oldMrtHostname: - description: The customer's current MRT instance hostname. - type: string - example: customer-react-projec-production.mobify-storefront.com - required: false - mrtHostname: - description: The customer's MRT instance hostname. - type: string - example: customer-react-projec-production.mobify-storefront.com - expressions: - description: An array containing the expressions for each MRT rule. - type: string[] - example: ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\"))"] - required: false - descriptions: - description: An array containing the descriptions for each MRT rule. The number of descriptions provided must match the number of expressions provided. Optional. - type: string[] - example: ["Phased rollout rule for dev-customer.salesforce.com"] - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateRequest.raml deleted file mode 100644 index 42eceb31..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateRequest.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 DataType -description: mTLS certificate request information. -type: object -properties: - certificate: - description: Public key for the CA certificate in mTLS. - type: string - required: true - privateKey: - description: Private key of the CA certificate in mTLS. - type: string - required: true - name: - description: Certificate name used for ease of understanding. - type: string - required: true diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateResponse.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateResponse.raml deleted file mode 100644 index c24530e4..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateResponse.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 DataType -type: object -description: mTLS certificate information. -properties: - mtlsCertificateId: - pattern: ([a-f0-9]{8}(-[a-f0-9]{4}){4}[a-f0-9]{8}) - description: ID generated by the CDN provider for the certificate. - type: string - required: false - expiresOn: - description: Expiration date for the mTLS certificate. - type: datetime - required: false - issuer: - description: The certificate authority that issued the mTLS certificate. - type: string - required: false - signature: - description: The type of hash used for the mTLS certificate. - type: string - required: false - uploadedOn: - description: Date the mTLS certificate was uploaded. - type: datetime - required: false - ca: - description: Indicates whether the mTLS certificate is a CA or leaf certificate. - type: boolean - required: false - serialNumber: - description: The mTLS certificate serial number. - type: string - required: false - mtlsCertificateName: - description: Optional name for the mTLS certificate used for ease of understanding. - type: string - required: false - mtlsAssociatedCodeUploadHostname: - description: Hostname associated with this mTLS certificate. - type: string - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/OCAPICachingToggleRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/OCAPICachingToggleRequest.raml deleted file mode 100644 index 6df82257..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/OCAPICachingToggleRequest.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType -description: Request to enable or disable OCAPI Caching Page rule -type: object -properties: - enableOCAPICachingPageRule: - description: true to enable OCAPI Caching Page rule, false to disable. - type: boolean - example: true \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/OriginHeaderModification.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/OriginHeaderModification.raml deleted file mode 100644 index e274c876..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/OriginHeaderModification.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 DataType -description: An origin header modification rule. -type: object -properties: - headerName: - description: The name of the header forwarded to the origin. - type: string - example: x-sfdc-access-control - headerValue: - description: The masked value of the header forwarded to the origin. - type: string - example: '****************789' - lastUpdated: - description: Date when the rule was last updated. - type: datetime - example: 2022-01-01T05:20:00Z \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/OriginHeaderModificationPutRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/OriginHeaderModificationPutRequest.raml deleted file mode 100644 index 48dcf5cf..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/OriginHeaderModificationPutRequest.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType -description: Put request for creating/updating the origin header modification. -type: object -properties: - headerValue: - description: The value of the header forwarded to the origin. - type: string - example: "123456789" - required: true - headerName: - description: The name of the header forwarded to the origin. Cannot be modified for the MRT origin. - type: string - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRule.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRule.raml deleted file mode 100644 index 6fbaeae8..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRule.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 DataType -description: A rate limiting rule. -type: object -properties: - ruleId: - description: The ID of the rate limiting rule. - type: string - example: 2c0fc9fa937b11eaa1b71c4d701ab86e - description: - description: The description of the rate limiting rule. - type: string - example: Rate limit /path1. - expression: - description: The expression that defines when to evaluate the rate limiting rule. - type: string - example: (http.request.uri.path matches \"^/path1/.*\") - characteristics: - description: Set of parameters defining how to group requests when tracking the request rate. - type: string[] - example: ["cf.unique_visitor_id"] - action: - description: The action applied by the rate limiting rule. Valid actions are "block", "managed_challenge", "js_challenge", "legacy_captcha", and "log". - type: string - example: block - period: - description: The period of time to consider when evaluating the request rate (in seconds). Valid values are 10, 60, 120, 300, and 600. - type: integer - example: 60 - requestsPerPeriod: - description: The limit for the number of requests in the specified period of time. - type: integer - example: 50 - mitigationTimeout: - description: Once the rate is reached, the rate limiting rule applies the rule action to further requests for the period of time defined in this field (in seconds). Only applicable for "block" and "log" actions. Valid values are 60, 120, 300, 600, 3600, and 86400. - type: integer - example: 600 - required: false - countingExpression: - description: The expression that defines what kind of requests we want to rate limit. - type: string - example: (http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400) - required: false - lastUpdated: - description: Date when the rate limiting rule was last updated. - type: datetime - example: 2022-01-01T05:20:00Z - enabled: - description: Whether or not the rate limiting rule is enabled. - type: boolean - example: true \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRulesPatchRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRulesPatchRequest.raml deleted file mode 100644 index 6f23b5b5..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRulesPatchRequest.raml +++ /dev/null @@ -1,53 +0,0 @@ -#%RAML 1.0 DataType -description: Update a rate limiting rule. -type: object -properties: - description: - description: The description of the rate limiting rule. - type: string - example: Rate limit /path1. - required: false - expression: - description: The expression that defines when to evaluate the rate limiting rule. - type: string - example: (http.request.uri.path matches \"^/path1/.*\") - required: false - characteristics: - description: Set of parameters defining how to group requests when tracking the request rate. - type: string[] - example: ["cf.unique_visitor_id"] - required: false - action: - description: The action applied by the rate limiting rule. Valid actions are "block", "managed_challenge", "js_challenge", "legacy_captcha", and "log". - type: string - example: block - required: false - period: - description: The period of time to consider when evaluating the request rate (in seconds). Valid values are 10, 60, 120, 300, and 600. - type: integer - example: 60 - required: false - requestsPerPeriod: - description: The limit for the number of requests in the specified period of time. - type: integer - example: 50 - required: false - mitigationTimeout: - description: Once the rate is reached, the rate limiting rule applies the rule action to further requests for the period of time defined in this field (in seconds). Only applicable for "block" and "log" actions. Valid values are 60, 120, 300, 600, 3600, and 86400. - type: integer - example: 600 - required: false - countingExpression: - description: The expression that defines what kind of requests we want to rate limit. - type: string - example: (http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400) - required: false - enabled: - description: Whether or not the rate limiting rule is enabled. - type: boolean - example: true - required: false - position: - description: Used to specify the position in the ruleset at which to insert the rate limiting rule. - type: RulePosition - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRulesPostRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRulesPostRequest.raml deleted file mode 100644 index bb6a25b8..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/RateLimitingRulesPostRequest.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType -description: Create a rate limiting rule. -type: object -properties: - description: - description: The description of the rate limiting rule. - type: string - example: Rate limit /path1. - expression: - description: The expression that defines when to evaluate the rate limiting rule. - type: string - example: (http.request.uri.path matches \"^/path1/.*\") - characteristics: - description: Set of parameters defining how to group requests when tracking the request rate. - type: string[] - example: ["cf.unique_visitor_id"] - action: - description: The action applied by the rate limiting rule. Valid actions are "block", "managed_challenge", "js_challenge", "legacy_captcha", and "log". - type: string - example: block - period: - description: The period of time to consider when evaluating the request rate (in seconds). Valid values are 10, 60, 120, 300, and 600. - type: integer - example: 60 - requestsPerPeriod: - description: The limit for the number of requests in the specified period of time. - type: integer - example: 50 - mitigationTimeout: - description: Once the rate is reached, the rate limiting rule applies the rule action to further requests for the period of time defined in this field (in seconds). Only applicable for "block" and "log" actions. Valid values are 60, 120, 300, 600, 3600, and 86400. - type: integer - example: 600 - required: false - countingExpression: - description: The expression that defines what kind of requests we want to rate limit. - type: string - example: (http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400) - required: false - enabled: - description: Whether or not the rate limiting rule is enabled. - type: boolean - example: true - required: false - position: - description: Used to specify the position in the ruleset at which to insert the rate limiting rule. - type: RulePosition - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/RulePosition.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/RulePosition.raml deleted file mode 100644 index 4e6fee7c..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/RulePosition.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 DataType -description: Used to specify the position of a rule. -type: object -properties: - before: - description: Insert the current rule before this ruleId. - type: string - example: 2c0fc9fa937b11eaa1b71c4d701ab86e - required: false - after: - description: Insert the current rule after this ruleId. - type: string - example: 2c0fc9fa937b11eaa1b71c4d701ab86e - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SecurityHeader.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SecurityHeader.raml deleted file mode 100644 index 05b1a25d..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SecurityHeader.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType -description: -type: object -properties: - id: - description: - type: string - example: someId - value: - description: - type: !include StrictTransportSecurity.raml - modifiedOn: - description: When the security zone was last modified. - type: datetime - example: 2022-01-12T04:15:57Z diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SecuritySetting.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SecuritySetting.raml deleted file mode 100644 index 76ed67f6..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SecuritySetting.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DataType -properties: - hsts: - type: Hsts - description: Security header for a zone. - required: false - securityLevel: - description: Security profile for your zone, which will automatically adjust each of the security settings. - type: string - enum: [off, essentially_off, low, medium, high, under_attack] - required: false - tls13Enabled: - description: Enable Crypto TLS 1.3 feature for this zone. - type: boolean - required: false - wafEnabled: - description: Enable WAF (OWASP) protection for this zone. Not applicable for zones using WAFv2. - type: boolean - required: false - alwaysUseHttps: - description: Redirect all http requests to https. - example: true - type: boolean diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml deleted file mode 100644 index df3f1a86..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml +++ /dev/null @@ -1,93 +0,0 @@ -#%RAML 1.0 DataType -properties: - brotliCompression: - type: string - description: Brotli compression setting of a zone. - required: false - default: off - enum: ["on", "off"] - http2Prioritization: - type: string - description: Http2 prioritization setting for a zone. - required: false - default: off - enum: ["on", "off"] - example: off - webp: - type: string - description: Support for the WebP image format when using image modification for a zone. The WebP image format can be used with supported clients for added performance benefits. Setting this property to `on` will return an error when the `polish` property is set to `off`. - required: false - default: off - enum: ["on", "off"] - example: off - polish: - type: string - description: The level of polish (image quality) used for image modification. The value `lossless` corresponds to **Polish Level Basic** in the UI, and the value `lossy` corresponds to **Polish Level Basic+JPEG.** To disable image modification, set this property to `off`. Setting this property to `off` will prevent you from setting the `webp` property to `on`. - required: false - default: off - enum: [off, lossless, lossy] - example: off - minifyJs: - type: string - description: Minify JavaScript for a zone. - required: false - default: off - enum: ["on", "off"] - example: off - minifyHtml: - type: string - description: Minify HTML for a zone. - required: false - default: off - enum: ["on", "off"] - example: off - minifyCss: - type: string - description: Minify CSS for a zone. - required: false - default: off - enum: ["on", "off"] - example: off - earlyHints: - type: string - description: Early Hints for a zone. - required: false - default: off - enum: [ "on", "off" ] - example: off - http3: - type: string - description: Http3 for a zone. - required: false - default: off - enum: [ "on", "off" ] - example: off - http2ToOrigin: - type: string - description: Http2 to Origin for a zone. - required: false - default: off - enum: [ "on", "off" ] - example: off - -examples: - brotliCompressionExample: - brotliCompression: off - http2PrioritizationExample: - http2Prioritization: off - polishExample: - polish: off - webpExample: - webp: off - minifyJsExample: - minifyJs: off - minfyHtmlExample: - minfyHtml: off - minifyCssExample: - minifyCss: off - earlyHintsExample: - earlyHints: off - http3Example: - http3: off - http2ToOriginExample: - http2ToOrigin: off \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/StorefrontZoneCreateRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/StorefrontZoneCreateRequest.raml deleted file mode 100644 index 801d39a6..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/StorefrontZoneCreateRequest.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType -description: The storefront zone information to be created. -type: object -properties: - domainName: - description: Domain name for the site. - type: string - example: cc-merchant.com \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/StorefrontZoneCreateResponse.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/StorefrontZoneCreateResponse.raml deleted file mode 100644 index 198f16f0..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/StorefrontZoneCreateResponse.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 DataType -description: The response of create zone, includes zone and zone properties. -type: object -properties: - zoneId: - description: The zone id tag. - type: string - example: 023e105f4ecef8ad9ca31a8372d0c353 - zoneName: - description: The domain name for the zone. - type: string - pattern: ^([a-zA-Z0-9][\-a-zA-Z0-9]*\.)+[\-a-zA-Z0-9]{2,20}$ - example: stg-zzzz-cc-merchant-com.cc-ecdn.net - status: - description: current status of the zone - type: string - enum: [active, pending, initializing, moved, deleted, deactivated] - example: active - createdOn: - description: Date and time of zone creation. - type: datetime - example: 2014-01-01T05:20:00.12345Z \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/StrictTransportSecurity.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/StrictTransportSecurity.raml deleted file mode 100644 index 74505dcb..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/StrictTransportSecurity.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 DataType -description: -type: object -properties: - isEnabled: - description: - type: boolean - default: false - maxAge: - description: Max age in seconds of the strict transport security. - type: number - shouldIncludeSubdomains: - description: Include subdomains for strict transport security. - type: boolean - isNosniffEnabled: - description: | - Include the `X-Content-Type-Options: nosniff` header. - type: boolean - -example: - isEnabled: true - maxAge: 3600 - shouldIncludeSubdomains: true - isNosniffEnabled: false diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFGroup.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFGroup.raml deleted file mode 100644 index 542be00d..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFGroup.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 DataType -properties: - groupId?: - type: string - maxLength: 100 - example: 372e67954025e0ba6aaa6d586b9e0b60 - action?: - type: string - enum: ["block", "challenge", "monitor", "default"] - description: The action to apply to WAF group - example: block - mode: - type: string - enum: ["on", "off"] - description: Mode of the waf rule - on vs off - example: on - description?: - type: string - description: Description of the WAF Group. - example: "Test WAF Group to protect against SQL injection" - -examples: - example1: - groupId: 372abe67954025e0ba6aaa6d586b9e0b - zoneId: example1-zone-Id - action: monitor - mode: on - description: SQL injection protection - example2: - groupId: 396abe67954025e0ba6bde6d586b9e5a - zoneId: example2-zone-Id - action: challenge - mode: off - description: xss attack protection \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRule.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRule.raml deleted file mode 100644 index 3669a0ad..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRule.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 DataType -description: A WAF managed rule. -type: object -properties: - ruleId: - description: The ID of the WAF managed rule. - type: string - example: 5de7edfa648c4d6891dc3e7f84534ffa - action: - description: The action applied by the WAF managed rule. - type: string - example: block - score: - description: The score of the WAF managed rule. Only applicable for the OWASP Managed Ruleset. - type: integer - example: 5 - required: false - categories: - description: A list of categories describing the function of the WAF managed rule. - type: string[] - example: ["broken-access-control", "wordpress"] - description: - description: The description of the WAF managed rule. - type: string - example: Wordpress - Broken Access Control - lastUpdated: - description: Date when the WAF managed rule was last updated. - type: datetime - example: 2024-01-01T05:20:00Z - enabled: - description: Whether or not the WAF managed rule is enabled. - type: boolean - example: true \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRuleRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRuleRequest.raml deleted file mode 100644 index b79dac3d..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRuleRequest.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 DataType -description: A PATCH request for updating a WAF managed rule. -type: object -properties: - action: - description: The action applied by the WAF managed rule. - type: string - example: block - required: false - enabled: - description: Whether or not the WAF managed rule is enabled. - type: boolean - example: true - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRuleset.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRuleset.raml deleted file mode 100644 index 8c0763f5..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRuleset.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 DataType -description: A WAF managed ruleset. -type: object -properties: - name: - description: The name of the WAF managed ruleset. - type: string - example: OWASP Core Ruleset - rulesetId: - description: The ID of the WAF managed ruleset. - type: string - example: 4814384a9e5d4991b9815dcfc25d2f1f - action: - description: The action applied by the WAF managed ruleset. - type: string - example: default - anomalyScore: - description: The anomaly score threshold of the WAF managed ruleset. Only applicable for the OWASP Core Ruleset. - type: string - example: low - required: false - anomalyScoreThreshold: - description: The numerical value of the anomaly score threshold of the WAF managed ruleset. Only applicable for the OWASP Core Ruleset. - type: integer - example: 60 - required: false - paranoiaLevel: - description: The paranoia level of the WAF managed ruleset. Higher paranoia levels activate more aggressive rules. Only applicable for the OWASP Core Ruleset. - type: integer - example: 1 - required: false - enabled: - description: Whether or not the WAF managed ruleset is enabled. - type: boolean - example: true \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRulesetRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRulesetRequest.raml deleted file mode 100644 index f512cba1..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRulesetRequest.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 DataType -description: A WAF managed ruleset request body. -type: object -properties: - action: - description: The action applied by the WAF managed ruleset. - type: string - example: default - required: false - anomalyScore: - description: The anomaly score threshold of the WAF managed ruleset. Only applicable for the OWASP Core Ruleset. - type: string - example: low - required: false - paranoiaLevel: - description: The paranoia level of the WAF managed ruleset. Higher paranoia levels activate more aggressive rules. Only applicable for the OWASP Core Ruleset. - type: integer - example: 1 - required: false - enabled: - description: Whether or not the WAF managed ruleset is enabled. - type: boolean - example: true - required: false diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFRule.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFRule.raml deleted file mode 100644 index 007326d5..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFRule.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DataType -properties: - ruleId?: - type: string - example: 892e67954025e0ba6atefd586b9e58b3 - groupId?: - type: string - maxLength: 100 - example: 372e67954025e0ba6aaa6d586b9e0b60 - action: - type: string - enum: ["block", "challenge", "monitor", "disable", "default"] - description: The action to apply to WAF rule - example: block - defaultAction?: - type: string - enum: ["block", "challenge", "monitor", "disable"] - description: The action to apply to WAF rule - example: block - description?: - type: string - description: Description of the WAF Group. - example: "Test WAF Rule to protect against SQL injection" - -examples: - example1: - ruleId: 892e67954025e0ba6atefd586b9e58b3 - groupId: 372abe67954025e0ba6aaa6d586b9e0b - action: monitor - defaultAction: challenge - description: SQL injection protection - example2: - ruleId: 673e67954025e0ba6atefd586b90mtd5 - groupId: 396abe67954025e0ba6bde6d586b9e5a - action: challenge - defaultAction: block - description: xss attack protection \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFRulePackage.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFRulePackage.raml deleted file mode 100644 index 0f7f4325..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFRulePackage.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 DataType - -properties: - id: - type: string - example: a25a9a7e9c00afc1fb2e0245519d725b - maxLength: 32 - name: - type: string - description: Name of the firewall package - description: - type: string - description: Summary of purpose/function of firewall package - detection_mode: - type: string - description: How the rules within the package are evaluated during the course of a request. When a package uses anomaly detection, each rule is given a score when triggered. If the total score of all triggered rules exceeds the sensitivity defined on the package, the action defined on the package is taken. Traditional detection decides which action to take when it is triggered by the request. If multiple rules are triggered, the action with highest protection is used. For example, a block action beats a challenge. - zone_id: - type: string - description: Zone identifier with which this rule package is associated. - sensitivity: - type: string - enum: ["low", "medium", "high", "off"] - description: Sensitivity for traditional (owasp) rule package. - action_mode: - type: string - enum: ["simulate", "challenge", "block"] - description: The default action that is taken for rules under traditional(owasp) firewall package. diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WafPackagePatchRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WafPackagePatchRequest.raml deleted file mode 100644 index 1e1f6d97..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WafPackagePatchRequest.raml +++ /dev/null @@ -1,9 +0,0 @@ -properties: - sensitivity: - type: string - enum: ["low", "medium", "high", "off"] - description: Sensitivity for traditional (owasp) rule package. - action_mode: - type: string - enum: ["simulate", "challenge", "block"] - description: The default action that is taken for rules under traditional(owasp) firewall package. \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WorkerUpdateRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WorkerUpdateRequest.raml deleted file mode 100644 index 2cc30f96..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WorkerUpdateRequest.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType -properties: - version: - type: string - description: Version to update the worker to. If omitted it will update to the latest available version. - required: false - example: "2.0.12" - -examples: - versionExample: - version: "2.0.12" - - \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/Zone.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/Zone.raml deleted file mode 100644 index 2187ce8c..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/Zone.raml +++ /dev/null @@ -1,29 +0,0 @@ -#%RAML 1.0 DataType - -type: object -displayName: Zone -description: Zone is the container for hostnames and various CDN settings/properties. Each zone is tied to a single origin. - -properties: - zoneId: - type: string - maxLength: 100 - description: Identity of the zone. - name: - type: string - maxLength: 100 - description: Name given to the zone. This needs to be a DNS domain name for eg example.com - status: - type: string - enum: ["active", "pending", "initializing", "moved", "deleted", "deactivated"] - description: Status of the zone for eg "Pending" , "Active" - -examples: - example1: - zoneId: example1-zone-Id - name: example1.com - status: pending - example2: - zoneId: example2-zone-Id - name: example2.com - status: active \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/customrules/custom-rule-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/customrules/custom-rule-response.raml deleted file mode 100644 index 6f841886..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/customrules/custom-rule-response.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleId": "ffffe61cf25e4ec49c34b029ff3060f7", - "description": "Block traffic for malformed URL requests", - "expression": "(http.request.uri.path matches \"^/path1/.*\")", - "actions": ["block"], - "lastUpdated": "2022-12-14T21:25:22.329194Z", - "enabled": false - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/customrules/custom-rules-post-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/customrules/custom-rules-post-request.raml deleted file mode 100644 index 9c7a2e77..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/customrules/custom-rules-post-request.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "description": "Block traffic for malformed URL requests", - "expression": "(http.request.uri.path matches \"^/path1/.*\")", - "actions": ["block"], - "enabled": false, - "position": { - "before": "2c0fc9fa937b11eaa1b71c4d701ab86e" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/customrules/custom-rules-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/customrules/custom-rules-response.raml deleted file mode 100644 index 6dc88a6a..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/customrules/custom-rules-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": [ - { - "ruleId": "ffffe61cf25e4ec49c34b029ff3060f7", - "description": "Block traffic for malformed URL requests", - "expression": "(http.request.uri.path matches \"^/path1/.*\")", - "actions": ["block"], - "lastUpdated": "2022-12-14T21:25:22.329194Z", - "enabled": false - }, - { - "ruleId": "2c0fc9fa937b11eaa1b71c4d701ab86e", - "description": "Skip user agent", - "expression": "(http.user_agent contains \"Client\")", - "actions": ["skip_custom_rules, skip_waf"], - "lastUpdated": "2022-12-14T21:30:34.263795Z", - "enabled": true - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/bad-request-example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/bad-request-example.raml deleted file mode 100644 index edf7634e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/bad-request-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Request body contains 1 or more attributes that contains errors." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/conflict-example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/conflict-example.raml deleted file mode 100644 index 04ed47fc..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/conflict-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/conflicted", - "title": "Resource Conflict", - "detail": "The request made for the resource is not valid." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/forbidden-access-example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/forbidden-access-example.raml deleted file mode 100644 index dfdfe4f1..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/forbidden-access-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden-access", - "title": "Forbidden", - "detail": "Access to requested resource is forbidden." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/internal-server-error-example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/internal-server-error-example.raml deleted file mode 100644 index f4b01a46..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/internal-server-error-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/internal-server", - "title": "Internal Server Error", - "detail": "An internal server error occured. Please contact support." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/resource-not-found-example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/resource-not-found-example.raml deleted file mode 100644 index bc441a82..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/resource-not-found-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/resource-not-found", - "title": "Not Found", - "detail": "Requested resource was not found" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/unauthorized-example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/unauthorized-example.raml deleted file mode 100644 index 69905439..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/error/unauthorized-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized", - "title": "UnAuthorized Access", - "detail": "The authorization token passed is no longer valid" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rule-get-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rule-get-response.raml deleted file mode 100644 index 698aa86f..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rule-get-response.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "firewallruleId": "3cc2523177bd4bc68e0065c3baf5e283", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "type": "ip", - "action": "blocklist", - "values": ["10.0.0.2/16"] - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-get-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-get-response.raml deleted file mode 100644 index bd24db11..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-get-response.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": [ - { - "firewallruleId": "3cc2523177bd4bc68e0065c3baf5e283", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "type": "ip", - "action": "blocklist", - "values": ["10.0.0.2/16"] - }, - { - "firewallruleId": "1044cb26a5d94e58b2d08d1ad246d038", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "type": "country", - "action": "blocklist", - "values": ["SU"] - }, - { - "firewallruleId": "8eccf2baf52a45668b4524aaa2546e60", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "type": "ip", - "action": "allowlist", - "values": ["10.0.0.1/16"] - }, - { - "firewallruleId": "e60bbc2c7a674ccf9754e76a1ee1924c", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "type": "country", - "action": "allowlist", - "values": ["US"] - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-post-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-post-request.raml deleted file mode 100644 index 239ccb24..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-post-request.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "type": "ip", - "action": "allowlist", - "values": ["10.0.0.2/16"] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-post-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-post-response.raml deleted file mode 100644 index e7d1711e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-post-response.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": { - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "type": "ip", - "action": "blocklist", - "values": ["10.0.0.2/16"] - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-put-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-put-request.raml deleted file mode 100644 index a789a4ef..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-put-request.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "type": "ip", - "action": "allowlist", - "values": ["10.0.0.2/16", "10.0.0.3/16"] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-put-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-put-response.raml deleted file mode 100644 index e7d1711e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/firewall/firewall-rules-put-response.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": { - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "type": "ip", - "action": "blocklist", - "values": ["10.0.0.2/16"] - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-request1.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-request1.raml deleted file mode 100644 index 9ab1b873..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-request1.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "name": "example-job-name", - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "ownershipChallengeToken": "abc00000000000000000000", - "logFields" : ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"], - "logType" : "http_requests" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-request2.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-request2.raml deleted file mode 100644 index b4032bdd..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-request2.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "name": "example-job-name-with-filter", - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "ownershipChallengeToken": "abc00000000000000000000", - "logFields" : ["ClientRequestBytes", "ClientRequestPath", "ClientRequestHost", "ClientRequestMethod", "EdgeResponseStatus"], - "filter": "{\"where\":{\"and\":[{\"key\":\"ClientRequestPath\",\"operator\":\"contains\",\"value\":\"/example-path\"}, {\"key\":\"EdgeResponseStatus\",\"operator\":\"in\",\"value\":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}", - "logType" : "http_requests" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-response1.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-response1.raml deleted file mode 100644 index bbb566e8..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-response1.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "jobId": 123456, - "name": "example-job-name", - "logType" : "http_requests", - "logFields" : ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"], - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "enabled": false, - "createdOn" : 2023-01-01T00:00:27Z - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-response2.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-response2.raml deleted file mode 100644 index 7e143f07..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-create-response2.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "jobId": 123456, - "name": "example-job-name-with-filter", - "logType" : "http_requests", - "logFields" : ["ClientRequestBytes", "ClientRequestPath", "ClientRequestHost", "ClientRequestMethod", "EdgeResponseStatus"], - "filter": "{\"where\":{\"and\":[{\"key\":\"ClientRequestPath\",\"operator\":\"contains\",\"value\":\"/example-path\"}, {\"key\":\"EdgeResponseStatus\",\"operator\":\"in\",\"value\":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}", - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "enabled": false, - "createdOn" : 2023-01-01T00:00:27Z - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id1.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id1.raml deleted file mode 100644 index 362c09e9..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id1.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "jobId": 123456, - "name": "example-job-name", - "logType" : "http_requests", - "logFields" : ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"], - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "lastComplete": "2023-03-14T02:09:32Z", - "createdOn" : "2023-01-01T00:00:27Z" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id2.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id2.raml deleted file mode 100644 index 653be011..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id2.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "jobId": 123456, - "name": "example-job-name", - "logType" : "http_requests", - "logFields" : ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"], - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "lastComplete": "2023-03-14T02:09:32Z", - "lastError": "2023-03-16T02:00:00Z", - "errorMessage": "no permissions to write to destination bucket", - "createdOn" : "2023-01-01T00:00:27Z" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id3.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id3.raml deleted file mode 100644 index 329a34b7..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-job-by-id3.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "jobId": 123456, - "name": "example-job-name", - "logType": "http_requests", - "logFields" : ["ClientRequestBytes", "ClientRequestPath", "ClientRequestHost", "ClientRequestMethod", "EdgeResponseStatus"], - "filter": "{\"where\":{\"and\":[{\"key\":\"ClientRequestPath\",\"operator\":\"contains\",\"value\":\"/example-path\"}, {\"key\":\"EdgeResponseStatus\",\"operator\":\"in\",\"value\":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}", - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "lastComplete": "2023-03-14T02:09:32Z", - "createdOn": "2023-01-01T00:00:27Z" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-list-job.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-list-job.raml deleted file mode 100644 index c980bbea..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-get-list-job.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": [ - { - "jobId": 123456, - "name": "example1-job-name", - "logType" : "http_requests", - "logFields" : ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"], - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "lastComplete": "2023-03-14T02:09:32Z", - "createdOn" : "2023-01-01T00:00:27Z" - }, - { - "jobId": 123457, - "name": "example2-job-name", - "logType" : "firewall_events", - "logFields" : ["RuleID", "ClientRequestUserAgent", "ClientRequestPath"], - "filter": "{\"where\":{\"and\":[{\"key\":\"ClientRequestPath\",\"operator\":\"contains\",\"value\":\"/example-path\"}, {\"key\":\"EdgeResponseStatus\",\"operator\":\"in\",\"value\":[502, 503, 504, 520, 521, 522, 522, 523, 524, 525, 526, 530]}]}}", - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "lastComplete": "2023-03-22T02:09:32Z", - "createdOn" : "2023-01-03T00:00:27Z" - } - ] - } diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-ownership-post-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-ownership-post-request.raml deleted file mode 100644 index 9dc329a6..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-ownership-post-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-ownership-post-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-ownership-post-response.raml deleted file mode 100644 index dfc806b9..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-ownership-post-response.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "data": { - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "fileName": "site-name/20230101/ownership-challenge-f1234567.txt" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-update-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-update-request.raml deleted file mode 100644 index 2d980020..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-update-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "enabled" : true, - "filter" : "{\"where\":{\"key\":\"ClientRequestPath\",\"operator\":\"contains\",\"value\":\"/example-path\"}}", - "logFields" : ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-update-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-update-response.raml deleted file mode 100644 index 2f815f21..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/logpush/logpush-update-response.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "jobId": 123456, - "name": "example-job-name", - "enabled": true, - "logType" : "http_requests", - "logFields" : ["ClientRequestBytes", "ClientRequestHost", "ClientRequestMethod"], - "destinationPath": "s3://customer-bucket/site-name/{DATE}?region=us-east-1&sse=AES256", - "lastComplete": "2023-03-14T02:09:32Z", - "lastError": 2023-01-01T00:00:27Z, - "errorMessage": "" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-request.raml deleted file mode 100644 index 3fb51949..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "enabled": true, - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "description": "Phased rollout rule for dev-customer.salesforce.com" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-response.raml deleted file mode 100644 index 8080cdfe..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-response.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleset": - { - "id": "12345678901234asdfasfasdf1234567", - "name": "MRT Rules", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "rules": [ - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "description": "Phased rollout rule for dev-customer.salesforce.com", - "lastUpdated": "2022-09-27T18:32:34.675182Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - } - ] - } - } - } diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-get-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-get-response.raml deleted file mode 100644 index 225e70ae..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-get-response.raml +++ /dev/null @@ -1,42 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleset": - { - "id": "12345678901234asdfasfasdf1234567", - "name": "MRT Rules", - "lastUpdated": "2022-09-27T18:32:34.675182Z", - "rules": [ - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - "description": "Phased rollout rule for dev-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - }, - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "description": "Phased rollout rule for test-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1233333", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - }, - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"prd-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "description": "Phased rollout rule for prd-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "98745678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - } - ] - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml deleted file mode 100644 index 1823ee1b..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "mrtHostname": "customer.mobify-storefront.com", - "expressions": ["(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))"], - "descriptions": ["Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com"] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-single-hostname.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-single-hostname.raml deleted file mode 100644 index fa8a57b9..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-single-hostname.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "mrtHostname": "customer.mobify-storefront.com", - "expressions": ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))"], - "descriptions": ["Phased rollout rule for dev-customer.salesforce.com"] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request.raml deleted file mode 100644 index 7fffa9e1..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "mrtHostname": "customer-react-projec-production.mobify-storefront.com", - "expressions": ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - - "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))" - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml deleted file mode 100644 index 901cc6b7..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleset": - { - "id": "12345678901234asdfasfasdf1234567", - "name": "MRT Rules", - "lastUpdated": "2022-09-27T18:32:34.675182Z", - "rules": [ - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "description": "Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - } - ] - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-single-hostname.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-single-hostname.raml deleted file mode 100644 index 79592d93..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-single-hostname.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleset": - { - "id": "12345678901234asdfasfasdf1234567", - "name": "MRT Rules", - "lastUpdated": "2022-09-27T18:32:34.675182Z", - "rules": [ - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - "description": "Phased rollout rule for dev-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - } - ] - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response.raml deleted file mode 100644 index 7e3a6597..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleset": - { - "id": "12345678901234asdfasfasdf1234567", - "name": "MRT Rules", - "lastUpdated": "2022-09-27T18:32:34.675182Z", - "rules": [ - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer-pwa-hybrid-dev.mobify-storefront.com" - }, - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer-pwa-hybrid-dev.mobify-storefront.com" - } - ] - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml deleted file mode 100644 index e82f4873..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "mrtHostname": "customer.mobify-storefront.com", - "expressions": ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - - "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))"], - "descriptions": ["Phased rollout rule for dev-customer.salesforce.com"] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-update-hostname.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-update-hostname.raml deleted file mode 100644 index 1ce2ee6a..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-update-hostname.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "oldMrtHostname": "old-hostname.mobify-storefront.com", - "mrtHostname": "new-hostname.mobify-storefront.com" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request.raml deleted file mode 100644 index 17520d5d..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "mrtHostname": "customer-react-projec-production.mobify-storefront.com", - "expressions": ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - - "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))" - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml deleted file mode 100644 index 490c47f4..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleset": - { - "id": "12345678901234asdfasfasdf1234567", - "name": "MRT Rules", - "lastUpdated": "2022-09-27T18:32:34.675182Z", - "rules": [ - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - "description": "Phased rollout rule for dev-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - }, - { - "id": "12345678901234asdfasfasdf1234568", - "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "description": "Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234568", - "enabled": true, - "mrtHostname": "customer.mobify-storefront.com" - } - ] - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml deleted file mode 100644 index c41e4794..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleset": - { - "id": "12345678901234asdfasfasdf1234567", - "name": "MRT Rules", - "lastUpdated": "2022-09-27T18:32:34.675182Z", - "rules": [ - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - "description": "Phased rollout rule for dev-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "new-hostname.mobify-storefront.com" - }, - { - "id": "12345678901234asdfasfasdf1234568", - "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "description": "Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234568", - "enabled": true, - "mrtHostname": "new-hostname.mobify-storefront.com" - } - ] - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response.raml deleted file mode 100644 index 6c5b4e29..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "ruleset": - { - "id": "12345678901234asdfasfasdf1234567", - "name": "MRT Rules", - "lastUpdated": "2022-09-27T18:32:34.675182Z", - "rules": [ - { - "id": "12345678901234asdfasfasdf1234567", - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234567", - "enabled": true, - "mrtHostname": "customer-pwa-hybrid.mobify-storefront.com" - }, - { - "id": "12345678901234asdfasfasdf1234568", - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", - "lastUpdated": "2022-09-15T21:14:42.372459Z", - "ref": "12345678901234asdfasfasdf1234568", - "enabled": true, - "mrtHostname": "customer-pwa-hybrid.mobify-storefront.com" - } - ] - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml deleted file mode 100644 index 7b76bcae..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "mtlsCertificateId": "465a48f6-3d98-4c15-9312-211984ee8629", - "expiresOn": "2022-01-12T04:15:57Z", - "issuer": "DigiCert", - "signature": "SHA256WithRSA", - "uploadedOn": "2020-01-12T04:15:57Z", - "ca": true, - "serialNumber": "432217133297895665180570788458463042229861757760", - "mtlsCertificateName": "mtls_cert_name", - "mtlsAssociatedHostname": "mtls.cert.salesforce.com" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml deleted file mode 100644 index fa2d3b27..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml +++ /dev/null @@ -1,30 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - [ - { - "mtlsCertificateId": "465a48f6-3d98-4c15-9312-211984ee8629", - "expiresOn": "2022-01-12T04:15:57Z", - "issuer": "DigiCert", - "signature": "SHA256WithRSA", - "uploadedOn": "2020-01-12T04:15:57Z", - "ca": true, - "serialNumber": "432217133297895665180570788458463042229861757760", - "mtlsCertificateName": "mtls_cert_name", - "mtlsAssociatedHostname": "mtls.cert.salesforce.com" - }, - { - "mtlsCertificateId": "465a48f6-3d98-4c15-9312-211984ee8630", - "expiresOn": "2022-01-12T04:15:57Z", - "issuer": "DigiCert", - "signature": "SHA256WithRSA", - "uploadedOn": "2020-01-12T04:15:57Z", - "ca": true, - "serialNumber": "432217133297895665180570788458463042229861757761", - "mtlsCertificateName": "mtls_cert_name", - "mtlsAssociatedHostname": "mtls.cert.salesforce.com" - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml deleted file mode 100644 index 4abc66a2..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "name": "mtls_cert_name", - "certificate": "-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIJAMHAwfXZ5PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\nBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX\naWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF\nMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg\/1\nCGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB\nKwzESIXgKk2016aTP6\/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX\/a+5\n0GjB79CJH4ER2lLVZnhePFR\/zUOyPxZQQ4naHf7yu\/b5jhO0f8fwt+pyFxIXjbEI\ndZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2\nizNTERcG9HzAacbVRn2Y2SWIyT\/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT\/LbE4\n9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT\/LbE49rWf288N6sJA5BRb6FJI\nGKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV\nBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5\/PWMAwGA1UdEwQF\nMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2\n2satiyzHl4OnXcHDpekAo7\/a09c6Lz6AU83cKy\/+x3\/djYHXWba7HpEu0dR3ugQP\nMlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG\nSvD8RX+T01wzox\/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN\/LAcc+14vioFq\n2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw\nYbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT\/NBy4rzaskDJY5L6xmY=\n-----END CERTIFICATE-----", - "privateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG\ndtcGbg\/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn\nabIRuGvBKwzESIXgKk2016aTP6\/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid\ntnKX\/a+50GjB79CJH4ER2lLVZnhePFR\/zUOyPxZQQ4naHf7yu\/b5jhO0f8fwt+py\nFxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE\newooaeO2izNTERcG9HzAacbVRn2Y2SWIyT\/18QIDAQABAoIBACbhTYXBZYKmYPCb\nHBR1IBlCQA2nLGf0qRuJNJZg5iEzXows\/6tc8YymZkQE7nolapWsQ+upk2y5Xdp\/\naxiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ\/qUqlsTvU6muVuMP8vZYHxJ3wmb\n+ufRBKztPTQ\/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g\n+j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv\nKLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf\/WY9QNq0J1Vk5ERePZ54mN8iZB7\n9lwy\/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX\/SwTvxHgXzRyJIIT0eJWgx13Wo\n\/WA3Iziimsjf6qE+SI\/8laxPp2A86VMaIt3Z3mJN\/CqSVGw8LK2AQst+OwdPyDMu\niacE8lj\/IFGC8mwNUAb9CzGU3JpU4PxxGFjS\/eMtGeRXCWkK4NE+G08CgYEA1Kp9\nN2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe\nVAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB\nvULuCIIrglM5MeS\/qnSg1uMoH2oVPj9TVst\/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U\nlySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR\n9B+nY\/jOmQoPewPVsp\/vQTCnE\/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7\nmEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze\/2ei77MD4OQvepPIFX\ndFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe\nPG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS\nfhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO\/RyamlnSffdCdSc7ue3zdVJxpAkQ8W\nqu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T\nlv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO\/b13EePXpDMpY7HQpoLDi\n-----END RSA PRIVATE KEY-----" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/ocapicaching/cache-statistics-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/ocapicaching/cache-statistics-response.raml deleted file mode 100644 index bdca6399..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/ocapicaching/cache-statistics-response.raml +++ /dev/null @@ -1,49 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "data" : [ - { - "date": "2022-01-01T00:00:00Z", - "cacheStatus" : "HIT", - "count" : 200 - }, - { - "date": "2022-01-01T00:00:00Z", - "cacheStatus" : "MISS", - "count" : 100 - }, - { - "date": "2022-01-01T00:00:00Z", - "cacheStatus" : "EXPIRED", - "count" : 100 - },{ - "date": "2022-01-02T00:00:00Z", - "cacheStatus" : "HIT", - "count" : 200 - }, - { - "date": "2022-01-02T00:00:00Z", - "cacheStatus" : "MISS", - "count" : 100 - }, - { - "date": "2022-01-02T00:00:00Z", - "cacheStatus" : "EXPIRED", - "count" : 100 - }, - { - "date": "2022-01-03T00:00:00Z", - "cacheStatus" : "HIT", - "count" : 200 - }, - { - "date": "2022-01-03T00:00:00Z", - "cacheStatus" : "MISS", - "count" : 100 - }, - { - "date": "2022-01-03T00:00:00Z", - "cacheStatus" : "EXPIRED", - "count" : 100 - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-get-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-get-response.raml deleted file mode 100644 index ead58147..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-get-response.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "headerName": "x-sfdc-access-control", - "headerValue": "********789", - "lastUpdated": "2024-04-27T18:32:34.675182Z" - } - } diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-create-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-create-response.raml deleted file mode 100644 index bbe28298..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-create-response.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "headerName": "x-sfdc-access-control", - "headerValue": "********789", - "lastUpdated": "2024-04-27T18:32:34.675182Z" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-request.raml deleted file mode 100644 index 49d4bc6f..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value : - { - "headerValue": "123456789" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-update-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-update-response.raml deleted file mode 100644 index bbe28298..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/originheadermodification/mrt-put-update-response.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - { - "headerName": "x-sfdc-access-control", - "headerValue": "********789", - "lastUpdated": "2024-04-27T18:32:34.675182Z" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rule-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rule-response.raml deleted file mode 100644 index f1f7109d..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rule-response.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": { - "ruleId": "ffffe61cf25e4ec49c34b029ff3060f7", - "description": "Rate limit /path1", - "expression": "http.request.uri.path matches \"^/path1/.*\"", - "characteristics": ["cf.unique_visitor_id"], - "action": "block", - "period": 60, - "requestsPerPeriod": 50, - "mitigationTimeout": 600, - "countingExpression": "http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400", - "enabled": false, - "lastUpdated": "2022-12-14T21:25:22.329194Z" - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rules-post-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rules-post-request.raml deleted file mode 100644 index 278b37f3..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rules-post-request.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "description": "Rate limit /path1", - "expression": "http.request.uri.path matches \"^/path1/.*\"", - "characteristics": ["cf.unique_visitor_id"], - "action": "block", - "period": 60, - "requestsPerPeriod": 50, - "mitigationTimeout": 600, - "countingExpression": "http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400", - "enabled": false, - "position": { - "before": "2c0fc9fa937b11eaa1b71c4d701ab86e" - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rules-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rules-response.raml deleted file mode 100644 index 4f501938..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/ratelimitingrules/rate-limiting-rules-response.raml +++ /dev/null @@ -1,30 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": [ - { - "ruleId": "ffffe61cf25e4ec49c34b029ff3060f7", - "description": "Rate limit /path1", - "expression": "http.request.uri.path matches \"^/path1/.*\"", - "characteristics": ["cf.unique_visitor_id"], - "action": "block", - "period": 60, - "requestsPerPeriod": 50, - "mitigationTimeout": 600, - "countingExpression": "http.request.uri.path matches \"^/path1/.*\" and http.response.code eq 400", - "enabled": false, - "lastUpdated": "2022-12-14T21:25:22.329194Z" - }, - { - "ruleId": "2c0fc9fa937b11eaa1b71c4d701ab86e", - "description": "Rate limit AS number 12345", - "expression": "ip.geoip.asnum eq 12345", - "characteristics": ["ip.src"], - "action": "managed_challenge", - "period": 600, - "requestsPerPeriod": 1000, - "enabled": true, - "lastUpdated": "2022-12-14T21:47:24.323223Z" - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafgroup-put-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafgroup-put-request.raml deleted file mode 100644 index 75e1658b..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafgroup-put-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "action": "monitor", - "mode": "on" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafgroup-put-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafgroup-put-response.raml deleted file mode 100644 index 44662969..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafgroup-put-response.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "groupId": "f90712123fb02287348dd34c0a282bb9", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "mode": "on", - "description": "This WAF Group contains a number of rules that have been created to deal with specific attack types. " - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafgroups-get-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafgroups-get-response.raml deleted file mode 100644 index cc5d41d0..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafgroups-get-response.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": [ - { - "groupId": "f90712123fb02287348dd34c0a282bb9", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "mode": "on", - "description": "This WAF Group contains a number of rules that have been created to deal with specific attack types. " - }, - - { - "groupId": "da9d75b083345c63f48e6fde5f617a8b", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "mode": "on", - "description": "This WAF Group contains rules to deal with known malicious traffic or patch flaws in specific web applications." - } - - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafrule-get-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafrule-get-response.raml deleted file mode 100644 index 76ac2d70..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafrule-get-response.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "ruleId": "100001", - "groupId": "f90712123fb02287348dd34c0a282bb9", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "action": "monitor", - "defaultAction": "challenge", - "description": "Anomaly:Header:User-Agent - Missing" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafrule-put-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafrule-put-request.raml deleted file mode 100644 index bdf57ddb..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafrule-put-request.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "action": "monitor" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafrule-put-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafrule-put-response.raml deleted file mode 100644 index ba975cad..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafrule-put-response.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "ruleId": "100001", - "groupId": "f90712123fb02287348dd34c0a282bb9", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "action": "monitor", - "defaultAction": "challenge", - "description": "Anomaly:Header:User-Agent - Missing " - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafrules-get-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafrules-get-response.raml deleted file mode 100644 index b091c4ed..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/waf/wafrules-get-response.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": [ - { - "ruleId": "100001", - "groupId": "f90712123fb02287348dd34c0a282bb9", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "action": "monitor", - "defaultAction": "challenge", - "description": "Anomaly:Header:User-Agent - Missing" - }, - { - "ruleId": "100002", - "groupId": "f90712123fb02287348dd34c0a282bb9", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "action": "monitor", - "defaultAction": "challenge", - "description": "DoS - IE6 Binary POST" - }, - { - "ruleId": "100002A", - "groupId": "f90712123fb02287348dd34c0a282bb9", - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "action": "monitor", - "defaultAction": "challenge", - "description": "DoS - CtrlFunc Botnet" - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-response.raml deleted file mode 100644 index 8186305d..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-response.raml +++ /dev/null @@ -1,48 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": [ - { - "ruleId": "8ac8bc2a661e475d940980f9317f28e1", - "action": "block", - "score": 5, - "categories": [ - "application-multi", - "attack-generic", - "capec-1000", - "capec-210", - "capec-220", - "capec-272", - "capec-274", - "language-multi", - "paranoia-level-1", - "pci-12-1", - "platform-multi" - ], - "description": "911100: Method is not allowed by policy", - "lastUpdated": "2024-08-19T17:26:58.593021Z", - "enabled": false - }, - { - "ruleId": "53065ac9bd9449f3895f1865467a0e6a", - "action": "block", - "score": 5, - "categories": [ - "application-multi", - "attack-reputation-scanner", - "capec-1000", - "capec-118", - "capec-224", - "capec-310", - "capec-541", - "language-multi", - "paranoia-level-1", - "pci-6-5-10", - "platform-multi" - ], - "description": "913100: Found User-Agent associated with security scanner", - "lastUpdated": "2024-08-19T17:26:58.593021Z", - "enabled": true - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-request.raml deleted file mode 100644 index 7299d0cc..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-request.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "action": "log", - "enabled": true - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-response.raml deleted file mode 100644 index d1e529c4..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-response.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": { - "ruleId": "53065ac9bd9449f3895f1865467a0e6a", - "action": "log", - "score": 5, - "categories": [ - "application-multi", - "attack-reputation-scanner", - "capec-1000", - "capec-118", - "capec-224", - "capec-310", - "capec-541", - "language-multi", - "paranoia-level-1", - "pci-6-5-10", - "platform-multi" - ], - "description": "913100: Found User-Agent associated with security scanner", - "lastUpdated": "2024-08-19T17:26:58.593021Z", - "enabled": true - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-response.raml deleted file mode 100644 index a5ea8529..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-response.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": [ - { - "name": "Managed Ruleset", - "rulesetId": "efb7b8c949ac4650a09736fc376e9aee", - "action": "default", - "enabled": true - }, - { - "name": "OWASP Core Ruleset", - "rulesetId": "4814384a9e5d4991b9815dcfc25d2f1f", - "action": "log", - "anomalyScoreThreshold": 25, - "anomalyScore": "high", - "paranoiaLevel": 1, - "enabled": true - }, - { - "name": "Leaked Crednetials Check Ruleset", - "rulesetId": "c2e184081120413c86c3ab7e14069605", - "action": "block", - "enabled": true - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-update-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-update-request.raml deleted file mode 100644 index 6cd9d0f6..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-update-request.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "action": "js_challenge", - "enabled": true - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-update-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-update-response.raml deleted file mode 100644 index e01f0683..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rulesets-update-response.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": { - "name": "Managed Ruleset", - "rulesetId": "efb7b8c949ac4650a09736fc376e9aee", - "action": "js_challenge", - "enabled": true - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafpackages/wafpackages_get_example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafpackages/wafpackages_get_example.raml deleted file mode 100644 index 9fb6a21f..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafpackages/wafpackages_get_example.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "data" : - { - "id": "c504870194831cd12c3fc0284f294abb", - "name": "OWASP ModSecurity Core Rule Set", - "description": "OWASP Core Ruleset (2013) provides protection against common attack categories, including SQL Injection and Cross-Site Scripting.", - "zone_id": "56702a674281951f541f9f304f7431f0", - "detection_mode": "anomaly", - "sensitivity": "low", - "action_mode": "simulate" - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafpackages/wafpackages_patch_example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafpackages/wafpackages_patch_example.raml deleted file mode 100644 index 0b043467..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafpackages/wafpackages_patch_example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "data" : - { - "sensitivity": "low", - "action_mode": "simulate" - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-post-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-post-request.raml deleted file mode 100644 index d83b6a82..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-post-request.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 NamedExample - -Request Body Example for Self-Managed Certificate: - { - "hostname": "www.salesforce.com", - "certificate": "-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIJAMHAwfXZ5PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\nBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX\naWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF\nMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1\nCGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB\nKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5\n0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI\ndZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2\nizNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4\n9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA5BRb6FJI\nGKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV\nBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF\nMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2\n2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP\nMlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG\nSvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq\n2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw\nYbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY=\n-----END CERTIFICATE-----", - "privateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG\ndtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn\nabIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid\ntnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py\nFxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE\newooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb\nHBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/\naxiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb\n+ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g\n+j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv\nKLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7\n9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo\n/WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu\niacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9\nN2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe\nVAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB\nvULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U\nlySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR\n9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7\nmEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX\ndFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe\nPG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS\nfhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W\nqu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T\nlv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi\n-----END RSA PRIVATE KEY-----" - } - -Request Body Example 1 for eCDN-Managed Certificate: - { - "hostname": "test.salesforce.com", - "certificateType": "automatic", - "certificateAuthority": "lets_encrypt" - } - -Request Body Example 2 for eCDN-Managed Certificate: - { - "hostname": "test.salesforce.com", - "certificateType": "automatic", - "certificateAuthority": "google", - "certificateValidation": "txt" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response.raml deleted file mode 100644 index 966c4eb4..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "certificateId": "730a1be4-22d7-11eb-aff1-0242ac120002", - "status": "ACTIVE", - "hosts": ["salesforce.com"], - "expiresOn": "2022-01-12T04:15:57Z", - "uploadedOn": "2020-01-12T04:15:57Z", - "issuer": "DigiCert", - "signature": "SHA256WithRSA", - "customHostnameVerificationTXTName": "_salesforce.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameId": "465a48f6-3d98-4c15-9312-211984ee8629", - "customHostname": "test.salesforce.com", - "customHostnameStatus": "ACTIVE" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response1.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response1.raml deleted file mode 100644 index 47766b63..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response1.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "certificateId": "730a1be4-22d7-11eb-aff1-0242ac120002", - "status": "ACTIVE", - "hosts": ["salesforce.com"], - "expiresOn": "2022-01-12T04:15:57Z", - "uploadedOn": "2020-01-12T04:15:57Z", - "issuer": "DigiCert", - "signature": "SHA256WithRSA", - "certificateType": "custom", - "customHostnameVerificationTXTName": "_salesforce.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameId": "465a48f6-3d98-4c15-9312-211984ee8629", - "customHostname": "test.salesforce.com", - "customHostnameStatus": "ACTIVE" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response2.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response2.raml deleted file mode 100644 index 564e88e4..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-post-response2.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "certificateId": "730a1be4-22d7-11eb-aff1-0242ac120002", - "hosts": ["salesforce.com"], - "expiresOn": "2022-01-12T04:15:57Z", - "uploadedOn": "2020-01-12T04:15:57Z", - "status": "PENDING", - "certificateType": "automatic", - "certificateAuthority": "google", - "certificateValidation": "txt", - "certificateVerificationTXTName": "_acme-challenge.test.example.com", - "certificateVerificationTXTValue": "SH5Yet8S5dBwPXcRcCjXdf9FXMBVnQjihQ8oN8LoMv0", - "certificateVerificationStatus": "PENDING", - "customHostnameVerificationTXTName": "_salesforce.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameId": "465a48f6-3d98-4c15-9312-211984ee8629", - "customHostname": "test.salesforce.com", - "customHostnameStatus": "ACTIVE" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-update-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-update-request.raml deleted file mode 100644 index ec28bd62..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-update-request.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 NamedExample - -Request Body Example for Self-Managed Certificate: - { - "hostname": "www.salesforce.com", - "certificate": "-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIJAMHAwfXZ5PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\nBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX\naWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF\nMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1\nCGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB\nKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5\n0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEI\ndZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2\nizNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4\n9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBTLbE49rWf288N6sJA5BRb6FJI\nGKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV\nBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5/PWMAwGA1UdEwQF\nMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2\n2satiyzHl4OnXcHDpekAo7/a09c6Lz6AU83cKy/+x3/djYHXWba7HpEu0dR3ugQP\nMlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG\nSvD8RX+T01wzox/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN/LAcc+14vioFq\n2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw\nYbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT/NBy4rzaskDJY5L6xmY=\n-----END CERTIFICATE-----", - "privateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG\ndtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn\nabIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid\ntnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py\nFxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE\newooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb\nHBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/\naxiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb\n+ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g\n+j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv\nKLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7\n9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo\n/WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu\niacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9\nN2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe\nVAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB\nvULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U\nlySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR\n9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7\nmEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX\ndFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe\nPG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS\nfhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W\nqu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T\nlv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi\n-----END RSA PRIVATE KEY-----" - } - -Request Body Example 1 for eCDN-Managed Certificate: - { - "hostname": "test.salesforce.com", - "certificateType": "automatic", - "certificateAuthority": "lets_encrypt" - } - -Request Body Example 2 for eCDN-Managed Certificate: - { - "hostname": "test.salesforce.com", - "certificateType": "automatic", - "certificateAuthority": "google", - "certificateValidation": "txt" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response.raml deleted file mode 100644 index 3b00bd66..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "certificateId": "730a1be4-22d7-11eb-aff1-0242ac120002", - "status": "ACTIVE", - "hosts": ["salesforce.com"], - "expiresOn": "2022-01-12T04:15:57Z", - "uploadedOn": "2020-01-12T04:15:57Z", - "customHostnameVerificationTXTName": "_salesforce.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameId": "465a48f6-3d98-4c15-9312-211984ee8629", - "customHostname": "test.salesforce.com", - "customHostnameStatus": "ACTIVE" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response1.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response1.raml deleted file mode 100644 index da503a38..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response1.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "certificateId": "730a1be4-22d7-11eb-aff1-0242ac120002", - "status": "ACTIVE", - "hosts": ["salesforce.com"], - "expiresOn": "2022-01-12T04:15:57Z", - "uploadedOn": "2020-01-12T04:15:57Z", - "customHostnameVerificationTXTName": "_salesforce.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameId": "465a48f6-3d98-4c15-9312-211984ee8629", - "customHostname": "test.salesforce.com", - "customHostnameStatus": "ACTIVE", - "certificateType": "custom" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response2.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response2.raml deleted file mode 100644 index 564e88e4..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificate-update-response2.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "certificateId": "730a1be4-22d7-11eb-aff1-0242ac120002", - "hosts": ["salesforce.com"], - "expiresOn": "2022-01-12T04:15:57Z", - "uploadedOn": "2020-01-12T04:15:57Z", - "status": "PENDING", - "certificateType": "automatic", - "certificateAuthority": "google", - "certificateValidation": "txt", - "certificateVerificationTXTName": "_acme-challenge.test.example.com", - "certificateVerificationTXTValue": "SH5Yet8S5dBwPXcRcCjXdf9FXMBVnQjihQ8oN8LoMv0", - "certificateVerificationStatus": "PENDING", - "customHostnameVerificationTXTName": "_salesforce.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameId": "465a48f6-3d98-4c15-9312-211984ee8629", - "customHostname": "test.salesforce.com", - "customHostnameStatus": "ACTIVE" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response.raml deleted file mode 100644 index 365c5410..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": [ - { - "certificateId": "3822ff90-ea29-44df-9e55-21300bb9419b", - "status": "EXPIRED", - "hosts": ["example.com", "www.example.com"], - "expiresOn": "2021-01-01T05:20:00Z", - "uploadedOn": "2016-01-01T05:20:00Z", - "signature": "SHA256WithRSA", - "certificateType": "automatic", - "certificateAuthority": "google", - "certificateValidation": "txt", - "certificateVerificationTXTName": "_acme-challenge.test.example.com", - "certificateVerificationTXTValue": "SH5Yet8S5dBwPXcRcCjXdf9FXMBVnQjihQ8oN8LoMv0", - "certificateVerificationStatus": "PENDING", - "customHostnameVerificationTXTName": "_example.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameId": "354a48f6-3d98-4c15-9312-211984ee8518", - "customHostname": "custom.example.com", - "customHostnameStatus": "PENDING" - }, - { - "certificateId": "730a1be4-22d7-11eb-adc1-0242ac120002", - "status": "ACTIVE", - "hosts": ["salesforce.com", "www.salesforce.com"], - "expiresOn": "2021-01-12T04:15:57Z", - "uploadedOn": "2016-01-12T04:15:57Z", - "signature": "SHA256WithRSA", - "certificateType": "automatic", - "certificateValidation": "http", - "certificateAuthority": "lets_encrypt", - "certificateVerificationStatus": "ACTIVE", - "customHostnameVerificationTXTName": "_salesforce.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameId": "465a48f6-3d98-4c15-9312-211984ee8629", - "customHostname": "test.salesforce.com", - "customHostnameStatus": "ACTIVE" - }, - { - "certificateId": "540a1be4-11d7-21ed-abc1-0242ac121004", - "status": "ACTIVE", - "hosts": ["example2.com", "www.example.com"], - "expiresOn": "2021-01-12T04:15:57Z", - "uploadedOn": "2016-01-12T04:15:57Z", - "issuer": "DigiCert", - "signature": "SHA256WithRSA", - "certificateType": "custom", - "customHostnameVerificationTXTName": "_salesforce.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameId": "565a48f6-3d98-4c15-9312-211984ee8687", - "customHostname": "test.salesforce.com", - "customHostnameStatus": "ACTIVE" - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response1.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response1.raml deleted file mode 100644 index 47689ba5..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response1.raml +++ /dev/null @@ -1,55 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": [ - { - "certificateId": "14b72e2c-db8e-40ec-9f89-d80ca431a36e", - "status": "PENDING_VALIDATION", - "minTlsVersion": "1.2", - "certificateType": "automatic", - "certificateAuthority": "google", - "certificateValidation": "txt", - "certificateVerificationTXTName": "_acme-challenge.test.example.com", - "certificateVerificationTXTValue": "DBCtxdyQSyo9eXxys-uGVCwPFHLsc8_lu11QetQz4IA", - "certificateVerificationStatus": "PENDING", - "customHostnameId": "6c8beb36-a679-4eca-a09a-e3d6aca12787", - "customHostname": "test.example.com", - "customHostnameStatus": "ACTIVE" - }, - { - "certificateId": "16b3f671-de15-4ba8-8c02-84ba011b7751", - "hosts": [ - "shop.example.com" - ], - "expiresOn": "2024-05-27T22:58:10Z", - "uploadedOn": "2024-02-27T22:58:11Z", - "issuer": "LetsEncrypt", - "signature": "SHA256WithRSA", - "status": "ACTIVE", - "minTlsVersion": "1.2", - "certificateType": "automatic", - "certificateAuthority": "lets_encrypt", - "certificateValidation": "http", - "customHostnameId": "dd625c6d-8553-4d14-abc2-6d747866c8d9", - "customHostname": "shop.example.com", - "customHostnameStatus": "ACTIVE" - }, - { - "certificateId": "f135013c-2bf7-4225-b043-84cf35a93e12", - "hosts": [ - "*.example.com" - ], - "expiresOn": "2024-04-09T20:36:39Z", - "uploadedOn": "2024-03-19T22:32:41Z", - "issuer": "LetsEncrypt", - "signature": "SHA256WithRSA", - "status": "ACTIVE", - "minTlsVersion": "1.2", - "certificateType": "custom", - "customHostnameId": "6567aee6-bdbe-4cb1-9f4b-73209c5e867a", - "customHostname": "www.example.com", - "customHostnameStatus": "ACTIVE" - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response2.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response2.raml deleted file mode 100644 index e013691c..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/certificates-get-response2.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": [ - { - "certificateId": "dc95610a-9a20-4e24-b6d6-232df5fc32d1", - "hosts": [ - "shop.example.com" - ], - "expiresOn": "2024-05-14T23:00:45Z", - "uploadedOn": "2024-03-19T21:28:36Z", - "issuer": "LetsEncrypt", - "signature": "SHA256WithRSA", - "status": "ACTIVE", - "certificateType": "custom_legacy" - }, - { - "certificateId": "3a2a71c6-c00f-41c4-86dd-d6dc434851d5", - "hosts": [ - "www.example.com" - ], - "expiresOn": "2024-04-15T17:07:59Z", - "uploadedOn": "2024-03-19T21:28:36Z", - "issuer": "LetsEncrypt", - "signature": "SHA256WithRSA", - "status": "ACTIVE", - "certificateType": "custom_legacy" - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/custom-hostnames-patch-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/custom-hostnames-patch-response.raml deleted file mode 100644 index ec347c12..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/custom-hostnames-patch-response.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "customHostnameId": "465a48f6-3d98-4c15-9312-211984ee8629", - "customHostname": "test.salesforce.com", - "customHostnameVerificationTXTName": "_salesforce.com", - "customHostnameVerificationTXTValue": "4c9c3f4f-2e91-4c5d-a902-f12f9c285b9e", - "customHostnameStatus": "ACTIVE" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/security-settings-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/security-settings-response.raml deleted file mode 100644 index 5bae9210..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/security-settings-response.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample - { - "data": - { - "hsts": { - "enabled" : false, - "includeSubdomains" : false, - "maxAge" : 200, - "preload" : false - }, - "securityLevel" : "medium", - "tls13Enabled" : false, - "alwaysUseHttps": true - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/security-settings-update-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/security-settings-update-request.raml deleted file mode 100644 index d16d4897..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/security-settings-update-request.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "hsts": { - "enabled" : false, - "preload" : true - }, - "securityLevel" : "high", - "tls13Enabled" : true, - "alwaysUseHttps" : true -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/speed-settings-patch-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/speed-settings-patch-request.raml deleted file mode 100644 index e73b1afb..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/speed-settings-patch-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample - -Request Body Example: - { - "brotliCompression": "off", - "http2Prioritization": "off" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml deleted file mode 100644 index 2548311c..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample - -data: - brotliCompression: off - http2Prioritization: off - minifyCss: off - minfyHtml": off - minifyJs": off - polish: off - webp: off \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/storefront-zone-create-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/storefront-zone-create-request.raml deleted file mode 100644 index ae2a1286..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/storefront-zone-create-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample - - { - "domainName": "cc-merchant.com" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/storefront-zone-create-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/storefront-zone-create-response.raml deleted file mode 100644 index 0e62fcc9..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/storefront-zone-create-response.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": - { - "zoneId": "023e105f4ecef8ad9ca31a8372d0c353", - "zoneName": "stg-zzzz-cc-merchant-com.cc-ecdn.net", - "createdOn": "2022-01-01T05:20:00.12345Z", - "status": "active" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/worker-update-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/worker-update-request.raml deleted file mode 100644 index 3deb65f6..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/worker-update-request.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample - -Request Body Example: - { - "version": "2.0.12" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/zones-get-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/zones-get-response.raml deleted file mode 100644 index 65f04976..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/zones-get-response.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "data": [ - { - "zoneId": "e4288c0a1f80fa5490b598d74c69bde4", - "name": "sfcc-cdn.net", - "status": "pending" - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange.json deleted file mode 100644 index 0a897818..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "dependencies": [ - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "provided": false - }, - { - "version": "1.1.12", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "provided": false - } - ], - "version": "1.0.36", - "apiVersion": "1.0.36", - "descriptorVersion": "1.0.0", - "classifier": "raml", - "main": "cdnapi-process-api.raml", - "assetId": "cdn-api-process-apis", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "CDN API - Process APIs" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml deleted file mode 100644 index 3fa2f65e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml deleted file mode 100644 index 9270d9e3..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml deleted file mode 100644 index 27fa085f..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml +++ /dev/null @@ -1,95 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - 405: - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json deleted file mode 100644 index 75652f8c..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.12","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml deleted file mode 100644 index b616b750..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/api-standards.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/api-standards.raml deleted file mode 100644 index 1f282c6d..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/api-standards.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - -uses: - Pagination: dataTypes/pagination-types.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/dataTypes/error-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/dataTypes/pagination-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/dataTypes/pagination-types.raml deleted file mode 100644 index 3241d73e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/dataTypes/pagination-types.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. - type: integer - default: 10 \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/example.raml deleted file mode 100644 index e9316646..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/example.raml +++ /dev/null @@ -1,86 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/exchange.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/exchange.json deleted file mode 100644 index 51c2d418..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":["library"],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.6","apiVersion":"v1","dependencies":[],"metadata":{"projectId":"3ca896ab-161d-4b74-aac8-2ad01f3f8e57","branchId":"master","commitId":"8cec4b3ecd0629648486b6496fb8a8266d682b47"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/securitySchemes/gdot.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/securitySchemes/gdot.raml deleted file mode 100644 index 3afcaaf8..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/async-created.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/async-created.raml deleted file mode 100644 index 477949b5..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/async-created.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/date-conditional-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/etag-conditional-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/etag-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/offset-paginated.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/offset-paginated.raml deleted file mode 100644 index 9dde8bcd..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/offset-paginated.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: number - description: The starting offset returned. - SFDC-Pagination-Limit: - type: number - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: number - description: The total number of records available. - SFDC-Pagination-Result-Count?: - type: number - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 25c8884e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index 4463d386..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited-2.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited-3.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited-4.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited-5.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/sync-created.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/sync-created.raml deleted file mode 100644 index 2f6e3ef5..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.6/traits/sync-created.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Documentation/baseUri.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/BoolFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/BoolFilter.json deleted file mode 100644 index 445d1d99..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "coupon_id", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/BoolQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/BoolQuery.json deleted file mode 100644 index a2822b70..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "coupon_id" - ], - "searchPhrase": "limit" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "limit per customer" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/Filter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/FilteredQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/FilteredQuery.json deleted file mode 100644 index 8a066d26..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "coupon_id" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/NestedQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/NestedQuery.json deleted file mode 100644 index c7fde473..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shipping_addresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shipping_addresses.first_name" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shipping_addresses.last_name" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/Query.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/Query.json deleted file mode 100644 index e5cc5ba8..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "coupon_id" - ], - "search_phrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/QueryFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/Range2Filter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/Range2Filter.json deleted file mode 100644 index a89863cf..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "valid_from", - "toField": "valid_to", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/RangeFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/RangeFilter.json deleted file mode 100644 index ce03a474..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemption_count", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/SearchRequest.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/SearchRequest.json deleted file mode 100644 index a71ecf4c..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/SearchRequest.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "count" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "start" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/SearchResult.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/SearchResult.json deleted file mode 100644 index 420658a2..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/SearchResult.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "limit" : 4, - "hits" : [], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "campaign" } }, - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/TermFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/TermFilter.json deleted file mode 100644 index 222b23a3..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "my_id" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/TermQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/TextQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/TextQuery.json deleted file mode 100644 index 851c9c85..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "coupon_id" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 40b5ac41..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Types/ISO-standards.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Types/ISO-standards.raml deleted file mode 100644 index 88339b04..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Types/ISO-standards.raml +++ /dev/null @@ -1,65 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. - type: ISOCurrency | NoValue - Money: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. - type: LanguageCountry | Language | DefaultFallback - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Types/error-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Types/pagination-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Types/pagination-types.raml deleted file mode 100644 index 65bbdab8..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Types/pagination-types.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. - type: integer - default: 10 \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Types/search-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Types/search-types.raml deleted file mode 100644 index 1b23085c..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/Types/search-types.raml +++ /dev/null @@ -1,373 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - ApiStandards: pagination-types.raml - -types: - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int32 - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: array - items: - type: any - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses that 'must', 'should', or 'must not' match. If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. - type: object - example: !include ../Examples/BoolQuery.json - properties: - must?: - description: List of queries that must match. - type: array - items: - type: any - mustNot?: - description: List of queries that must not match. - type: array - items: - type: any - should?: - description: List of queries that should match. - type: array - items: - type: any - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - example: {} - NestedQuery: - description: | - **Elastic only**: Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints (like color = blue AND size = M). **Example**: Find all the documents that have firstname = "John" and lastname = "Doe". - - _This is only applicable for searches that use the Search Service._ - **NEEDS REVIEW** - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - **NEEDS REVIEW** - type: string - query: - description: The query to run on the nested document. - **NEEDS REVIEW** - type: any - scoreMode: - description: | - - **NEEDS REVIEW** - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid when querying a resource indexed by the Search Service._ - **NEEDS REVIEW** - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - **Example**: Valid dates overlap with the range January 1, 2007 through January 1, 2017. - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - **Example**: ( redemption_count BETWEEN (0,10] ) - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequest: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequest.json - properties: - limit?: - type: ApiStandards.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. - type: array - items: - type: Sort - required: false - offset?: ApiStandards.Offset - PaginatedSearchResult: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResult - example: !include ../Examples/SearchResult.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: array - required: false - items: - type: Sort - SimpleSearchResult: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SearchResult.json - properties: - limit: - type: ApiStandards.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: array - required: false - items: - type: object - offset: ApiStandards.Offset - total: Total - - Sort: - description: Document representing a sort request. - type: object - example: { "field": "coupon_id", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - **Example**: (id="my_id") - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: array - items: - type: any - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - **Elastic only**: If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. **Example**: (id="my_id") - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: array - items: - type: string - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: array - items: - type: any - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - - **Example**: (coupon_id contains "xmas") - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: array - items: - type: string - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/commerce-cloud-standards.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/commerce-cloud-standards.raml deleted file mode 100644 index 996c86cb..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/commerce-cloud-standards.raml +++ /dev/null @@ -1,89 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a securitys scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - Search: Types/search-types.raml - ApiStandards: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequest - PaginatedSearchResult: Search.PaginatedSearchResult - SimpleSearchResult: Search.SimpleSearchResult - - CurrencyCode: ISO.Currency - Money: ISO.Money - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: ApiStandards.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: ApiStandards.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/example.raml deleted file mode 100644 index 87110989..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/example.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 -title: An example file demonstrating the usage of the commerce cloud standards library -version: v1 -mediaType: - - application/json - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - get: - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - get: - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - body: - type: CommerceCloudStandards.PaginatedSearchResult diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/exchange.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/exchange.json deleted file mode 100644 index cfb36952..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.12/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud API Standards","classifier":"raml-fragment","tags":["trait"],"dependencies":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"commerce-cloud-standards","version":"1.0.12","metadata":{"projectId":"aa6a9e56-2469-4ff8-afd2-261d4784b474","branchId":"master","commitId":"6eb3cb6c016a42aed0077f11a4b3d56e2999571c"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml deleted file mode 100644 index 4530d24e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml deleted file mode 100644 index 0a2aefa8..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml +++ /dev/null @@ -1,111 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json deleted file mode 100644 index b7967978..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.17"} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/glossary.md b/testIntegration/stagingApis/cdn/cdn-api-process-apis/glossary.md deleted file mode 100644 index 1448623b..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/glossary.md +++ /dev/null @@ -1 +0,0 @@ -This content has moved to the [CDN Zones guide](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones.html). \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasBadRequestResponse.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasBadRequestResponse.raml deleted file mode 100644 index 8b7c6c45..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasBadRequestResponse.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to the **response** on endpoints that can send back a 400 - Bad Request. - -uses: - ApiStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - -responses: - 400: - description: | - The request sent by the caller is not valid. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: !include ../examples/error/bad-request-example.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasConflictResponse.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasConflictResponse.raml deleted file mode 100644 index 73d47913..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasConflictResponse.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to the **response** on endpoints that can send back a 409 - Conflict. - -uses: - ApiStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - -responses: - 409: - description: | - The request sent by the caller is conflicted. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: !include ../examples/error/conflict-example.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasForbiddenAccessResponse.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasForbiddenAccessResponse.raml deleted file mode 100644 index 00966f9a..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasForbiddenAccessResponse.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to the **response** on endpoints that can send back a 403 - Access Forbidden exception. - -uses: - ApiStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - -responses: - 403: - description: | - The caller does not have access to requested resource. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: !include ../examples/error/forbidden-access-example.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasInternalServerErrorResponse.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasInternalServerErrorResponse.raml deleted file mode 100644 index 37ffeb9e..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasInternalServerErrorResponse.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to the **response** on endpoints that can send back a 500 - Internal Server Error response. - -uses: - ApiStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - -responses: - 500: - description: | - An error occurred on the server side. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: !include ../examples/error/internal-server-error-example.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasResourceNotFoundResponse.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasResourceNotFoundResponse.raml deleted file mode 100644 index 69c5aa91..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasResourceNotFoundResponse.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to the **response** on endpoints that can send back a 404 - Resource Not Found exception. - -uses: - ApiStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - -responses: - 404: - description: | - The resource requested by the caller was not found. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: !include ../examples/error/resource-not-found-example.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasUnauthorizedResponse.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasUnauthorizedResponse.raml deleted file mode 100644 index 7ad07c20..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/traits/HasUnauthorizedResponse.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to the **response** on endpoints that can send back a 403 - Access Forbidden exception. - -uses: - ApiStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - -responses: - 401: - description: | - The caller is not authorized to access the requested resource. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: !include ../examples/error/unauthorized-example.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/use-cases.md b/testIntegration/stagingApis/cdn/cdn-api-process-apis/use-cases.md deleted file mode 100644 index ac062b5c..00000000 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/use-cases.md +++ /dev/null @@ -1 +0,0 @@ -This content has moved to the [CDN Zones guide](https://developer.salesforce.com/docs/commerce/commerce-api/guide/cdn-zones.html). diff --git a/testIntegration/stagingApis/checkout/orders/.metadata.json b/testIntegration/stagingApis/checkout/orders/.metadata.json deleted file mode 100644 index 33be9ea5..00000000 --- a/testIntegration/stagingApis/checkout/orders/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/orders/1.4.4", - "name": "Orders", - "description": "Manage order and order payment status.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "orders", - "version": "1.4.4", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Checkout" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/checkout/orders/create-order-description.md b/testIntegration/stagingApis/checkout/orders/create-order-description.md deleted file mode 100644 index f1387ba4..00000000 --- a/testIntegration/stagingApis/checkout/orders/create-order-description.md +++ /dev/null @@ -1,84 +0,0 @@ -Use this endpoint whenever a fully calculated and paid or authorized order is created in any third-party system. - -The endpoint can create an order on-the-fly in the Commerce Cloud platform by passing the order as JSON payload in the body of the POST request. - -Other than the Basket API, this endpoint decouples any relation to other system domains, such as: - -- Products -- Inventory -- Promotions -- Gift certificates -- Coupons - -The order isn't treated differently than any other orders in the Commerce Cloud platform, and any status updates or order exports behave the same. - -**Note**: For the custom attribute to be available for orders, configure it in Business Manager for both Basket and Order objects. - -**Important**: This endpoint uses the `ShopperTokenTsob` security scheme. Always check the Security section of the endpoint documentation, which is hidden by default. - -## Preconditions - -The checkout must happen before making a request to this endpoint. That means that all sanity checks _are_ applied, the inventory _is_ reserved, the payment _is_ authorized, and the Basket _is_ fully calculated (including all promotions). - -When meeting these conditions, it's possible to create the order in the Commerce Cloud platform. - -## Decoupling - -This endpoint can create an order with unknown products, with different pricing for known products, any unplanned price-adjustments (unrelated to the system's configured promotions), passing unknown payment, and shipping methods. - -**Note**: There's no lookup or calculation, even if the passed object is configured in the platform. - -## Still Coupled - -The endpoint is still coupled to the following: - -- the taxation policy (gross or net) is used from the site's preferences. -- the passed currency must be defined in the site. - -## Calculation - -There's no multiplying or dividing operations performed by the platform on this order. - -The following fields are summed up during runtime on the platform: - -**Order Level** - -- `adjustedMerchandizeTotalTax` -- `adjustedShippingTotalTax` -- `merchandizeTotalTax` -- `adjustedTax` -- `productSubTotal` -- `productTotal` -- `shippingTotalTax` -- `orderTotal` -- `taxTotal` - -**Line Item Level** - -- `priceAfterItemDiscount` -- `priceAfterOrderDiscount` -- `adjustedTax` - -**Shipment** - -- `merchandizeTotalTax` -- `productSubTotal` -- `productTotal` -- `shippingTotalTax` - -To make sure the fields are summed up correctly, the passed `orderTotal` and `taxTotal` are compared to the platform's summed up `orderTotal` and `taxTotal`. - -An `InvalidOrderTotalException` or `InvalidTaxTotalException` is thrown if the calculation doesn't match. - -The `orderTotal` and `taxTotal` are calculated as follows: - -- `orderTotal` = sum(`ProductLineItems.grossPrice`) + sum(`Shipments.shipmentTotal`) - sum(`ProductLineItems.PriceAdjustments.grossPrice` + `Order.PriceAdjustments.grossPrice`) -- `taxTotal` = sum (`ProductLineItems.tax`) + sum(`Shipments.taxTotal`) - sum(`ProductLineItems.PriceAdjustments.tax` + `Order.PriceAdjustments.tax`) - -## Order Status - -The order is automatically placed after creation. - -The payment status can be set via payload. - -All other status can be set via PATCH `orders/{orderNo}/status`. diff --git a/testIntegration/stagingApis/checkout/orders/data-types.raml b/testIntegration/stagingApis/checkout/orders/data-types.raml deleted file mode 100644 index 304ac431..00000000 --- a/testIntegration/stagingApis/checkout/orders/data-types.raml +++ /dev/null @@ -1,2327 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all order relevant data types - -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - OrderUpdateRequest: - description: |- - Request body to create an order and set custom attributes on the order. - Please note that the custom attribute definition have to be configured both on the Basket and Order object in the platform. - type: - CommerceCloudStandards.OpenObject - properties: - PaymentInstrumentUpdateRequest: - description: |- - Request body to update custom properties. - type: - CommerceCloudStandards.OpenObject - properties: - PaymentTransactionUpdateRequest: - description: |- - Request body to update custom properties. - type: - CommerceCloudStandards.OpenObject - properties: - OrderConfirmationStatus: - description: |- - The order confirmation status. - type: string - enum: - - confirmed - - not_confirmed - example: - confirmed - OrderConfirmationStatusUpdateRequest: - description: |- - Request body to update the order confirmation status. - type: - CommerceCloudStandards.ClosedObject - properties: - status: - type: OrderConfirmationStatus - OrderExportStatus: - description: |- - The order export status. - type: string - enum: - - exported - - not_exported - - ready - - failed - example: - exported - OrderExportStatusUpdateRequest: - description: |- - Request body to update the order export status. - type: - CommerceCloudStandards.ClosedObject - properties: - status: - type: OrderExportStatus - OrderExternalStatusUpdateRequest: - description: |- - Request body to update the order external status. - type: - CommerceCloudStandards.ClosedObject - properties: - status: - description: |- - The new external status. - type: string - minLength: 1 - maxLength: 256 - example: - in_delivery - OrderPaymentStatus: - description: |- - The order payment status. - type: string - enum: - - paid - - part_paid - - not_paid - example: - paid - OrderPaymentStatusUpdateRequest: - description: |- - Request body to update the order payment status. - type: - CommerceCloudStandards.ClosedObject - properties: - status: - type: OrderPaymentStatus - OrderShippingStatus: - description: |- - The order shipping status. - type: string - enum: - - shipped - - part_shipped - - not_shipped - example: - shipped - OrderShippingStatusUpdateRequest: - description: |- - Request body to update the order shipping status. - type: - CommerceCloudStandards.ClosedObject - properties: - status: - type: OrderShippingStatus - OrderStatus: - description: |- - The order status. - type: string - enum: - - created - - new - - completed - - cancelled - - failed - example: - completed - OrderStatusUpdateRequest: - description: |- - Request body to update the order status. - type: - CommerceCloudStandards.ClosedObject - properties: - status: - description: |- - The new status. - type: string - enum: - - created - - new - - completed - - cancelled - - failed - - failed_with_reopen - example: - new - ShippingAddressUpdateRequest: - description: |- - Request body to update the shipping address. - type: - Address - properties: - OrdersResponse: - description: |- - Document representing an orders result. - type: - CommerceCloudStandards.ClosedObject - properties: - data: - description: |- - The orders data. - type: array - items: - type: Order - Order: - description: |- - Document representing an order. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as shipping. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. - type: number - format: double - example: - 0.3 - affiliatePartnerId?: - description: |- - The affiliate partner ID. - type: string - maxLength: 256 - example: - PARTNER_US_001 - affiliatePartnerName?: - description: |- - The affiliate partner name. - type: string - maxLength: 256 - example: - PARTNER_US_001 - billingAddress?: - description: |- - The billing address. - type: Address - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - businessType?: - description: |- - The business type. - type: string - enum: - - b2c - - b2b - example: - b2c - cancelCode?: - description: |- - The cancellation code. - type: string - maxLength: 256 - example: - canceled - cancelDescription?: - description: |- - The cancellation description. - type: string - maxLength: 4000 - example: - Ordered by mistake. - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - storefront - confirmationStatus?: - type: OrderConfirmationStatus - example: - confirmed - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. - type: string - maxLength: 256 - example: - Customer - creationDate?: - description: |- - The timestamp when the order was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - type: - CommerceCloudStandards.CurrencyCode - customerInfo?: - description: |- - The customer information for guest or logged-in customers. - type: CustomerInfo - customerLocale?: - description: |- - The locale of the customer who created the order. - type: string - maxLength: 256 - example: - en_US - customerOrderReference?: - description: |- - The customer-specific reference information. - type: string - maxLength: 256 - example: - REF_US_143 - exportStatus?: - type: OrderExportStatus - externalOrderNo?: - description: |- - The external order number associated with the order. - type: string - maxLength: 256 - example: - "00000410" - externalOrderStatus?: - description: |- - The status from an external order associated with this order. - type: string - maxLength: 256 - example: - Submitted - externalOrderText?: - description: |- - The text from an external order associated with this order. - type: string - maxLength: 4000 - example: - Order is being prepared - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. - type: string - maxLength: 256 - invoiceNo?: - description: |- - The invoice number. - type: string - maxLength: 256 - example: - "00000410" - lastModified?: - description: |- - The timestamp when the order was last modified. - type: datetime - example: - 2020-11-04T14:13:31.061Z - merchandizeTotalTax?: - description: |- - The total tax on products in the order, not including price adjustments or service charges such as shipping. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: array - items: - type: OrderNote - orderNo: - description: |- - The order number. - type: string - minLength: 1 - maxLength: 50 - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and, tax. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: PaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: OrderPaymentStatus - example: - paid - placeDate?: - description: |- - The timestamp when the order was placed. - type: datetime - example: - 2015-05-19T15:23:18.000Z - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99 - remoteHost?: - description: |- - The IP of the host that placed this order. You can turn IP logging on or off for your site. - type: string - maxLength: 40 - example: - 127.0.0.1 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: OrderShippingStatus - example: - shipped - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. - type: number - format: double - example: - 0.3 - siteId?: - description: |- - The order site. - type: string - maxLength: 32 - example: - ShoppingSite - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. - type: string - maxLength: 256 - sourceCodeGroupId?: - description: |- - The group ID of the source code assigned to the basket from which this order was created. - type: string - minLength: 1 - maxLength: 256 - status?: - description: |- - The status. - type: OrderStatus - example: - new - taxTotal?: - description: |- - The total tax amount. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). - type: string - enum: - - gross - - net - example: - net - Address: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - maxLength: 256 - example: - 45 Main Rd. - address2?: - description: |- - The second address line. - type: string - maxLength: 256 - example: - Apartment 204 - city?: - description: |- - The city. - type: string - maxLength: 256 - example: - Burlington - companyName?: - description: |- - The company name. - type: string - maxLength: 256 - example: - Salesforce - countryCode?: - type: CommerceCloudStandards.CountryCode - firstName?: - description: |- - The first name. - type: string - maxLength: 256 - example: - Max - fullName?: - description: |- - The full name. - type: string - maxLength: 256 - example: - Max Mustermann - jobTitle?: - description: |- - The job title. - type: string - maxLength: 256 - example: - Software Engineer - lastName?: - description: |- - The last name. - type: string - maxLength: 256 - example: - Mustermann - phone?: - description: |- - The phone number. - type: string - maxLength: 256 - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - maxLength: 256 - example: - PO BOX 109 - postalCode?: - description: |- - The postal code. - type: string - maxLength: 256 - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - maxLength: 256 - example: - Mr - secondName?: - description: |- - The second name. - type: string - maxLength: 256 - stateCode?: - description: |- - The state code. - type: string - maxLength: 256 - example: - MA - suffix?: - description: |- - The suffix. - type: string - maxLength: 256 - example: - Sr - suite?: - description: |- - The suite. - type: string - maxLength: 256 - title?: - description: |- - The title. - type: string - maxLength: 256 - example: - Dr - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductReference - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - maxLength: 256 - example: - 5ties - id?: - description: |- - The ID of the line item. - type: string - minLength: 1 - maxLength: 256 - example: - 91f4dd8bfa0653d58b7783b04f - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - maxLength: 256 - example: - Buy1Get2 - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The coupon code. - type: string - maxLength: 256 - example: - 5ties - couponItemId?: - description: |- - The coupon item ID. - type: string - minLength: 1 - maxLength: 256 - example: - d4c9c0141e9c74c150225580f3 - statusCode?: - description: |- - The status of the coupon item. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - no_applicable_promotion - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if the status code is "applied" or "no_applicable_promotion". - type: boolean - example: - true - CustomerInfo: - description: |- - Document representing a guest or logged-in customer. - type: - CommerceCloudStandards.ClosedObject - properties: - customerId?: - description: |- - The customer id. - type: string - maxLength: 100 - example: - abMKqMaNYOBMnNdDNzyC5oNTi5 - customerName?: - description: |- - The customer name. - type: string - maxLength: 256 - example: - Max Mustermann - customerNo?: - description: |- - The customer number. - type: string - maxLength: 100 - example: - "0002352" - email?: - description: |- - The customer email address. - type: string - maxLength: 256 - example: - no-reply@salesforce.com - guest?: - description: |- - A flag indicating if the order was placed by a guest. - type: boolean - example: - false - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.00 - grossPrice?: - description: |- - The gross price of the line item before applying any adjustments. - type: number - format: double - example: - 50.00 - itemText?: - description: |- - The text describing the item. - type: string - maxLength: 256 - example: - Nintendo eShop gift card. - netPrice?: - description: |- - The net price of the line item before applying any adjustments. - type: number - format: double - example: - 50.00 - tax?: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 50.00 - giftCertificateMerchantId?: - description: |- - The ID used to identify the certificate merchant. - type: string - minLength: 1 - maxLength: 256 - example: - Nintendo - giftCertificateItemId?: - description: |- - The item ID. - type: string - minLength: 1 - maxLength: 256 - example: - 629dea6e7b61e58da629b57b21 - message?: - description: |- - The gift certificate message. - type: string - maxLength: 4000 - example: - Birthday present. - recipientEmail?: - description: |- - The recipient email. - type: string - maxLength: 256 - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient name. - type: string - maxLength: 256 - example: - Daniel Mustermann - senderName?: - description: |- - The sender name. - type: string - maxLength: 256 - example: - Max Mustermann - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - minLength: 1 - maxLength: 256 - example: - me - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product item. For example, a refrigerator item can have a set of option items representing different warranties on the refrigerator. A shopper can only purchase one of the warranty option items together with the parent refrigerator item. - type: - CommerceCloudStandards.OpenObject - properties: - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 49.99 - grossPrice?: - description: |- - The gross price of the line item before applying any adjustments. - type: number - format: double - example: - 99.99 - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - false - itemText?: - description: |- - The text describing the item. - type: string - maxLength: 256 - example: - Extended Warranty - None - netPrice?: - description: |- - The net price of the line item before applying any adjustments. - type: number - format: double - example: - 49.99 - tax?: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 50.00 - optionId?: - description: |- - The ID of the option. - type: string - minLength: 1 - maxLength: 256 - example: - consoleWarranty - optionValueId?: - description: |- - The ID of the option value. - type: string - minLength: 1 - maxLength: 256 - example: - "000" - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - productId: - description: |- - The ID of the product. - type: string - minLength: 1 - maxLength: 100 - example: - "000" - OrderNote: - description: |- - Document representing an order note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The name of the user who created the order note. - type: string - minLength: 1 - maxLength: 256 - example: - Support - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - subject?: - description: |- - The subject. - type: string - minLength: 1 - maxLength: 256 - example: - Order Created - text?: - description: |- - The order note text. - type: string - maxLength: 4000 - example: - Order was created. - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - basePrice?: - description: |- - The adjustment amount. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 12.00 - grossPrice?: - description: |- - The adjustment amount, including tax. - type: number - format: double - example: - 50.00 - itemText?: - description: |- - The text describing the adjustment. - type: string - maxLength: 256 - example: - Employee discount applied. - netPrice?: - description: |- - The adjustment amount, not including tax. - type: number - format: double - example: - 38.00 - tax?: - description: |- - The tax on the adjustment amount. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The amount used to calculate the tax for this adjustment. - type: number - format: double - example: - 50.00 - abTestSegment?: - description: |- - The AB testing segment, if enabled for the site and applicable to this price adjustment. - type: ABTestSegment - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments not based on a discount, this value is null. - type: Discount - campaignId?: - description: |- - The campaign ID of the promotion this price adjustment is based on. For adjustments not based on a promotion, this value is null. For adjustments based on an AB test promotion, this value is not null, but isn't meaningful. - type: string - minLength: 1 - maxLength: 256 - example: - FreeShipping24 - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments not based on a coupon, this value is null. - type: string - minLength: 1 - maxLength: 256 - example: - 5ties - createdBy?: - description: |- - The user who created the price adjustment. - type: string - maxLength: 256 - example: - Customer - creationDate?: - description: |- - The timestamp when the price adjustment was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This flag is set to true unless the price adjustment was created by the promotion engine. - type: boolean - example: - false - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. If the price adjustment was created by the promotion engine, this value is always false. - type: boolean - example: - false - priceAdjustmentId?: - description: |- - The price adjustment ID. - type: string - minLength: 1 - maxLength: 256 - example: - ba248424e3eee797f062161f8b - promotionId: - description: |- - The promotion ID of the promotion this price adjustment is based on. Custom price adjustment can assign an arbitrary promotion ID, but it must be not used by the promotion engine. If no promotion ID is specified, then the system assigns a generated ID. - type: string - minLength: 1 - maxLength: 256 - example: - FreeShipping24 - reasonCode?: - description: |- - The reason code why this price adjustment was made. - type: string - minLength: 1 - maxLength: 256 - example: - Employee discount was applied - PaymentInstrument: - description: |- - Document representing an order payment instrument. - type: - CommerceCloudStandards.OpenObject - properties: - bankRoutingNumber?: - description: |- - The bank routing number. - type: string - maxLength: 256 - example: - "6784532" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the with the last 4 characters not masked. - type: string - maxLength: 256 - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. - type: string - minLength: 1 - maxLength: 256 - example: - ba248424e3eee797f062162f8b - paymentMethodId?: - description: |- - The payment method ID. - type: string - maxLength: 256 - example: - CREDIT_CARD - paymentTransaction?: - description: |- - The payment transaction. - type: PaymentTransaction - PaymentTransaction: - description: |- - Document representing an order payment transaction. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. - type: Status - transactionId?: - description: |- - The payment service specific transaction ID. - type: string - maxLength: 256 - example: - 3226f0a3bc4b4f244d70dd1c2b - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.99 - grossPrice?: - description: |- - The gross price of the line item before applying any adjustments. - type: number - format: double - example: - 99.99 - itemText?: - description: |- - The text describing the item. - type: string - maxLength: 256 - example: - Nintendo DS Game Console - netPrice?: - description: |- - The net price of the line item before applying any adjustments. - type: number - format: double - example: - 80.99 - tax?: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 19.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 99.99 - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. - type: number - format: double - example: - 19.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. - type: string - minLength: 1 - maxLength: 256 - example: - ba248414e3eee797f062162f8b - bonusProductLineItem?: - description: |- - A flag indicating whether this item is a bonus product. - type: boolean - example: - false - brand?: - type: string - maxLength: 256 - example: - Nintendo - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - externalLineItemStatus?: - description: |- - The external line item status. - type: string - maxLength: 256 - example: - Available - externalLineItemText?: - description: |- - The external line item text. - type: string - example: - The item is available - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - maxLength: 4000 - example: - Happy Birthday - inventoryId?: - description: |- - The inventory list ID associated with this item. - type: string - maxLength: 256 - example: - inventory - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. - type: string - minLength: 1 - maxLength: 256 - example: - 430ef5aad3a24de59378458434 - minOrderQuantity?: - description: |- - The minimum order quantity for this product. - type: number - format: double - example: - 1 - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - position?: - description: |- - The position of the product line item. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - productId: - description: |- - The ID of the product. - type: string - minLength: 1 - maxLength: 100 - example: - nintendo-ds-console - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - maxLength: 4000 - example: - Nintendo DS Game Console - quantity?: - description: |- - The ordered quantity of the products represented by this item. - minimum: 0 - type: number - format: double - example: - 1 - shipmentId: - description: |- - The ID of the shipment this item belong to. - type: string - minLength: 1 - maxLength: 256 - example: - me - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a surcharge applied to individual products using a particular shipping method. - type: string - minLength: 1 - maxLength: 256 - example: - 006490dcc338feeafc71c964bf - stepQuantity?: - type: number - format: double - example: - 1 - taxRate: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. - type: number - format: double - example: - 0.19 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id?: - description: |- - The ID of the product list item. - type: string - minLength: 1 - maxLength: 256 - example: - ba248424e3fee797f062162f8b - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - product?: - description: |- - A reference to the associated product. - type: ProductReference - productList?: - description: |- - A reference to the associated product list. - type: ProductListReference - public?: - type: boolean - example: - false - purchasedQuantity: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListReference: - description: |- - Document representing a product list. - type: - CommerceCloudStandards.ClosedObject - properties: - description?: - description: |- - The description of this product list. - type: string - maxLength: 256 - name?: - description: |- - The name of this product list. - type: string - maxLength: 256 - public?: - description: |- - A flag indicating whether the owner made this product list available for access by other customers. - type: boolean - example: - false - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - wish_list - ProductReference: - description: |- - Document representing a product. - type: - CommerceCloudStandards.ClosedObject - properties: - productId?: - description: |- - The ID of the product. - type: string - minLength: 1 - maxLength: 100 - example: - nintendo-ds-console - productName?: - description: |- - The name of the product. - type: string - maxLength: 4000 - example: - Nintendo DS Game Console - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including service charges such as shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - maxLength: 4000 - example: - Happy Birthday - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as shipping. - type: number - format: double - example: - 1.50 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 29.99 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 29.99 - shipmentId: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - minLength: 1 - maxLength: 256 - shipmentNo: - description: |- - The shipment number of this shipment. This number is automatically generated. - type: string - maxLength: 256 - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, and tax. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: Address - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethodReference - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - shipped - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. This field will be checked against the summed up taxTotal and an InvalidTaxTotalException will be thrown if the values do not match. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - maxLength: 256 - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - grossPrice?: - description: |- - The gross price of the shipping item before applying any adjustments. - type: number - format: double - example: - 5.99 - itemText?: - description: |- - The text describing the shipping item. - type: string - maxLength: 256 - example: - Shipping - netPrice?: - description: |- - The net price of the shipping item before applying any adjustments. - type: number - format: double - example: - 5.99 - tax?: - description: |- - The tax for the shipping item, not including price adjustments. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The amount used to calculate the tax for this shipping item. - type: number - format: double - example: - 5.99 - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. - type: number - format: double - example: - 0.0 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a custom price adjustment for it. - type: string - minLength: 1 - maxLength: 256 - example: - ba248424e3eee798f062162f8b - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 4.99 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - minLength: 1 - maxLength: 256 - example: - "me" - taxRate: - description: |- - The tax rate applicable to this shipping line item. For a 10% tax rate, the value is 0.1. - type: number - format: double - example: - 0.19 - type?: - description: |- - The type of shipping charge applicable to this shipping item. - type: string - default: fixed_price - enum: - - fixed_price - - surcharge - example: - fixed_price - ShippingMethodReference: - description: |- - Document representing a reference to a shipping method. - type: - CommerceCloudStandards.ClosedObject - properties: - id?: - description: |- - The shipping method ID. - type: string - maxLength: 256 - example: - "0000457" - ABTestSegment: - description: |- - Document representing an AB test segment. In an AB test that compares different customer experiences, a segment defines the customers who receive a particular experience. - type: - CommerceCloudStandards.ClosedObject - properties: - testId: - description: |- - The ID of the associated AB test. - type: string - minLength: 1 - maxLength: 40 - segmentId: - description: |- - The ID of the segment. - type: string - minLength: 1 - maxLength: 40 - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.ClosedObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. - type: number - format: double - example: - 5.00 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The ID of the price book for discount types that use a price book. - type: string - maxLength: 256 - example: - "usd-sale-prices" - type: - description: |- - The type of discount. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - fixed_price - Status: - description: |- - Document representing a status of an object. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - maxLength: 256 - example: - OK - message?: - description: |- - The message corresponding to the status. - type: string - maxLength: 256 - example: - Credit Card successfully authorized. - status?: - description: |- - A constant corresponding to the status code. The value is 0 for OK, 1 for ERROR, and 2 for WARN. - type: integer - format: int32 - maximum: 2 - minimum: 0 - example: - 0 - PaymentCard: - description: Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - type: string - maxLength: 256 - example: - Visa - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. - type: boolean - example: - false - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data at the - token store. - type: string - maxLength: 256 - example: - E67TY8GQ27X - expirationMonth?: - description: |- - The month when the payment card expires. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - type: string - maxLength: 256 - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - type: string - maxLength: 256 - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 256 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of payment card number. - type: string - maxLength: 4 - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - CreateOrderRequest: - description: |- - Document representing the order create request. - type: - CommerceCloudStandards.OpenObject - properties: - billingAddress: - description: |- - The billing address. The name from the billing address is used as the customer's name (for guest customer) and is therefore required. - type: - Address - businessType?: - description: |- - The business type. - type: string - enum: - - b2c - - b2b - example: - b2c - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - instagramcommerce - currency: - description: |- - The ISO 4217 mnemonic code of the currency. The passed currency have to be configured as a valid and active currency on the site. - type: string - pattern: '[A-Z]{3}' - example: - USD - customerLocale?: - description: |- - The locale of the customer who created the order. - maxLength: 256 - type: string - example: - en_US - orderNo?: - description: |- - The order number. This has to be unique in the site. Will be generated if no orderNo is passed in payload. - minLength: 1 - maxLength: 50 - type: string - example: - ORDER_000000001 - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - maxItems: 20 - items: - type: - CreateOrderPriceAdjustment - orderTotal: - description: |- - The total price, including products, shipping and tax. If this value does not match the calculated value (sum of all grossPrices minus PriceAdjustments) an InvalidOrderTotalException will be thrown. - type: number - format: double - example: - 39.27 - paymentInstruments: - description: |- - The payment instruments list. - type: array - maxItems: 20 - items: - type: CreateOrderPaymentInstrument - paymentStatus?: - description: |- - The payment status from the order. - type: string - enum: - - paid - - not_paid - example: - paid - productItems: - description: |- - The product items. - type: array - minItems: 1 - maxItems: 200 - items: - type: - CreateOrderProductItems - shipments: - description: |- - The shipments. - type: array - minItems: 1 - maxItems: 10 - items: - type: - CreateOrderShipment - taxTotal: - description: |- - The total tax amount. - type: number - format: double - CreateOrderPriceAdjustment: - type: - CommerceCloudStandards.OpenObject - description: !include order-create-price-adjustments.md - properties: - amount?: - description: |- - Amount to be reduced from the applied line item's price. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 6.00 - basePrice?: - description: |- - The adjustment amount. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - -6.00 - grossPrice: - description: |- - The adjustment amount, including tax. - type: number - format: double - example: - -6.00 - itemText?: - description: |- - The text describing the price adjustment. - example: - 6 Dollar off. - netPrice: - description: |- - The adjustment amount, not including tax. - type: number - format: double - example: - -5.00 - reasonCode?: - description: The reason code why this price adjustment was made. - type: string - example: - Special Offer. - tax: - description: The tax on the adjustment amount. - type: number - format: double - example: - 1.00 - taxBasis?: - description: The amount used to calculate the tax for this adjustment. - type: number - format: double - example: - -5 - CreateOrderPaymentInstrument: - description: |- - Document representing a payment instrument. - type: - CommerceCloudStandards.OpenObject - properties: - paymentMethodId: - description: The payment method ID. - maxLength: 256 - type: string - example: - PAYPAL - paymentTransaction?: - description: The payment transaction. - type: - CreateOrderPaymentTransaction - CreateOrderProductItems: - description: |- - Document representing a product item for an order. - type: - CommerceCloudStandards.OpenObject - properties: - basePrice: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 34.32 - brand?: - description: |- - The brand of the line item. - maxLength: 256 - type: string - example: - brand0001 - grossPrice: - description: |- - The gross price of the line item before applying any adjustments. - type: number - format: double - example: - 34.32 - itemText?: - description: |- - The text describing the item. - type: string - example: - Green Umbrella - netPrice: - description: |- - The net price of the line item before applying any adjustments. - type: number - format: double - example: - 30.32 - optionItems?: - description: |- - The array of option items. This array can be empty. - type: array - maxItems: 10 - items: - type: - CreateOrderOptionItem - priceAdjustments?: - description: |- - The price adjustments on product line item. - type: array - maxItems: 20 - items: - type: - CreateOrderPriceAdjustment - productId: - description: The ID of the product. - minLength: 1 - maxLength: 100 - type: string - example: - green_umbrella-00001 - productName?: - description: The name of the product. - maxLength: 256 - type: string - example: - green umbrella - quantity: - description: The ordered quantity of the products represented by this item. - minimum: 0 - type: number - format: double - example: - 3.0 - shipmentId: - description: The ID of the shipment this item belong to. Shipment 'me' is reserved for the system and is not valid to pass. - minLength: 1 - maxLength: 256 - type: string - example: - shipment00001 - tax: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 4.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 30.32 - taxRate?: - description: |- - The tax rate applicable to this product line item. - For a 10% tax rate, the value is 0.1. - Just for displaying purpose. No calculation or sanity checks are applied. - type: number - format: double - CreateOrderShipment: - description: |- - Document representing a shipment for an order. - type: - CommerceCloudStandards.ClosedObject - properties: - shipmentId: - description: |- - The order-specific ID of the shipment. The field shipmentId from line items reference to this value. - The first shipment always become the standard shipment and is named 'me' therefore. The Id 'me' is reserved for the standard shipment and it is not allowed to be used by the API caller. - minLength: 1 - maxLength: 256 - type: string - example: - shipment00001 - shippingMethod: - description: |- - The shipping method. This is no reference to any shipments configured in the platform. - type: string - example: - EXPRESS - shippingAddress: - description: |- - The shipping address. - type: - Address - shippingTotal: - description: |- - The total price of all shipping charges in the shipment. - If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 4.95 - taxTotal: - description: |- - The total tax on the shipment. - type: number - format: double - example: - 0.75 - CreateOrderOptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product item. For example, a refrigerator item can have a set of option items representing different warranties on the refrigerator. A shopper can only purchase one of the warranty option items together with the parent refrigerator item. - type: - CommerceCloudStandards.OpenObject - properties: - basePrice: - description: |- - The base price of the line item, which is the unit price not including adjustments. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 49.99 - grossPrice: - description: |- - The gross price of the line item before applying any adjustments. - type: number - format: double - example: - 99.99 - itemText?: - description: |- - The text describing the item. - type: string - maxLength: 256 - example: - Extended Warranty - None - netPrice: - description: |- - The net price of the line item before applying any adjustments. - type: number - format: double - example: - 49.99 - tax: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 50.00 - optionId: - description: |- - The ID of the option. - type: string - minLength: 1 - maxLength: 256 - example: - consoleWarranty - optionValueId: - description: |- - The ID of the option value. - type: string - minLength: 1 - maxLength: 256 - example: - "000" - priceAdjustments?: - description: |- - The price adjustments. - type: array - maxItems: 20 - items: - type: CreateOrderPriceAdjustment - productId: - description: |- - The ID of the product. - type: string - minLength: 1 - maxLength: 100 - example: - "000" - CreateOrderPaymentTransaction: - description: |- - Document representing an order payment transaction. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. - type: Status - transactionId: - description: |- - The payment service specific transaction ID. - type: string - maxLength: 256 - example: - 3226f0a3bc4b4f244d70dd1c2b \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order-confirmation-status-request.raml b/testIntegration/stagingApis/checkout/orders/examples/order-confirmation-status-request.raml deleted file mode 100644 index ee599155..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order-confirmation-status-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "status": "confirmed" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order-export-status-request.raml b/testIntegration/stagingApis/checkout/orders/examples/order-export-status-request.raml deleted file mode 100644 index 2f93e390..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order-export-status-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "status": "exported" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order-external-status-request.raml b/testIntegration/stagingApis/checkout/orders/examples/order-external-status-request.raml deleted file mode 100644 index c30957d6..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order-external-status-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "status": "external status" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order-get-response.raml b/testIntegration/stagingApis/checkout/orders/examples/order-get-response.raml deleted file mode 100644 index 233f103b..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order-get-response.raml +++ /dev/null @@ -1,154 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 4.95, - "adjustedShippingTotalTax": 1.3, - "billingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "countryCode": "US", - "firstName": "Max", - "fullName": "Max Mustermann", - "lastName": "Mustermann", - "phone": "6175555555", - "postalCode": "05408", - "stateCode": "MA" - }, - "confirmationStatus": "confirmed", - "createdBy": "storefront", - "creationDate": "2015-05-19T15:23:18.000Z", - "currency": "USD", - "customerInfo": { - "customerId": "cdrjZ5iQeOQjpqKldaSzbvg2E8", - "customerName": "Max Mustermann", - "customerNo": "0002352", - "email": "no-reply@salesforce.com", - "guest": true - }, - "customerLocale": "en_US", - "exportStatus": "not_exported", - "invoiceNo": "00000001", - "lastModified": "2020-11-05T13:08:05.588Z", - "merchandizeTotalTax": 4.95, - "orderNo": "00000410", - "orderTotal": 110.24, - "paymentInstruments": [ - { - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": true, - "expirationMonth": 1, - "expirationYear": 2020, - "holder": "Max Mustermann", - "maskedNumber": "***************1111", - "numberLastDigits": "1111", - "validFromMonth": 1, - "validFromYear": 2018 - }, - "paymentInstrumentId": "2c36f04e453a2512fba74ae1ea", - "paymentMethodId": "CREDIT_CARD", - "paymentTransaction" : { - "amount": 110.24, - "transactionId": "40f07907428e23c4bbc6fb0446", - "c_authResult" : "AUTHORIZED" - }, - "c_issuerBank" : "JPMORGAN CHASE BANK, N.A." - } - ], - "paymentStatus": "not_paid", - "placeDate": "2015-05-19T15:23:18.000Z", - "productItems": [ - { - "adjustedTax": 4.95, - "basePrice": 99, - "bonusProductLineItem": false, - "gift": false, - "grossPrice": 103.95, - "itemId": "3390171e44271bad9c36592049", - "itemText": "Flat Front Pant", - "netPrice": 99, - "position": 1, - "priceAfterItemDiscount": 99, - "priceAfterOrderDiscount": 99, - "productId": "701643632930", - "productName": "Flat Front Pant", - "quantity": 1, - "shipmentId": "me", - "shippingItemId": "a46294cffd6945a511cb6fce05", - "tax": 4.95, - "taxBasis": 99, - "taxRate": 0.05 - } - ], - "productSubTotal": 99, - "productTotal": 99, - "remoteHost": "127.0.0.1", - "shipments": [ - { - "adjustedMerchandizeTotalTax": 4.95, - "adjustedShippingTotalTax": 1.3, - "gift": false, - "merchandizeTotalTax": 99, - "productSubTotal": 99, - "productTotal": 99, - "shipmentId": "me", - "shipmentNo": "00000001", - "shipmentTotal": 110.24, - "shippingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "countryCode": "US", - "firstName": "Max", - "fullName": "Max Mustermann", - "lastName": "Mustermann", - "phone": "6175555555", - "postalCode": "05408", - "stateCode": "MA" - }, - "shippingMethod": { - "id": "DefaultShippingMethod" - }, - "shippingStatus": "not_shipped", - "shippingTotal": 25.99, - "shippingTotalTax": 1.3, - "taxTotal": 5.25 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.3, - "basePrice": 5.99, - "grossPrice": 6.29, - "itemId": "4c3d46056d49226904ee61946c", - "itemText": "Shipping", - "netPrice": 5.99, - "priceAfterItemDiscount": 5.99, - "shipmentId": "me", - "tax": 0.3, - "taxBasis": 5.99, - "taxRate": 0.05, - "type": "fixed_price" - }, - { - "adjustedTax": 1, - "basePrice": 10, - "grossPrice": 21, - "itemId": "a46294cffd6945a511cb6fce05", - "itemText": "Item Shipping Cost (Surcharge)", - "netPrice": 20, - "priceAfterItemDiscount": 20, - "shipmentId": "me", - "tax": 1, - "taxBasis": 20, - "taxRate": 0.05, - "type": "surcharge" - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 25.99, - "shippingTotalTax": 1.3, - "siteId": "ShoppingSite", - "status": "new", - "taxation": "net", - "taxTotal": 5.25 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order-payment-instrument-request.raml b/testIntegration/stagingApis/checkout/orders/examples/order-payment-instrument-request.raml deleted file mode 100644 index e46d7226..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order-payment-instrument-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "c_giftCardNumber": "12kH5DSkfsaErrRjKheWqqZ" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order-payment-status-request.raml b/testIntegration/stagingApis/checkout/orders/examples/order-payment-status-request.raml deleted file mode 100644 index bb047ebd..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order-payment-status-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "status": "paid" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order-payment-transaction-request.raml b/testIntegration/stagingApis/checkout/orders/examples/order-payment-transaction-request.raml deleted file mode 100644 index 872edf5d..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order-payment-transaction-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "c_externalReferenceCode": "dfg73DsFgH93Lkj2SaArePos", - "c_processedDate": "2019-10-07", - "c_additionalInformation" : "Brunch enim ligula congue eu tempus craft beer tellus amet non urna sapien you probably haven’t heard of them eros ornare massa massa. Duis craft beer mattis pellentesque nulla risus arcu San Francisco adipiscing proin lorem sapien integer wire-rimmed glasses auctor ipsum cursus eget nam. Toms bibendum donec vivamus molestie vulputate fixie cursus amet eget nibh integer craft beer pellentesque odio mauris porttitor sodales." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order-request.raml b/testIntegration/stagingApis/checkout/orders/examples/order-request.raml deleted file mode 100644 index d0d0511c..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "c_carrierCode": "DHL", - "c_weight": 2.4, - "c_review": null - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order-shipping-address-request.raml b/testIntegration/stagingApis/checkout/orders/examples/order-shipping-address-request.raml deleted file mode 100644 index b439a457..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order-shipping-address-request.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "address1":"100 Presidential Way", - "address2":"100 Presidential Way 2", - "city":"Woburn", - "lastName":"Smith", - "title":"Prof. Dr.", - "countryCode":"US", - "phone":"+1 123 456789", - "companyName":"DWRE", - "secondName":"Daniel", - "salutation":"Mr.", - "stateCode":"MA", - "postalCode":"01801", - "firstName":"John", - "jobTitle":"Director", - "c_district": "South End", - "c_floor": 2, - "c_note": "Engineering" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order-shipping-status-request.raml b/testIntegration/stagingApis/checkout/orders/examples/order-shipping-status-request.raml deleted file mode 100644 index 53393b68..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order-shipping-status-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "status": "shipped" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order-status-request.raml b/testIntegration/stagingApis/checkout/orders/examples/order-status-request.raml deleted file mode 100644 index df72c45f..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order-status-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "status": "new" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order_create/full-order.raml b/testIntegration/stagingApis/checkout/orders/examples/order_create/full-order.raml deleted file mode 100644 index e9966d7a..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order_create/full-order.raml +++ /dev/null @@ -1,102 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "billingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "countryCode": "US", - "firstName": "John", - "fullName": "John Doe", - "jobTitle": "Product Manager", - "lastName": "Doe", - "phone": "6175555555", - "postalCode": "01803-2336", - "secondName": "Jr.", - "stateCode": "MA", - "suffix": "Jr.", - "suite": "suite", - "title": "M.Sc." - }, - "businessType": "b2c", - "channelType": "instagramcommerce", - "currency": "USD", - "customerLocale": "en_US", - "orderNo": "00000041", - "orderPriceAdjustments": [ - { - "amount": 5.00, - "basePrice": -6.00, - "grossPrice": -6.00, - "itemText": "5 off", - "netPrice": -5.00, - "reasonCode": "registered", - "tax": -1.00, - "taxBasis": 6.00 - } - ], - "orderTotal": 113.24, - "paymentInstruments": [ - { - "paymentMethodId": "CREDITCARD", - "paymentTransaction": { - "amount": 113.24, - "transactionId": "abc13384ajsgdk1" - } - } - ], - "paymentStatus": "paid", - "productItems": [ - { - "brand": "brand", - "basePrice": 99.00, - "grossPrice": 103.95, - "itemText": "Flat Front Pant", - "netPrice": 99.00, - "priceAdjustments": [ - { - "amount": 5.00, - "grossPrice": -6.00, - "itemText": "5 off", - "netPrice": -5.00, - "reasonCode": "registered", - "tax": -1.00 - } - ], - "productId": "701643632930", - "productName": "Flat Front Pant", - "quantity": 1, - "shipmentId": "00000001", - "tax": 4.95, - "taxBasis": 99.00, - "taxRate": 0.05 - } - ], - "shipments": [ - { - "shipmentId": "00000001", - "shippingAddress": { - "address1": "45 Main Rd.", - "address2": "road 2", - "salutation": "Mr.", - "postBox": "none", - "companyName": "Salesforce", - "city": "Burlington", - "countryCode": "US", - "firstName": "John", - "fullName": "John Doe", - "jobTitle": "Product Manager", - "lastName": "Doe", - "phone": "6175555555", - "postalCode": "01803-2336", - "stateCode": "MA", - "suffix": "Jr.", - "suite": "suite", - "title": "M.Sc." - }, - "shippingMethod": "EXPRESS", - "shippingTotal": 21.29, - "taxTotal": 4.95 - } - ], - "taxTotal": 7.90 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order_create/full-payment-instrument.raml b/testIntegration/stagingApis/checkout/orders/examples/order_create/full-payment-instrument.raml deleted file mode 100644 index b39ae18a..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order_create/full-payment-instrument.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "billingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "firstName": "John", - "lastName": "Doe" - }, - "channelType": "instagramcommerce", - "currency": "USD", - "orderNo": "0000091837", - "orderTotal": 66.91, - "taxTotal": 12.39, - "paymentInstruments": [ - { - "paymentMethodId": "CREDITCARD", - "paymentTransaction": { - "amount": 30.00, - "transactionId": "abc13384ajsgdk1", - "authorizationStatus": { - "code": "0", - "message": "credit card successfully authorized", - "status": 0 - } - } - }, - { - "paymentMethodId": "PAYPAL", - "paymentTransaction": { - "amount": 36.91, - "authorizationStatus": { - "code": "0", - "message": "paypal authorized", - "status": 0 - }, - "transactionId": "abceou98463" - } - } - ], - "paymentStatus": "paid", - "productItems": [ - { - "basePrice": 30.98, - "grossPrice": 61.96, - "netPrice": 49.57, - "productId": "black-shoe_97253-38", - "productName": "special edition shoe women 38", - "quantity": 2, - "shipmentId": "shipment1", - "tax": 12.39 - } - ], - "shipments": [ - { - "shipmentId": "shipment1", - "shippingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "firstName": "John", - "lastName": "Doe" - }, - "shippingMethod": "GROUND", - "shippingTotal": 4.95, - "taxTotal": 0.00 - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order_create/multi-shipment.raml b/testIntegration/stagingApis/checkout/orders/examples/order_create/multi-shipment.raml deleted file mode 100644 index 3bdfb51b..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order_create/multi-shipment.raml +++ /dev/null @@ -1,72 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "billingAddress": { - "address1": "43 Main Rd.", - "city": "Burlington", - "firstName": "Jane", - "lastName": "Doe" - }, - "channelType": "instagramcommerce", - "currency": "USD", - "orderNo": "000028376", - "orderTotal": 75.86, - "taxTotal": 12.38, - "paymentInstruments": [ - { - "paymentMethodId": "PAYPAL", - "paymentTransaction": { - "amount": 75.86, - "transactionId": "abc13384ajsgdk1" - } - } - ], - "productItems": [ - { - "basePrice": 30.98, - "grossPrice": 30.98, - "netPrice": 24.79, - "productId": "black-shoe_081273-38", - "productName": "special edition shoe women 38", - "quantity": 1, - "shipmentId": "shipment1", - "tax": 6.19 - }, - { - "basePrice": 30.98, - "grossPrice": 30.98, - "netPrice": 24.79, - "productId": "red-shirt_2937298-xl", - "productName": "t shirt XL", - "quantity": 1, - "shipmentId": "shipment2", - "tax": 6.19 - } - ], - "shipments": [ - { - "shipmentId": "shipment1", - "shippingAddress": { - "address1": "43 Main Rd.", - "city": "Burlington", - "firstName": "Jane", - "lastName": "Doe" - }, - "shippingMethod": "GROUND", - "shippingTotal": 4.95, - "taxTotal": 0.00 - }, - { - "shipmentId": "shipment2", - "shippingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "firstName": "John", - "lastName": "Doe" - }, - "shippingMethod": "EXPRESS", - "shippingTotal": 8.95, - "taxTotal": 0.00 - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/order_create/simple-order.raml b/testIntegration/stagingApis/checkout/orders/examples/order_create/simple-order.raml deleted file mode 100644 index 5353f97a..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/order_create/simple-order.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "billingAddress": { - "address1": "43 Main Rd.", - "city": "Burlington", - "firstName": "Jane", - "lastName": "Doe" - }, - "channelType": "instagramcommerce", - "currency": "USD", - "orderNo": "0000019373", - "orderTotal": 66.91, - "taxTotal": 12.39, - "paymentInstruments": [ - { - "paymentMethodId": "PAYPAL", - "paymentTransaction": { - "amount": 66.91, - "transactionId": "abc13384ajsgdk1" - } - } - ], - "productItems": [ - { - "basePrice": 30.98, - "grossPrice": 61.96, - "netPrice": 49.57, - "productId": "black-shoe_29347-38", - "productName": "special edition shoe women 38", - "quantity": 2, - "shipmentId": "shipment1", - "tax": 12.39 - } - ], - "shipments": [ - { - "shipmentId": "shipment1", - "shippingAddress": { - "address1": "43 Main Rd.", - "city": "Burlington", - "firstName": "Jane", - "lastName": "Doe" - }, - "shippingMethod": "EXPRESS", - "shippingTotal": 4.95, - "taxTotal": 0.00 - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/examples/orders-get-response.raml b/testIntegration/stagingApis/checkout/orders/examples/orders-get-response.raml deleted file mode 100644 index 653192f5..00000000 --- a/testIntegration/stagingApis/checkout/orders/examples/orders-get-response.raml +++ /dev/null @@ -1,143 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": [ - { - "adjustedMerchandizeTotalTax": 4.95, - "adjustedShippingTotalTax": 0.3, - "billingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "countryCode": "US", - "firstName": "Max", - "fullName": "Max Mustermann", - "lastName": "Mustermann", - "phone": "6175555555", - "postalCode": "05408", - "stateCode": "MA" - }, - "confirmationStatus": "confirmed", - "createdBy": "storefront", - "creationDate": "2015-05-19T15:23:18.000Z", - "currency": "USD", - "customerInfo": { - "customerId": "abMKqMaNYOBMnNdDNzyC5oNTi5", - "customerName": "Max Mustermann", - "customerNo": "0002352", - "email": "no-reply@salesforce.com", - "guest": true - }, - "customerLocale": "en_US", - "exportStatus": "not_exported", - "invoiceNo": "00000001", - "lastModified": "2020-11-04T14:13:31.061Z", - "merchandizeTotalTax": 4.95, - "orderNo": "00000410", - "orderTotal": 110.24, - "paymentInstruments": [ - { - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": true, - "expirationMonth": 1, - "expirationYear": 2020, - "holder": "Max Mustermann", - "maskedNumber": "***************1111", - "numberLastDigits": "1111", - "validFromMonth": 1, - "validFromYear": 2018 - }, - "paymentInstrumentId": "21052ad719a076cdc83637851e", - "paymentMethodId": "CREDIT_CARD", - "paymentTransaction" : { - "amount": 110.24, - "transactionId": "40f07907428e23c4bbc6fb0446", - "c_authResult" : "AUTHORIZED" - }, - "c_issuerBank" : "JPMORGAN CHASE BANK, N.A." - } - ], - "paymentStatus": "not_paid", - "placeDate": "2015-05-19T15:23:18.000Z", - "productItems": [ - { - "adjustedTax": 4.95, - "basePrice": 99, - "bonusProductLineItem": false, - "gift": false, - "grossPrice": 103.95, - "itemId": "99e96c7f8b46b98de2bae5d778", - "itemText": "Flat Front Pant", - "netPrice": 99, - "position": 1, - "priceAfterItemDiscount": 99, - "priceAfterOrderDiscount": 99, - "productId": "701643632930", - "productName": "Flat Front Pant", - "quantity": 1, - "shipmentId": "me", - "tax": 4.95, - "taxBasis": 99, - "taxRate": 0.05 - } - ], - "productSubTotal": 99, - "productTotal": 99, - "remoteHost": "127.0.0.1", - "shipments": [ - { - "adjustedMerchandizeTotalTax": 4.95, - "adjustedShippingTotalTax": 0.3, - "gift": false, - "merchandizeTotalTax": 99, - "productSubTotal": 99, - "productTotal": 99, - "shipmentId": "me", - "shipmentNo": "00000001", - "shipmentTotal": 110.24, - "shippingAddress": { - "address1": "45 Main Rd.", - "city": "Burlington", - "countryCode": "US", - "firstName": "Max", - "fullName": "Max Mustermann", - "lastName": "Mustermann", - "phone": "6175555555", - "postalCode": "05408", - "stateCode": "MA" - }, - "shippingMethod": { - "id": "DefaultShippingMethod" - }, - "shippingStatus": "not_shipped", - "shippingTotal": 5.99, - "shippingTotalTax": 0.3, - "taxTotal": 5.25 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.3, - "basePrice": 5.99, - "grossPrice": 6.29, - "itemId": "23ace383d9355c881f1c00417a", - "itemText": "Shipping", - "netPrice": 5.99, - "priceAfterItemDiscount": 5.99, - "shipmentId": "me", - "tax": 0.3, - "taxBasis": 5.99, - "taxRate": 0.05, - "type": "fixed_price" - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 5.99, - "shippingTotalTax": 0.3, - "siteId": "ShoppingSite", - "status": "new", - "taxation": "net", - "taxTotal": 5.25 - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange.json b/testIntegration/stagingApis/checkout/orders/exchange.json deleted file mode 100644 index 5c2d763a..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.4.4", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "orders.raml", - "backwardsCompatible": false, - "assetId": "orders", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Orders", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml deleted file mode 100644 index 1f282c6d..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - -uses: - Pagination: dataTypes/pagination-types.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml deleted file mode 100644 index 40ff7f98..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml deleted file mode 100644 index 240efb3e..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml +++ /dev/null @@ -1,92 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json deleted file mode 100644 index 43604496..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.8","apiVersion":"v1","dependencies":[],"metadata":{"projectId":"3ca896ab-161d-4b74-aac8-2ad01f3f8e57","branchId":"master","commitId":"8cb35217b287a4dab4e2031fcd6fbe34fb83caf1"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml deleted file mode 100644 index 3afcaaf8..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml deleted file mode 100644 index 9dde8bcd..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: number - description: The starting offset returned. - SFDC-Pagination-Limit: - type: number - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: number - description: The total number of records available. - SFDC-Pagination-Result-Count?: - type: number - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index 4463d386..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml deleted file mode 100644 index 1fe2d231..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml deleted file mode 100644 index 419c821f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml +++ /dev/null @@ -1,358 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int32 - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json deleted file mode 100644 index 9012e41c..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.15","metadata":{"projectId":"b14c2b6a-2d86-46c1-9038-7cbedc656132","branchId":"master","commitId":"f6d54dade2b1aeed39ef12b62e6f8e8b9d0b48cd"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 86f76c76..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index f29a317f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 9517ea0e..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml deleted file mode 100644 index b00dcea6..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml deleted file mode 100644 index 5f1a0bcb..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`ShopperTokenTsob`:** a security scheme for endpoints that only allow the ShopperTokenTsob token type (tsob = Trusted system on behalf). - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json deleted file mode 100644 index 89dcc88a..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.20"} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Filter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Query.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/attribute-definition-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/error-response.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/search-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/commerce-cloud-standards.raml deleted file mode 100644 index 1fe86a0a..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/commerce-cloud-standards.raml +++ /dev/null @@ -1,109 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/example.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/exchange.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/exchange.json deleted file mode 100644 index 932bbb97..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.26"} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml deleted file mode 100644 index 99e06ea0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml +++ /dev/null @@ -1,120 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml deleted file mode 100644 index f9abcef7..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml +++ /dev/null @@ -1,69 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json deleted file mode 100644 index fbeb9213..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.27","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/checkout/orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/order-create-price-adjustments.md b/testIntegration/stagingApis/checkout/orders/order-create-price-adjustments.md deleted file mode 100644 index 6d790109..00000000 --- a/testIntegration/stagingApis/checkout/orders/order-create-price-adjustments.md +++ /dev/null @@ -1,6 +0,0 @@ -The Price Adjustment without Promotion and Coupon references - handled as `AdHocPriceAdjustments` internally. - -The following fields are set: -- manual = true -- custom = true -- promotionId = AD_HOC_PRICE_ADJUSTMENT \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/orders-description.md b/testIntegration/stagingApis/checkout/orders/orders-description.md deleted file mode 100644 index 6bd1b89c..00000000 --- a/testIntegration/stagingApis/checkout/orders/orders-description.md +++ /dev/null @@ -1,113 +0,0 @@ -# API Overview - -Use the Orders API to update order status and order payment status, edit shipping addresses and custom order properties, manage order payment instruments, and get order information. - -## Authentication & Authorization - -The client requesting the order information must have access to the Orders resource. The API requests pass a system-to-system bearer token in the header of the request. The `POST /orders` endpoint uses the [ShopperTokenTsob](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=security%3AShopperTokenTsob) security scheme. - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Update Order Statuses - -An order uses several status properties to define its workflow state. Some of them are used to trigger internal processes, such as inventory allocation. Others have no default function, but are available for use with customizations. - -### Order Status - -The Order Status reflects the overall status of the order. Transitions between Order Statuses trigger actions such as invoice generation and release of inventory reservations. - -Order Status can have one of these values: - -- `created` - Default value; denotes that the order was created in the system but is not yet placed. -- `new` - Set this value to place the order. When you set this value, the system generates shipment and invoice numbers. After the order is placed, you can’t change its Order Status to `created` or `failed`. -- `failed` - Set this value to fail the order, for example, when you reject the order or when its payment fails. When you set this value, the system releases the order’s inventory reservations and removes any coupon redemptions. You can only set this value if the current Order Status is `created`. If you change the Order Status from `failed` to `created`, the system tries to revert the actions taken when it was set to `failed`. If inventory isn’t available, the reversion can fail. -- `failed_with_reopen` - Set this value to fail the order and reopen the basket, if applicable. The order status is set to `failed`. -- `completed` - Set this value to mark the order as complete, based on your business process. For example, when the order is fully paid, exported, and shipped. -- `cancelled` - Set this value to cancel the order, for example, when the shopper requests it. When you set this value, the system releases the order’s inventory reservations, restores any wishlist items, and removes any coupon redemptions. If you change the Order Status from `cancelled` to `completed` or `new`, the system tries to revert the actions taken when it was set to `cancelled`. If inventory isn’t available, the reversion can fail. - -### Confirmation Status - -An order confirmation is a document the vendor sends to the shopper. It confirms that the order has been received and accepted. You can use Confirmation Status to reflect the state of the document, or for other customizations. This field is provided for use in customizations. It isn’t associated with any default functionality. - -Confirmation Status can have one of these values: - -- `not_confirmed` - Default value. -- `confirmed` - Set this value when the order confirmation is sent to the shopper. - -### Export Status - -After an order is placed, it must be fulfilled. If your process includes an external fulfillment system, such as a Warehouse Management System, you can use Export Status to manage the export of order data to the external system. For example, after using the GET /orders endpoint to get order data to export, set the order’s Export Status to `exported`. When identifying orders to export, your query can include orders with Export Status `ready` and exclude orders with Export Status `exported`. - -Export Status can have one of these values: - -- `not_exported` - Default value. -- `ready` - (custom purpose) Set this value when the order is ready for export. -- `exported` - Set this value when the order has been exported. When you set this value, the system finalizes the order’s inventory transactions. -- `failed` - (custom purpose) Set this value when the order export fails. - -### External Status - -The External Status field can hold any string value. For example, you can use it for values related to an external fulfillment system. This field is provided for use in customizations. It isn’t associated with any default functionality. - -### Payment Status - -Use Payment Status to denote whether an order is partially or fully paid. This field is provided for use in customizations. It isn’t associated with any default functionality. - -Payment Status can have one of these values: - -- `not_paid` - Default value. -- `part_paid` - Set this value when the order is partially paid. -- `paid` - Set this value when the order is fully paid. - -### Shipping Status - -Use Shipping Status to denote whether an order is partially or fully shipped. This field is provided for use in customizations. It isn’t associated with any default functionality. - -Shipping Status can have one of these values: - -- `not_shipped` - Default value. -- `part_shipped` - Set this value when the order is partially shipped. -- `shipped` - Set this value when the order is fully shipped. - -Here are some example scenarios: - -- After a successful fraud check and payment authorization, set the Order Status to `new`. -- After a failed fraud check or payment authorization, set the Order Status to `failed`. -- After an order’s information is exported to the warehouse system, set the Export Status to `exported`. -- After the warehouse ships an order, set the Shipping Status to `shipped`. - -## Change Shipping Address - -Use the Orders API to update the shipping address on an order. - -For example, a shopper places an order, then sends a request to change the shipping address on that order. - -## Get Order Data - -Use the Orders API system-to-system integration use cases for order retrieval, reporting, dashboards, and so on. You can get information about a single order by specifying the order number, or get information about multiple orders by searching with attribute filters. - -You can use these attribute filters: - -- order status -- export status -- external status -- confirmation status -- payment status -- shipping status -- creation date to/from -- last modified date to/from -- offset -- limit - -You can sort the results in ascending or descending order by these attributes (default: descending): - -- creation date -- last modified date - -## Create Orders - -Use the Create Order endpoint to create orders from a third-party system, such as a social media platform. Before using the endpoint, you must complete the checkout process first: apply all sanity checks, reserve inventory, authorize payment, apply promotions, and calculate the full cost of the order. Orders made by third-party systems are treated the same way as order made directly through the B2C Commerce platform, including how status updates and exports are handled. - -## Update Orders - -Use the Update Order endpoint to make changes to custom order attributes. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/orders.raml b/testIntegration/stagingApis/checkout/orders/orders.raml deleted file mode 100644 index ff585539..00000000 --- a/testIntegration/stagingApis/checkout/orders/orders.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 -#In C4E review -title: Orders -description: !include orders-description.md -version: v1 -protocols: HTTPS -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/checkout/orders/{version} -baseUriParameters: - shortCode: - description: |- - Region-specific merchant identifier. - example: fd4gt8 - -uses: - StatusCodes: status-codes.raml - DataTypes: data-types.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -types: -'/organizations/{organizationId}': - type: CommerceCloudStandards.Organization - '/orders': - type: CommerceCloudStandards.Organization - get: - description: |- - Returns the details of orders that match the query filters. By default, calling this API with no filter returns the 100 most recently created orders. To return up to 200 orders, use the limit parameter. To return a page of results past the first page, use a resource offset. *Note* : The sum of the offset and limit parameters cannot be greater than 10000. - displayName: getOrders - queryParameters: - sortBy?: - description: |- - Sort results by creation date or last modified date. The default is creation date. - type: string - enum: - - creation_date - - last_modified_date - default: creation_date - sortOrder?: - description: |- - Sort results in ascending or descending order. The default is descending. - type: string - enum: - - asc - - desc - default: desc - status?: - description: |- - Filter results by status. Valid statuses are 'new', 'completed', and 'cancelled'. You can include up to two statuses as a comma-separated string. - type: string - pattern: '^(new|completed|cancelled)(,(?!\1)(new|completed|cancelled))?$' - example: - cancelled,completed - exportStatus?: - description: |- - Filter results by export status. Valid export statuses are 'not_exported', 'exported', 'ready', and 'failed'. You can include up to three export statuses as a comma-separated string. - type: string - pattern: '^(not_exported|exported|ready|failed)(,(?!\1)(not_exported|exported|ready|failed))?(,(?!\3)(?!\1)(not_exported|exported|ready|failed))?$' - example: - not_exported,ready,failed - externalStatus?: - description: |- - Filter results by external status. - type: string - confirmationStatus?: - description: |- - Filter results by confirmation status. Valid confirmation statuses are 'confirmed' and 'not_confirmed'. - type: DataTypes.OrderConfirmationStatus - paymentStatus?: - description: |- - Filter results by payment status. Valid payment statuses are 'not_paid', 'part_paid', and 'paid'. You can include up to two payment statuses as a comma-separated string. - type: string - pattern: '^(not_paid|part_paid|paid)(,(?!\1)(not_paid|part_paid|paid))?$' - example: - not_paid,part_paid - shippingStatus?: - description: |- - Filter results by shipping status. Valid shipping statuses are 'not_shipped', 'part_shipped', and 'shipped'. You can include up to two shipping statuses as a comma-separated string. - type: string - pattern: '^(not_shipped|part_shipped|shipped)(,(?!\1)(not_shipped|part_shipped|shipped))?$' - example: - not_shipped,part_shipped - is: - - StatusCodes.OK-Orders - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - - ApiStandards.DatetimeRangeFilter: - name: creationDate - - ApiStandards.DatetimeRangeFilter: - name: lastModifiedDate - - ApiStandards.OffsetPaginated: - maxLimit: 200 - defaultSize: 100 - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders", "sfcc.orders.rw" ] } - post: - description: !include create-order-description.md - displayName: createOrders - is: - - StatusCodes.OrderCreated - - StatusCodes.SiteNotFound - - StatusCodes.BadRequest - - StatusCodes.InvalidCurrency - - StatusCodes.InvalidOrderTotal - - StatusCodes.InvalidTaxTotal - - StatusCodes.ShipmentNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.CreateOrderRequest - examples: - minimalExample: !include examples/order_create/simple-order.raml - fullExample: !include examples/order_create/full-order.raml - multiShipmentExample: !include examples/order_create/multi-shipment.raml - fullPaymentInstrumentExample: !include examples/order_create/full-payment-instrument.raml - securedBy: - - CommerceCloudStandards.ShopperTokenTsob: { scopes: [ "sfcc.orders.rw" ] } - '/{orderNo}': - type: CommerceCloudStandards.Organization - uriParameters: - orderNo: - description: |- - The order number. - minLength: 1 - maxLength: 50 - type: string - example: "00000410" - get: - description: |- - Returns the details of the order with the specified order number. - is: - - StatusCodes.OK-Order - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - displayName: getOrder - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders", "sfcc.orders.rw" ] } - patch: - description: |- - Updates the order. - displayName: updateOrder - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.OrderUpdateRequest - examples: - DataTypes.OrderUpdateRequest: !include examples/order-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - - CommerceCloudStandards.ShopperTokenTsob: { scopes: [ "sfcc.orders.rw" ] } - /confirmation-status: - type: CommerceCloudStandards.Organization - put: - description: |- - Updates the order confirmation status. - displayName: updateOrderConfirmationStatus - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.OrderConfirmationStatusUpdateRequest - examples: - DataTypes.OrderConfirmationStatusUpdateRequest: !include examples/order-confirmation-status-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - /export-status: - type: CommerceCloudStandards.Organization - put: - description: |- - Updates the order export status. If on-order inventory is turned on for the associated inventory list, then setting the export status to EXPORTED finalizes on-order inventory transactions for this order by changing their type from on-order to final. - displayName: updateOrderExportStatus - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.OrderExportStatusUpdateRequest - examples: - DataTypes.OrderExportStatusUpdateRequest: !include examples/order-export-status-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - /external-status: - type: CommerceCloudStandards.Organization - put: - description: |- - Updates the order external status. - displayName: updateOrderExternalStatus - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.OrderExternalStatusUpdateRequest - examples: - DataTypes.OrderExternalStatusUpdateRequest: !include examples/order-external-status-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - /payment-status: - type: CommerceCloudStandards.Organization - put: - description: |- - Updates the order payment status. - displayName: updateOrderPaymentStatus - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.OrderPaymentStatusUpdateRequest - examples: - DataTypes.OrderPaymentStatusUpdateRequest: !include examples/order-payment-status-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - /shipping-status: - type: CommerceCloudStandards.Organization - put: - description: |- - Updates the order shipping status. - displayName: updateOrderShippingStatus - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.OrderShippingStatusUpdateRequest - examples: - DataTypes.OrderShippingStatusUpdateRequest: !include examples/order-shipping-status-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - /status: - type: CommerceCloudStandards.Organization - put: - description: |- - Updates the order status. Orders in status NEW, COMPLETED or CANCELLED can't be changed to status CREATED or FAILED. - - Changing the status processes different actions on inventory, coupons, wishlists and the order itself. Here are the supported actions: - - - Fail Order: Release inventory and remove coupon redemptions. (CREATED -> FAILED) - - Fail Order With Reopen Basket: Release inventory, remove coupon redemptions, and reopen the basket, if applicable. A basket can only be - reopened if no other basket for the customer exists at the moment of failing the order since a customer is limited to 1 storefront basket at a - time. (CREATED -> FAILED) - - Undo Fail Order: Reserve inventory and recreate coupon redemptions. (FAILED -> CREATED) - - Place Order: Generate Shipment and Invoice numbers. (CREATED -> NEW, COMPLETED or CANCELLED) - - Cancel Order: Release inventory, remove wishlist purchases, and remove coupon redemptions. (NEW, COMPLETED -> CANCELLED) - - Undo Cancel Order: Reserve inventory, add wishlist purchases, and recreate coupon redemptions. (CANCELLED -> NEW, COMPLETED) - - Actions can fail for example when inventory is not available anymore. - displayName: updateOrderStatus - is: - - StatusCodes.NoContent - - StatusCodes.BasketReopen - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - StatusCodes.StatusTransitionConflict - - StatusCodes.CancelOrderConflict - - StatusCodes.PlaceOrderConflict - - StatusCodes.UndoCancelOrderConflict - - StatusCodes.UndoFailOrderConflict - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.OrderStatusUpdateRequest - examples: - DataTypes.OrderStatusUpdateRequest: !include examples/order-status-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - '/payment-instruments/{paymentInstrumentId}': - type: CommerceCloudStandards.Organization - uriParameters: - paymentInstrumentId: - description: |- - ID of the payment instrument. - minLength: 1 - type: string - example: b7679bea661819b2de78b9de7d - patch: - description: |- - Updates the payment instrument of an order. - displayName: updateOrderPaymentInstrument - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - StatusCodes.PaymentInstrumentNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.PaymentInstrumentUpdateRequest - examples: - DataTypes.PaymentInstrumentUpdateRequest: !include examples/order-payment-instrument-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - /transaction: - type: CommerceCloudStandards.Organization - patch: - description: |- - Updates the transaction of an order payment instrument. - displayName: updateOrderPaymentTransaction - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - StatusCodes.PaymentInstrumentNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.PaymentTransactionUpdateRequest - examples: - DataTypes.PaymentTransactionUpdateRequest: !include examples/order-payment-transaction-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } - '/shipments/{shipmentId}': - type: CommerceCloudStandards.Organization - uriParameters: - shipmentId: - description: |- - ID of the shipment. - minLength: 1 - type: string - example: me - /shipping-address: - type: CommerceCloudStandards.Organization - put: - description: |- - Creates or replaces the shipping address. - displayName: updateOrderShippingAddress - is: - - StatusCodes.NoContent - - StatusCodes.BadRequest - - StatusCodes.OrderNotFound - - StatusCodes.SiteNotFound - - StatusCodes.ShipmentNotFound - - CommerceCloudStandards.SiteSpecific - body: - type: DataTypes.ShippingAddressUpdateRequest - examples: - DataTypes.ShippingAddressUpdateRequest: !include examples/order-shipping-address-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.orders.rw" ] } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/status-codes.raml b/testIntegration/stagingApis/checkout/orders/status-codes.raml deleted file mode 100644 index cad177dc..00000000 --- a/testIntegration/stagingApis/checkout/orders/status-codes.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: Use the following traits for request and response status information. - -types: - ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml - -traits: - OK-Order: !include traits/ok-order.raml - OK-Orders: !include traits/ok-orders.raml - OrderCreated: !include traits/no-content-order-created.raml - NoContent: !include traits/no-content.raml - OrderNotFound: !include traits/order-not-found.raml - SiteNotFound: !include traits/site-not-found.raml - PaymentInstrumentNotFound: !include traits/payment-instrument-not-found.raml - ShipmentNotFound: !include traits/shipment-not-found.raml - InvalidCurrency: !include traits/invalid-currency.raml - InvalidOrderTotal: !include traits/invalid-order-total.raml - InvalidTaxTotal: !include traits/invalid-tax-total.raml - BadRequest: !include traits/bad-request.raml - StatusTransitionConflict: !include traits/status-transition-conflict.raml - CancelOrderConflict: !include traits/cancel-order-conflict.raml - PlaceOrderConflict: !include traits/place-order-conflict.raml - UndoCancelOrderConflict: !include traits/undo-cancel-order-conflict.raml - UndoFailOrderConflict: !include traits/undo-fail-order-conflict.raml - BasketReopen: !include traits/order-status-created.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/bad-request.raml b/testIntegration/stagingApis/checkout/orders/traits/bad-request.raml deleted file mode 100644 index 3f36accd..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/bad-request.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Orders API. - -responses: - 400: - description: | - Request body or path violate required syntax. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Bad Request", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "detail": "An invalid expand parameter 'link' was found." - } diff --git a/testIntegration/stagingApis/checkout/orders/traits/cancel-order-conflict.raml b/testIntegration/stagingApis/checkout/orders/traits/cancel-order-conflict.raml deleted file mode 100644 index 608f5052..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/cancel-order-conflict.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 409 response when an order cancellation failed. - -responses: - 409: - description: | - The order cancellation failed. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Cancel Order", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/cancel-order", - "detail": "Order with number '00001547' can't be cancelled." - } - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/invalid-currency.raml b/testIntegration/stagingApis/checkout/orders/traits/invalid-currency.raml deleted file mode 100644 index 6af374ff..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/invalid-currency.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response due to a passed currency, which is not valid for the specific site. - -responses: - 400: - description: | - The passed currency is not configured in the specific site. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Invalid Currency", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-currency", - "detail": "An invalid currency 'EUR' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/invalid-order-total.raml b/testIntegration/stagingApis/checkout/orders/traits/invalid-order-total.raml deleted file mode 100644 index 7a59440b..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/invalid-order-total.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response due to an invalid orderTotal passed in Orders API. - -responses: - 400: - description: | - The passed orderTotal is not equal to the calculated orderTotal. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Invalid Order Total", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-order-total", - "detail": "The passed order total '72.96' does not match the calculated order total '74.96'." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/invalid-tax-total.raml b/testIntegration/stagingApis/checkout/orders/traits/invalid-tax-total.raml deleted file mode 100644 index 641224cc..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/invalid-tax-total.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response due to invalid passed taxTotal in Orders API. - -responses: - 400: - description: | - The passed taxTotal is not equal to the calculated taxTotal. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Invalid Tax Total", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-total", - "detail": "The passed tax total '2.95' does not match the calculated tax total '5.56'." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/no-content-order-created.raml b/testIntegration/stagingApis/checkout/orders/traits/no-content-order-created.raml deleted file mode 100644 index a64340b6..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/no-content-order-created.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 201 response when an order is successful and no content is returned. The object created is accessible via the Location header. - -responses: - 201: - description: | - The operation was successful, no content is returned. - headers: - Location: - description: | - The location to access the created order. - example: | - /orders/000000001 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/no-content.raml b/testIntegration/stagingApis/checkout/orders/traits/no-content.raml deleted file mode 100644 index e1dfd69b..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/no-content.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 204 response when a operation was successful and no content is returned. - -responses: - 204: - description: | - The operation was successful, no content is returned. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/ok-order.raml b/testIntegration/stagingApis/checkout/orders/traits/ok-order.raml deleted file mode 100644 index d7abdd45..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/ok-order.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 200 response when an operation successfully returned content. - -uses: - DataTypes: ../data-types.raml - -responses: - 200: - description: |- - The operation was successful. - body: - application/json: - type: DataTypes.Order - examples: - DataTypes.Order: !include ../examples/order-get-response.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/ok-orders.raml b/testIntegration/stagingApis/checkout/orders/traits/ok-orders.raml deleted file mode 100644 index 48c3b2e4..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/ok-orders.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 200 response when an operation successfully returned content. - -uses: - DataTypes: ../data-types.raml - -responses: - 200: - description: |- - The operation was successful. - body: - application/json: - type: DataTypes.OrdersResponse - examples: - DataTypes.OrdersResponse: !include ../examples/orders-get-response.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/order-not-found.raml b/testIntegration/stagingApis/checkout/orders/traits/order-not-found.raml deleted file mode 100644 index 8d7ff95b..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/order-not-found.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response when an order was not found. - -responses: - 404: - description: | - The given order number does not reference an existing order. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Order not found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "detail": "No order with number '00001547' was found." - } diff --git a/testIntegration/stagingApis/checkout/orders/traits/order-status-created.raml b/testIntegration/stagingApis/checkout/orders/traits/order-status-created.raml deleted file mode 100644 index aa574ded..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/order-status-created.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 201 response code, when an order failed and the basket has been reopened. The reopened basket is accessible via the Location header. - -responses: - 201: - description: | - The operation was successful. No content is returned. - headers: - Location: - description: | - The location to access the reopened basket. - example: | - /baskets/37e964f970721da52b0e004fd6 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/payment-instrument-not-found.raml b/testIntegration/stagingApis/checkout/orders/traits/payment-instrument-not-found.raml deleted file mode 100644 index 5ef01d44..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/payment-instrument-not-found.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response when a payment instrument was not found. - -responses: - 404: - description: | - The given payment instrument ID does not reference an existing payment instrument. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "PaymentInstrument Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found", - "detail": "The payment instrument with ID 'd98550eb1e1cf6db15dd655a9e' couldn't be found." - } diff --git a/testIntegration/stagingApis/checkout/orders/traits/place-order-conflict.raml b/testIntegration/stagingApis/checkout/orders/traits/place-order-conflict.raml deleted file mode 100644 index 80c64c6e..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/place-order-conflict.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 409 response when an order placement failed. - -responses: - 409: - description: | - The order placement failed. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Place Order", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/place-order", - "detail": "Order with number '00001547' can't be placed." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/shipment-not-found.raml b/testIntegration/stagingApis/checkout/orders/traits/shipment-not-found.raml deleted file mode 100644 index fc43ec81..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/shipment-not-found.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response when a shipment was not found. - -responses: - 404: - description: | - The given shipment ID does not reference an existing shipment. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Shipment Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found", - "detail": "No shipment with ID 'express_shipment' could be found." - } diff --git a/testIntegration/stagingApis/checkout/orders/traits/site-not-found.raml b/testIntegration/stagingApis/checkout/orders/traits/site-not-found.raml deleted file mode 100644 index ed7e7c11..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/site-not-found.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response when a site was not found. - -responses: - 404: - description: | - The given site ID does not reference an existing site. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Site Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found", - "detail": "No site with ID 'SiteGnesis' could be found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/status-transition-conflict.raml b/testIntegration/stagingApis/checkout/orders/traits/status-transition-conflict.raml deleted file mode 100644 index 7ea0375d..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/status-transition-conflict.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 409 response when a order status change is not allowed. - -responses: - 409: - description: | - The requested order status change is not allowed. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Order Status Transition", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-status-transition", - "detail": "The order status change from 'NEW' to 'CREATED' for order with number '00001547' is not supported." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/success.raml b/testIntegration/stagingApis/checkout/orders/traits/success.raml deleted file mode 100644 index 85d99f33..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/success.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 204 response when a operation was successful and no content is returned. - -uses: - DataTypes: ../data-types.raml - -responses: - 204: - description: | - The operation was successful, no content is returned. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/undo-cancel-order-conflict.raml b/testIntegration/stagingApis/checkout/orders/traits/undo-cancel-order-conflict.raml deleted file mode 100644 index 5c314549..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/undo-cancel-order-conflict.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 409 response when an cancelled order can't be reopened. - -responses: - 409: - description: | - The cancelled order can't be reopened. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Undo Canel Order", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/undo-cancel-order", - "detail": "The cancelled order with number '00001547' cannot be reopened." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/orders/traits/undo-fail-order-conflict.raml b/testIntegration/stagingApis/checkout/orders/traits/undo-fail-order-conflict.raml deleted file mode 100644 index 85f7f48d..00000000 --- a/testIntegration/stagingApis/checkout/orders/traits/undo-fail-order-conflict.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 409 response when an failed order can't be reopened. - -responses: - 409: - description: | - The failed order can't be reopened. - body: - application/json: - type: ErrorResponse - example: | - { - "title": "Undo Fail Order", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/undo-fail-order", - "detail": "The failed order with number '00020029’ cannot be reopened." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/.metadata.json b/testIntegration/stagingApis/checkout/shopper-baskets/.metadata.json deleted file mode 100644 index d88db6e8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-baskets/2.0.10", - "name": "Shopper Baskets", - "description": "Build a checkout experience.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-baskets", - "version": "2.0.10", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Checkout" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-get-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-get-response.raml deleted file mode 100644 index 5e49df0b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-get-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-item-tax-get-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-item-tax-get-response.raml deleted file mode 100644 index 3d82986c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-item-tax-get-response.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "taxItems":[ - { - "id":"DE_7", - "rate":0.07, - "value":13.99 - }, - { - "id":"DE_19", - "rate":0.19 - } - ] - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-item-tax-put-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-item-tax-put-request.raml deleted file mode 100644 index 3d82986c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-item-tax-put-request.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "taxItems":[ - { - "id":"DE_7", - "rate":0.07, - "value":13.99 - }, - { - "id":"DE_19", - "rate":0.19 - } - ] - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-patch-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-patch-request.raml deleted file mode 100644 index 8753df99..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-patch-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "c_textValue":"oak" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-patch-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-patch-response.raml deleted file mode 100644 index b23ffa41..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-patch-response.raml +++ /dev/null @@ -1,149 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "7800e0f611dac6caf77afb9df9", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:53:30.993Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:53:35.747Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "2b76b8644eb6da43e7e223b48d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "43c38652bc3844e14cd482ff28", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "b4ff13039bc7abd1b9d933b871", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "193e99bc1205b870cebd36d970", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "ac7a3b62dc1df8de898d7a2141", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8, - "c_textValue":"oak" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-post-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-post-request.raml deleted file mode 100644 index b6ae7f5b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-post-request.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "customerInfo": { - "email": "shopper@salesforce-test.com", - "customerNo" : "000000001" - }, - "billingAddress": { - "firstName": "Stephanie", - "lastName": "Miller", - "address1": "104 Presidential Way", - "city": "Woburn", - "postalCode": "01801", - "stateCode": "MA", - "countryCode": "US" - }, - "shipments": [ - { - "shippingMethod": { - "id": "001" - }, - "shippingAddress": { - "firstName": "Agustin", - "lastName": "Estes", - "address1": "4162 Turkey Pen Road", - "city": "New York", - "postalCode": "10016", - "stateCode": "NY", - "countryCode": "US" - } - } - ], - "paymentInstruments": [ - { - "paymentMethodId": "CREDIT_CARD", - "paymentCard": { - "cardType": "Visa" - } - } - ], - "couponItems":[ - { "code" : "5ties" - } - ], - "productItems": [ - { - "productId": "green-umbrella", - "quantity": 3.00 - } - ] - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-post-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-post-response.raml deleted file mode 100644 index 5e49df0b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-post-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-put-agent-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-put-agent-response.raml deleted file mode 100644 index 65c1616c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-put-agent-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": true, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-put-storefront-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-put-storefront-response.raml deleted file mode 100644 index 842b69b1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-put-storefront-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "callcenter", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-tax-get-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-tax-get-response.raml deleted file mode 100644 index e7ed3196..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-tax-get-response.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "taxes": { - "3d4e28425ce0b3a65b0ac4e163":{ - "taxItems":[ - { - "id":"DE_7", - "rate":0.07, - "value":13.99 - }, - { - "id":"DE_19", - "rate":0.19 - } - ] - }, - "ff9452ed11fcf5c80f9143a8f1":{ - "taxItems":[ - { - "id":"US_1", - "rate":0.01 - }, - { - "id":"US_5", - "rate":0.05 - } - ] - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-tax-put-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-tax-put-request.raml deleted file mode 100644 index d3ef0414..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/basket-tax-put-request.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "taxes": { - "3d4e28425ce0b3a65b0ac4e163":{ - "taxItems":[ - { - "id":"DE_7", - "rate":0.07, - "value":13.99 - }, - { - "id":"DE_19", - "rate":0.19 - } - ] - }, - "ff9452ed11fcf5c80f9143a8f1":{ - "taxItems":[ - { - "id":"US_1", - "rate":0.01 - }, - { - "id":"US_5", - "rate":0.05 - } - ] - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/billing-address-put-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/billing-address-put-request.raml deleted file mode 100644 index e4926ee8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/billing-address-put-request.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "firstName": "Stephanie", - "lastName": "Miller", - "address1": "385 Prospect Valley Road", - "city": "Woburn", - "postalCode": "01801", - "stateCode": "MA", - "countryCode": "US" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/billing-address-put-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/billing-address-put-response.raml deleted file mode 100644 index 5ba49e38..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/billing-address-put-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "385 Prospect Valley Road", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "7800e0f611dac6caf77afb9df9", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:53:30.993Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:53:35.747Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "2b76b8644eb6da43e7e223b48d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "43c38652bc3844e14cd482ff28", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "b4ff13039bc7abd1b9d933b871", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "193e99bc1205b870cebd36d970", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "ac7a3b62dc1df8de898d7a2141", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/coupon-code-post-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/coupon-code-post-request.raml deleted file mode 100644 index 0d84fee5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/coupon-code-post-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "code": "10_percent_off" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/coupon-code-post-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/coupon-code-post-response.raml deleted file mode 100644 index d65a2e6b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/coupon-code-post-response.raml +++ /dev/null @@ -1,154 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - }, - { - "code": "10_percent_off", - "couponItemId": "9372d0f511dac8caf77afc4kj2", - "statusCode": "applied", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/customer-put-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/customer-put-request.raml deleted file mode 100644 index 096aa3dc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/customer-put-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "email": "shopperUpdate@salesforce-test.com" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/customer-put-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/customer-put-response.raml deleted file mode 100644 index ace0a57a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/customer-put-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopperUpdate@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/gift-cert-patch-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/gift-cert-patch-request.raml deleted file mode 100644 index e5769816..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/gift-cert-patch-request.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount" : 1.00, - "recipientEmail" : "miller@salesforce-test.com" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/gift-cert-patch-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/gift-cert-patch-response.raml deleted file mode 100644 index 1b9f48f0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/gift-cert-patch-response.raml +++ /dev/null @@ -1,156 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopperUpdate@salesforce-test.com" - }, - "giftCertificateItems": [ - { - "amount": 1, - "giftCertificateItemId": "83726a8351540534af93f3b15f", - "recipientEmail": "miller@salesforce-test.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/gift-cert-post-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/gift-cert-post-request.raml deleted file mode 100644 index eb4500ea..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/gift-cert-post-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount" : 1.00, - "recipientEmail" : "miller@salesforce-test.com", - "shipmentId" : "me" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/gift-cert-post-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/gift-cert-post-response.raml deleted file mode 100644 index 897a1fd4..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/gift-cert-post-response.raml +++ /dev/null @@ -1,156 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopperUpdate@salesforce-test.com" - }, - "giftCertificateItems": [ - { - "amount": 2, - "giftCertificateItemId": "83726a8351540534af93f3b15f", - "recipientEmail": "miller@salesforce-test.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/item-patch-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/item-patch-request.raml deleted file mode 100644 index 72ab20be..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/item-patch-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "quantity" : 1 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/item-patch-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/item-patch-response.raml deleted file mode 100644 index 88a103b2..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/item-patch-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 10, - "adjustedShippingTotalTax": 0.4, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "7800e0f611dac6caf77afb9df9", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:53:30.993Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:58:39.498Z", - "merchandizeTotalTax": 10, - "notes": { - }, - "orderTotal": 218.38, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "2b76b8644eb6da43e7e223b48d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 10, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "43c38652bc3844e14cd482ff28", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "b4ff13039bc7abd1b9d933b871", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATre", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 1, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 199.99, - "priceAfterItemDiscount": 199.99, - "priceAfterOrderDiscount": 199.99, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 1, - "shipmentId": "me", - "tax": 10, - "taxBasis": 199.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 199.99, - "productTotal": 199.99, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 10, - "adjustedShippingTotalTax": 0.4, - "gift": false, - "merchandizeTotalTax": 10, - "productSubTotal": 199.99, - "productTotal": 199.99, - "shipmentId": "me", - "shipmentTotal": 218.38, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "193e99bc1205b870cebd36d970", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 7.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 7.99, - "shippingTotalTax": 0.4, - "taxTotal": 10.4 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.4, - "basePrice": 7.99, - "itemId": "ac7a3b62dc1df8de898d7a2141", - "itemText": "Shipping", - "price": 7.99, - "priceAfterItemDiscount": 7.99, - "shipmentId": "me", - "tax": 0.4, - "taxBasis": 7.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 7.99, - "shippingTotalTax": 0.4, - "taxation": "net", - "taxTotal": 10.4 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/item-post-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/item-post-request.raml deleted file mode 100644 index d978549b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/item-post-request.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [{ - "productId": "green-bag", - "quantity": 1 - }] diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/item-post-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/item-post-response.raml deleted file mode 100644 index 258f6e4b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/item-post-response.raml +++ /dev/null @@ -1,184 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 36.5, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "4 Main St.", - "address2": "Basement Flat", - "city": "Boston", - "companyName": "Flexo", - "countryCode": "US", - "firstName": "John", - "fullName": "John H. Smith", - "id": "0aa3fce01dec8a51ee50323c9c", - "jobTitle": "Sales Manager", - "lastName": "Smith", - "phone": "+1 33-33-33", - "postalCode": "40982", - "secondName": "H.", - "stateCode": "MA", - "title": "Mr" - }, - "channelType": "storefront", - "creationDate": "2019-10-17T10:59:24.503Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "" - }, - "giftCertificateItems": [ - { - "amount": 2, - "giftCertificateItemId": "a9c38be81002962a93310ffd66", - "recipientEmail": "benet@example.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-17T11:00:22.545Z", - "merchandizeTotalTax": 36.5, - "notes": { - }, - "orderTotal": 785.24, - "paymentInstruments": [ - { - "amount": 10.3, - "paymentInstrumentId": "19ceb7afa36ffe22fcd93c3518", - "paymentMethodId": "BML" - }, - { - "amount": 10.4, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "74c2fd8a9ede5712be8f18c638", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "051e908cca031ebf8ee80cbb0a", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "1b48e2474f18edefc34577daf8", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATre", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - }, - { - "adjustedTax": 1.5, - "basePrice": 29.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "32f71ef20eccbc9b75d2114352", - "itemText": "Green Bag", - "price": 29.99, - "priceAfterItemDiscount": 29.99, - "priceAfterOrderDiscount": 29.99, - "productId": "green-bag", - "productName": "Green Bag", - "quantity": 1, - "shipmentId": "me", - "tax": 1.5, - "taxBasis": 29.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 729.95, - "productTotal": 729.95, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 36.5, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 36.5, - "productSubTotal": 729.95, - "productTotal": 729.95, - "shipmentId": "me", - "shipmentTotal": 785.24, - "shippingAddress": { - "address1": "4 Main St.", - "address2": "Basement Flat", - "city": "Boston", - "companyName": "Flexo", - "countryCode": "US", - "firstName": "John", - "fullName": "John H. Smith", - "id": "c27620f32e6e607c04a35fc2c7", - "jobTitle": "Sales Manager", - "lastName": "Smith", - "phone": "+1 33-33-33", - "postalCode": "40982", - "secondName": "H.", - "stateCode": "MA", - "title": "Mr" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 37.3 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "bf466b517f08b5fae8d553b36c", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 37.3 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/items-patch-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/items-patch-request.raml deleted file mode 100644 index e5edfae2..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/items-patch-request.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [{ - "itemId": "051e908cca031ebf8ee80cbb0a", - "productId": "green-bag", - "quantity": 1 - },{ - "itemId": "078a492cca031ebf8ee80739ab", - "optionItems" : [{ - "optionId":"Option1", - "optionValueId":"ValueA" - }], - "quantity": 1 - }] diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/items-patch-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/items-patch-response.raml deleted file mode 100644 index 258f6e4b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/items-patch-response.raml +++ /dev/null @@ -1,184 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 36.5, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "4 Main St.", - "address2": "Basement Flat", - "city": "Boston", - "companyName": "Flexo", - "countryCode": "US", - "firstName": "John", - "fullName": "John H. Smith", - "id": "0aa3fce01dec8a51ee50323c9c", - "jobTitle": "Sales Manager", - "lastName": "Smith", - "phone": "+1 33-33-33", - "postalCode": "40982", - "secondName": "H.", - "stateCode": "MA", - "title": "Mr" - }, - "channelType": "storefront", - "creationDate": "2019-10-17T10:59:24.503Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "" - }, - "giftCertificateItems": [ - { - "amount": 2, - "giftCertificateItemId": "a9c38be81002962a93310ffd66", - "recipientEmail": "benet@example.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-17T11:00:22.545Z", - "merchandizeTotalTax": 36.5, - "notes": { - }, - "orderTotal": 785.24, - "paymentInstruments": [ - { - "amount": 10.3, - "paymentInstrumentId": "19ceb7afa36ffe22fcd93c3518", - "paymentMethodId": "BML" - }, - { - "amount": 10.4, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "74c2fd8a9ede5712be8f18c638", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "051e908cca031ebf8ee80cbb0a", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "1b48e2474f18edefc34577daf8", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATre", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - }, - { - "adjustedTax": 1.5, - "basePrice": 29.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "32f71ef20eccbc9b75d2114352", - "itemText": "Green Bag", - "price": 29.99, - "priceAfterItemDiscount": 29.99, - "priceAfterOrderDiscount": 29.99, - "productId": "green-bag", - "productName": "Green Bag", - "quantity": 1, - "shipmentId": "me", - "tax": 1.5, - "taxBasis": 29.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 729.95, - "productTotal": 729.95, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 36.5, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 36.5, - "productSubTotal": 729.95, - "productTotal": 729.95, - "shipmentId": "me", - "shipmentTotal": 785.24, - "shippingAddress": { - "address1": "4 Main St.", - "address2": "Basement Flat", - "city": "Boston", - "companyName": "Flexo", - "countryCode": "US", - "firstName": "John", - "fullName": "John H. Smith", - "id": "c27620f32e6e607c04a35fc2c7", - "jobTitle": "Sales Manager", - "lastName": "Smith", - "phone": "+1 33-33-33", - "postalCode": "40982", - "secondName": "H.", - "stateCode": "MA", - "title": "Mr" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 37.3 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "bf466b517f08b5fae8d553b36c", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 37.3 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-instrument-patch-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-instrument-patch-request.raml deleted file mode 100644 index 8d4b3bd6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-instrument-patch-request.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount": 0, - "paymentCard": - { - "holder": "Miller", - "cardType": "Visa" - }, - "paymentMethodId": "CREDIT_CARD" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-instrument-patch-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-instrument-patch-response.raml deleted file mode 100644 index 42132b31..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-instrument-patch-response.raml +++ /dev/null @@ -1,149 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false, - "holder": "Miller" - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-instrument-post-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-instrument-post-request.raml deleted file mode 100644 index 23ae4593..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-instrument-post-request.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount": 1, - "paymentCard":{ - "expirationYear":1990, - "expirationMonth":7, - "validFromMonth":8, - "validFromYear":2007, - "issueNumber":"i117", - "maskedNumber":"*********1234", - "holder":"Miller", - "cardType":"Visa" - }, - "paymentMethodId": "CREDIT_CARD" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-instrument-post-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-instrument-post-response.raml deleted file mode 100644 index afd944b2..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-instrument-post-response.raml +++ /dev/null @@ -1,164 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false, - "holder": "Miller" - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - }, - { - "amount": 1, - "paymentCard": { - "expirationYear":1990, - "expirationMonth":7, - "validFromMonth":8, - "validFromYear":2007, - "issueNumber":"i117", - "maskedNumber":"************1234", - "holder":"Miller", - "cardType":"Visa" - }, - "paymentInstrumentId": "9f21f0b51f206fbde2ff5789e5", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-methods-get-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-methods-get-response.raml deleted file mode 100644 index ff069f62..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/payment-methods-get-response.raml +++ /dev/null @@ -1,77 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "applicablePaymentMethods": [ - { - "id": "GIFT_CERTIFICATE", - "name": "Gift Certificate", - "paymentProcessorId": "BASIC_GIFT_CERTIFICATE" - }, - { - "cards": [ - { - "cardType": "Visa", - "checksumVerificationEnabled": true, - "name": "Visa", - "numberLengths": [ - "13", - "16" - ], - "numberPrefixes": [ - "4" - ] - }, - { - "cardType": "Amex", - "checksumVerificationEnabled": true, - "name": "American Express", - "numberLengths": [ - "15" - ], - "numberPrefixes": [ - "34", - "37" - ] - }, - { - "cardType": "Master Card", - "checksumVerificationEnabled": true, - "name": "MasterCard", - "numberLengths": [ - "16" - ], - "numberPrefixes": [ - "51-55" - ] - }, - { - "cardType": "Discover", - "checksumVerificationEnabled": true, - "name": "Discover", - "numberLengths": [ - "16" - ], - "numberPrefixes": [ - "6011", - "622126-622925", - "644-649", - "65" - ] - } - ], - "id": "CREDIT_CARD", - "name": "Credit Card", - "paymentProcessorId": "BASIC_CREDIT" - }, - { - "id": "PayPal", - "name": "Pay Pal", - "paymentProcessorId": "PAYPAL_EXPRESS" - }, - { - "id": "BML", - "name": "Bill Me Later", - "paymentProcessorId": "CYBERSOURCE_BML" - } - ] - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-adjustment-patch-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-adjustment-patch-request.raml deleted file mode 100644 index 7840a62a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-adjustment-patch-request.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "appliedDiscount" : - { - "amount" : 15, - "type" : "amount" - }, - "itemText" : "AgentOrderAdjustment", - "reasonCode" : "override manual promo" - - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-adjustment-patch-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-adjustment-patch-response.raml deleted file mode 100644 index 9d472e87..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-adjustment-patch-response.raml +++ /dev/null @@ -1,167 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderPriceAdjustments" : [ - { - "appliedDiscount" : - { - "amount" : 15, - "type" : "amount" - }, - "createdBy" : "testWapiAgent", - "creationDate" : "2017-03-14T09:15:35.543Z", - "custom" : true, - "itemText" : "MyOrderAdjustment", - "lastModified" : "2017-03-14T09:15:35.594Z", - "manual" : true, - "price" : -15.00, - "priceAdjustmentId" : "e397cd21f9a9c0643277ba1011", - "promotionId" : "manual adjustment", - "reasonCode" : "override manual promo", - } - ], - "orderTotal": 631.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-adjustment-post-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-adjustment-post-request.raml deleted file mode 100644 index 7e90954c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-adjustment-post-request.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - - "discount" : - { - "value" : 5, - "type" : "percentage" - }, - "itemText" : "MyOrderAdjustment", - "level" : "order", - "promotionId" : "manual adjustment" - - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-adjustment-post-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-adjustment-post-response.raml deleted file mode 100644 index 6bc8d800..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-adjustment-post-response.raml +++ /dev/null @@ -1,166 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 28.45, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderPriceAdjustments" : [ - { - "appliedDiscount" : - { - "amount" : 0.05, - "percentage" : 5, - "type" : "percentage" - }, - "createdBy" : "testAgent", - "creationDate" : "2015-05-25T09:13:10.942Z", - "custom" : true, - "itemText" : "MyOrderAdjustment", - "manual" : true, - "price" : -30.00, - "promotionId" : "manual adjustment", - "priceAdjustmentId" : "cdzoAiWbOmbiUaaadlfSpMDgNw" - } - ], - "orderTotal": 615.21, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 569.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 569.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 569.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "4432af77112f7c2433248a48e8", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-books.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-books.raml deleted file mode 100644 index ebb96e82..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/price-books.raml +++ /dev/null @@ -1,3 +0,0 @@ -#%RAML 1.0 NamedExample -value: - ["price-book-id1", "price-book-id2"] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-address-put-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-address-put-request.raml deleted file mode 100644 index ca67814f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-address-put-request.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "firstName": "Ward J", - "lastName": "Adamek", - "address1": "4911 Lincoln Street", - "city": "IDANHA", - "postalCode": "97350", - "stateCode": "OR", - "countryCode": "US" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-address-put-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-address-put-response.raml deleted file mode 100644 index fa1f64a5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-address-put-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4911 Lincoln Street", - "postalCode": "97350", - "city": "IDANHA", - "countryCode": "US", - "firstName": "Ward J", - "fullName": "Ward J Adamek", - "id": "b3e1269a2c1d0ad56694206741", - "lastName": "Adamek", - "stateCode": "OR" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxation": "net", - "taxTotal": 30.8 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-method-get-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-method-get-response.raml deleted file mode 100644 index 3de8667d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-method-get-response.raml +++ /dev/null @@ -1,32 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "applicableShippingMethods": [ - { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - { - "description": "Order received in 2 business days", - "id": "002", - "name": "2-Day Express", - "price": 20.99 - }, - { - "description": "Order received the next business day", - "id": "003", - "name": "Overnight", - "price": 29.99 - }, - { - "description": "Store Pickup", - "id": "005", - "name": "Store Pickup", - "price": 0, - "c_storePickupEnabled": true - } - ], - "defaultShippingMethodId": "001" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-method-put-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-method-put-request.raml deleted file mode 100644 index 6ce43159..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-method-put-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "003" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-method-put-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-method-put-response.raml deleted file mode 100644 index f10a672e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-method-put-response.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4911 Lincoln Street", - "postalCode": "97350", - "city": "IDANHA", - "countryCode": "US", - "firstName": "Ward J", - "fullName": "Ward J Adamek", - "id": "b3e1269a2c1d0ad56694206741", - "lastName": "Adamek", - "stateCode": "OR" - }, - "shippingMethod": { - "description": "Order received the next business day", - "id": "003", - "name": "Overnight", - "price": 29.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 29.99, - "shippingTotalTax": 1.5, - "taxTotal": 36.5 - } - ], - "shippingItems": [ - { - "adjustedTax": 1.5, - "basePrice": 29.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 29.99, - "priceAfterItemDiscount": 29.99, - "shipmentId": "me", - "tax": 1.5, - "taxBasis": 29.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 29.99, - "shippingTotalTax": 1.5, - "taxation": "net", - "taxTotal": 36.5 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-patch-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-patch-request.raml deleted file mode 100644 index b89e6fb5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-patch-request.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "shipmentId": "me", - "shipmentNo": "ignored shipment no", - "shippingMethod": { - "id": "003" - }, - "shippingAddress": { - "firstName": "Ward J", - "lastName": "Adamek", - "address1": "4911 Lincoln Street", - "city": "IDANHA", - "postalCode": "97350", - "stateCode": "OR", - "countryCode": "US" - }, - "c_wapi-string": "shipment_custom_property" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-patch-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-patch-response.raml deleted file mode 100644 index 5acb7dd0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-patch-response.raml +++ /dev/null @@ -1,146 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4911 Lincoln Street", - "city": "IDANHA", - "countryCode": "US", - "firstName": "Ward J", - "fullName": "Ward J Adamek", - "id": "b3e1269a2c1d0ad56694206741", - "lastName": "Adamek" - }, - "shippingMethod": { - "description": "Order received in 2 business days", - "id": "002", - "name": "2-Day Express", - "price": 20.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 20.99, - "shippingTotalTax": 1.05, - "taxTotal": 36.05 - } - ], - "shippingItems": [ - { - "adjustedTax": 1.05, - "basePrice": 20.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 20.99, - "priceAfterItemDiscount": 20.99, - "shipmentId": "me", - "tax": 1.05, - "taxBasis": 20.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 20.99, - "shippingTotalTax": 1.05, - "taxation": "net", - "taxTotal": 36.05 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-post-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-post-request.raml deleted file mode 100644 index 8eaf4f83..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-post-request.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "shipmentId": "me2", - "shippingMethod": { - "id": "001" - }, - "shippingAddress": { - "firstName": "Stephanie", - "lastName": "Miller", - "address1": "385 Prospect Valley Road", - "city": "Woburn", - "postalCode": "01801", - "stateCode": "MA", - "countryCode": "US" - } - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-post-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-post-response.raml deleted file mode 100644 index 65f16783..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/basket/shipments-post-response.raml +++ /dev/null @@ -1,189 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "agentBasket": false, - "basketId": "a10ff320829cb0eef93ca5310a", - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "bfea663fd3de75d5be3ec02702", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "cc6ef43f207bf64099288aec36", - "statusCode": "no_applicable_promotion", - "valid": true - } - ], - "creationDate": "2019-10-17T08:29:55.340Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "email": "shopper@salesforce-test.com" - }, - "lastModified": "2019-10-17T08:29:55.698Z", - "merchandizeTotalTax": 30, - "notes": { - }, - "orderTotal": 646.76, - "paymentInstruments": [ - { - "amount": 0, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "b7679bea661819b2de78b9de7d", - "paymentMethodId": "CREDIT_CARD" - } - ], - "productItems": [ - { - "adjustedTax": 30, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "3d4e28425ce0b3a65b0ac4e163", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusProductLineItem": false, - "gift": false, - "itemId": "ff9452ed11fcf5c80f9143a8f1", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0, - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0, - "taxBasis": 0, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.97, - "priceAfterItemDiscount": 599.97, - "priceAfterOrderDiscount": 599.97, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 30, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4911 Lincoln Street", - "city": "IDANHA", - "countryCode": "US", - "firstName": "Ward J", - "fullName": "Ward J Adamek", - "id": "b3e1269a2c1d0ad56694206741", - "lastName": "Adamek" - }, - "shippingMethod": { - "description": "Order received in 2 business days", - "id": "002", - "name": "2-Day Express", - "price": 20.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 20.99, - "shippingTotalTax": 1.05, - "taxTotal": 36.05 - }, - { - "adjustedMerchandizeTotalTax": 35, - "adjustedShippingTotalTax": 0.8, - "gift": false, - "merchandizeTotalTax": 35, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me2", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "385 Prospect Valley Road", - "city": "Woburn", - "stateCode": "MA", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "84f06786daa68ae33af7e21ec6", - "lastName": "Miller" - }, - "shippingMethod": { - "description": "Order received in 2 business days", - "id": "001", - "name": "2-Day Express", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 35 - } - ], - "shippingItems": [ - { - "adjustedTax": 1.05, - "basePrice": 20.99, - "itemId": "d5ed0e58b8f8b5efe8d617a630", - "itemText": "Shipping", - "price": 20.99, - "priceAfterItemDiscount": 20.99, - "shipmentId": "me", - "tax": 1.05, - "taxBasis": 20.99, - "taxClassId": "standard", - "taxRate": 0.05 - }, - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "6fea9966277c94e06b482a5c43", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingTotal": 36.98, - "shippingTotalTax": 1.35, - "taxation": "net", - "taxTotal": 36.35 - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/basket-merge-exception.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/basket-merge-exception.raml deleted file mode 100644 index 4083fc13..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/basket-merge-exception.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-merge-no-current-basket-exception", - "title": "Conflict", - "detail": "The current customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has no active basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/basket-transfer-exception.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/basket-transfer-exception.raml deleted file mode 100644 index ff3e25ad..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/basket-transfer-exception.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-transfer-basket-already-exists-exception", - "title": "Conflict", - "detail": "The current customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has an active basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/customer-basket-quota-exceeded-exception.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/customer-basket-quota-exceeded-exception.raml deleted file mode 100644 index 5cb4942c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/customer-basket-quota-exceeded-exception.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "title": "Customer Baskets Quota Exceeded", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-baskets-quota-exceeded", - "detail": "The maximum number of baskets per customer was exceeded. Please reuse or delete one of the existing baskets (40e91e04aba6e42a6836f79308).", - "basketIds": "40e91e04aba6e42a6836f79308" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/customer-temporary-basket-quota-exceeded-exception.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/customer-temporary-basket-quota-exceeded-exception.raml deleted file mode 100644 index 61dc2410..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/customer-temporary-basket-quota-exceeded-exception.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "title": "Customer Temporary Baskets Quota Exceeded", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-temporary-baskets-quota-exceeded", - "detail": "The maximum number of temporary baskets per customer was exceeded. Please reuse or delete one of the existing temporary baskets (40e91e04aba6e42a6836f79308, 73ca0f0860a67df946782c2688).", - "basketIds": "40e91e04aba6e42a6836f79308, 73ca0f0860a67df946782c2688" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/price-adjustment-id-not-found-exception.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/price-adjustment-id-not-found-exception.raml deleted file mode 100644 index 3844d9b3..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/price-adjustment-id-not-found-exception.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/price-adjustment-not-found", - "title": "Price Adjustment Not Found", - "detail": "No price adjustment with ID '453599643347eac5e4ebd85b49' could be found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/slas-jwt-exception.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/slas-jwt-exception.raml deleted file mode 100644 index f8ee55bc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/slas-jwt-exception.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "title": "Forbidden", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "detail": "Your access-token is valid, but it contains no previous customer to process this action." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/source-basket-exception.raml b/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/source-basket-exception.raml deleted file mode 100644 index 6b9972b2..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/examples/error/source-basket-exception.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/no-source-basket-exception", - "title": "Conflict", - "detail": "The previous customer with ID 'cdo7rJNie7ahERqXSb51Yvz2M4' has no active basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange.json deleted file mode 100644 index cb2e81c2..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.6", - "assetId": "checkout-data-types", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "2.0.10", - "originalFormatVersion": "1.0", - "apiVersion": "v2", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-baskets.raml", - "backwardsCompatible": false, - "assetId": "shopper-baskets", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Baskets", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/checkout-data-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/checkout-data-types.raml deleted file mode 100644 index 98d34f38..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/checkout-data-types.raml +++ /dev/null @@ -1,2210 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not - including service charges such as shipping. If the Discount Taxation preference is set to Tax - Products and Shipping Only Based on Adjusted Price, this amount also includes prorated - order-level price adjustments. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. - type: number - format: double - example: - 0.30 - agentBasket?: - description: |- - Is the basket created by an agent? - type: boolean - example: - true - basketId?: - description: |- - The unique identifier for the basket. - type: string - example: - "e78aa5646a8efebdd9cdd38be7" - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - example: - "storefront" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - creationDate?: - description: |- - The timestamp when the basket was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information, if the customer is logged in. - type: CustomerInfo - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - inventoryReservationExpiry?: - description: |- - The expiration datetime of the inventory reservation. - type: datetime - example: - 2015-05-19T15:30:18.000Z - lastModified?: - description: |- - The timestamp when the basket was last modified. - type: datetime - example: - 2015-05-19T15:25:18.000Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. - Merchandise total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: SimpleLink - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and tax. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping - charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 88.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. - type: number - format: double - example: - 0.30 - sourceCode?: - description: |- - The source code assigned to the basket. - type: string - example: - "OUTDOOR1" - taxTotal?: - description: |- - The total tax amount. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). - type: string - enum: - - gross - - net - example: - "net" - BasketPaymentInstrumentRequest: - description: |- - Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - example: - "AFGRTUZ" - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - BasketsResult: - description: |- - Result document containing an array of baskets. - properties: - baskets: - description: |- - The list of baskets for a customer. - type: array - items: - type: Basket - total: - description: |- - The total number of baskets. - type: integer - format: int32 - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - example: - "5ties" - id?: - description: |- - The ID of the line item. - type: string - example: - "91f4dd8bfa0653d58b7783b04f" - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - example: - "Buy1Get2" - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: |- - The coupon code. - maxLength: 256 - type: string - example: - "5ties" - couponItemId?: - description: |- - The coupon item ID. - type: string - example: - "d4c9c0141e9c74c150225580f3" - statusCode?: - description: |- - The status of the coupon item. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - "no_applicable_promotion" - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". - type: boolean - example: - true - CustomerInfo: - description: |- - The customer information for guest or logged-in customers. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: |- - The customer ID. - maxLength: 100 - type: string - example: - "abMKqMaNYOBMnNdDNzyC5oNTi5" - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - customerNo?: - description: |- - The customer number. - maxLength: 100 - type: string - example: - "0002352" - email: - description: |- - The customer's email address. - type: string - example: - no-reply@salesforce.com - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. - type: number - format: double - example: - 130.88 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The price book ID that is used with some types. - type: string - example: - "usd-sale-prices" - type: - description: |- - The type of discount. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - "fixed_price" - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate item amount. - type: number - format: double - example: - 20.00 - giftCertificateItemId?: - description: |- - The item ID. - type: string - example: - "629dea6e7b61e58da629b57b21" - message?: - description: |- - The gift certificate message. - maxLength: 4000 - type: string - example: - "Birthday present." - recipientEmail: - description: |- - The recipient email. - minLength: 1 - type: string - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient's name. - type: string - example: - "Daniel Mustermann" - senderName?: - description: |- - The sender's name. - type: string - example: - "Max Mustermann" - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - Note: - description: |- - Document representing a note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The author of the note. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - id?: - description: |- - The ID of the note. - type: string - example: - "49b5c6c8340e432a7bfab9ff3a" - subject?: - description: |- - The note subject. - maxLength: 256 - type: string - example: - "Order was created." - text?: - description: |- - The note text. - maxLength: 4000 - type: string - example: - "Order was created." - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: |- - The notes. - type: array - items: - type: Note - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product - item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. - type: string - example: - "ba248414e3eee797f062162f8b" - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - false - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - example: - "The item text." - optionId: - description: |- - The ID of the option. - maxLength: 256 - type: string - example: - consoleWarranty - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - optionValueId: - description: |- - The ID of the option value. - maxLength: 256 - type: string - example: - "000" - price?: - description: |- - The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 150.99 - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or - shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not - including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. - type: number - format: double - example: - 40.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The ordered quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a - surcharge applied to individual products using a particular shipping method. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 50.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - example: - 0.19 - Order: - description: |- - Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as - shipping. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. - type: number - format: double - example: - 0.30 - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - example: - "storefront" - confirmationStatus?: - description: |- - The confirmation status. - type: string - enum: - - not_confirmed - - confirmed - example: - "confirmed" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. - If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. - type: string - example: - "Customer" - creationDate?: - description: |- - The timestamp when the order was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information for guest or logged-in customers. - type: CustomerInfo - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - exportStatus?: - description: |- - The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - example: - "exported" - externalOrderStatus?: - description: |- - The external status of the order. - type: string - example: - "Submitted" - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. - type: string - example: - "GP_1234" - lastModified?: - description: |- - The timestamp when the order was last modified. - type: datetime - example: - 2021-02-25T09:58:08.715Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices - not including shipping or adjustments. - type: number - format: double - example: - 1.50 - notes?: - description: |- - The notes. - type: SimpleLink - orderNo?: - description: |- - The order number. - type: string - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. - type: string - orderTotal?: - description: |- - The total price, including products, shipping, and tax. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: string - enum: - - not_paid - - part_paid - - paid - example: - "paid" - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: string - enum: - - not_shipped - - part_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. - type: number - format: double - example: - 0.30 - siteId?: - description: |- - The order's site. - type: string - example: - "ShoppingSite" - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. - type: string - example: - "OUTDOOR1" - status?: - description: |- - The status. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - example: - "created" - taxTotal?: - description: |- - The total tax amount. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). - type: string - enum: - - gross - - net - example: - "net" - OrderAddress: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - example: - "45 Main Rd." - address2?: - description: |- - The second address line. - type: string - example: - "Apartment 204" - city?: - description: |- - The city. - type: string - example: - "Boston" - companyName?: - description: |- - The company name. - type: string - example: - "Salesforce" - countryCode?: - description: |- - The ISO Country Code. - type: CommerceCloudStandards.CountryCode - example: - "US" - firstName?: - description: |- - The first name. - type: string - example: - "Max" - fullName?: - description: |- - The full name. - type: string - example: - "Max Mustermann" - id?: - description: |- - The ID of the address. - type: string - example: - "me" - jobTitle?: - description: |- - The job title. - type: string - example: - "Software Engineer" - lastName?: - description: |- - The last name. - type: string - example: - "Mustermann" - phone?: - description: |- - The phone number. - type: string - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - example: - "PO BOX 109" - postalCode?: - description: |- - The postal code. - type: string - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - example: - "Mr" - secondName?: - description: |- - The second name. - type: string - stateCode?: - description: |- - The state code. - type: string - example: - "MA" - suffix?: - description: |- - The suffix. - type: string - example: - "Sr" - suite?: - description: |- - The suite. - type: string - example: - "24A" - title?: - description: |- - The title. - type: string - example: - "Dr." - OrderPaymentCardRequest: - description: |- - Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - maxLength: 256 - type: string - example: - "Visa" - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - example: - "*********4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - OrderPaymentInstrument: - description: |- - Document representing an order payment instrument. - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. - type: Status - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the last 4 characters not masked. - type: string - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. - type: string - example: - "ba248424e3eee797f062162f8b" - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - OrderPaymentInstrumentRequest: - description: |- - Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - CREDIT_CARD - PaymentCard: - description: |- - Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type. - maxLength: 256 - type: string - example: - "Visa" - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. - type: boolean - example: - true - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - "Max Mustermann" - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 4000 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of the payment card number. - maxLength: 4000 - type: string - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2015 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: |- - The payment card type. - type: string - example: - "Visa" - checksumVerificationEnabled?: - description: |- - A flag indicating whether the card number is verified using the Luhn checksum algorithm. - type: boolean - example: - true - description?: - description: |- - The localized description of the payment card. - type: string - image?: - description: |- - The URL to the image that represents the payment card. - type: string - name?: - description: |- - The localized name of the payment card. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). - type: array - items: - type: string - PaymentMethod: - description: |- - Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: |- - The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). - type: array - items: - type: PaymentCardSpec - description?: - description: |- - The localized description of the payment method or card. - type: string - id: - description: |- - The ID of the payment method or card. - maxLength: 256 - type: string - image?: - description: |- - The URL to the image that represents the payment method or card. - type: string - name?: - description: |- - The localized name of the payment method or card. - type: string - paymentProcessorId?: - description: |- - The payment processor ID. - type: string - PaymentMethodResult: - description: |- - Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: |- - The applicable payment methods. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments - not based on a discount, this value is null. - type: Discount - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments - not based on a coupon, this value is null. - type: string - example: - "5ties" - createdBy?: - description: |- - The user who created the price adjustment. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the price adjustment was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This - flag is set to true unless the price adjustment was created by the promotion - engine. - type: boolean - example: - true - itemText?: - description: |- - The text describing the item. - type: string - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. - If the price adjustment was created by the promotion engine, this value is always - false. - type: boolean - example: - true - price?: - description: |- - The adjustment price. - type: number - format: double - example: - 120.88 - priceAdjustmentId?: - description: |- - The price adjustment ID. - type: string - example: - "ba248424e3eee797f062161f8b" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: |- - The URL addressing the related promotion. - type: string - reasonCode?: - description: |- - The reason why this price adjustment was made. - type: string - PriceBookIds: - description: |- - Array containing the PriceBookIds to use for this basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: |- - Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: |- - The description of the product. - type: string - example: - "Nintendo DS revolutionizes handheld gameplay." - productId: - description: |- - The ID of the product. - type: string - example: - "nintendo-ds-console" - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - title?: - description: |- - The link title. - type: string - example: - "Nintendo DS Game Console" - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including - adjustments. If the taxation policy is net, it doesn't include tax. If the - taxation policy is gross, it includes tax. - type: number - format: double - example: - 130.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. - type: string - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - true - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or - creating a custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not - including order-level adjustments or shipping charges. If the taxation policy is - net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 20.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation - policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. - type: number - format: double - example: - 15.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference - to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A - related shipping item represents a surcharge applied to individual products using - a particular shipping method. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax for the product item, not including price adjustments. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The price used to calculate the tax for this product item. - type: number - format: double - example: - 30.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - example: - 0.90 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The ID of the product list item. - type: string - example: - "ba248424e3fee797f062162f8b" - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - example: - 1 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: |- - A reference to the associated product list. - type: ProductListLink - public?: - type: boolean - example: - false - purchasedQuantity?: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0.00 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListLink: - description: |- - Document representing a link to a product list. - properties: - description?: - description: |- - The description of this product list. - type: string - name?: - description: |- - The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. - type: boolean - example: - true - title?: - description: |- - The link title. - type: string - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - "shopping_list" - PromotionLink: - description: |- - Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - name?: - description: |- - The localized name of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$50FixedProductsAmountAbove100" - title?: - description: |- - The title. - type: string - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including - service charges such as shipping. If the Discount Taxation preference is set to Tax Products and - Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as - shipping. - type: number - format: double - example: - 4.95 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If - the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - shipmentId?: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - example: - "me" - shipmentNo?: - description: |- - The shipment number of this shipment. This number is automatically generated. - type: string - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, - and tax. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: OrderAddress - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethod - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the - taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as - shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on - Adjusted Price, this amount also includes prorated order-level price adjustments. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.00 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a - custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the shipping item. - type: string - example: - "Shipping" - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level - adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - shipmentId?: - description: |- - The identifier of the shipment to which this item belongs. - type: string - example: - "me" - tax?: - description: |- - The tax on the product item, not including adjustments. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The price used to calculate the tax for this shipping item. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. - type: number - format: double - ShippingMethod: - description: |- - Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: |- - The localized description of the shipping method. - type: string - example: - "Order received within 7-10 business days" - externalShippingMethod?: - description: |- - The external shipping method. - type: string - id: - description: |- - The shipping method ID. - maxLength: 256 - type: string - example: - "001" - name?: - description: |- - The localized name of the shipping method. - type: string - example: - "Ground" - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. - type: number - format: double - example: - 15.00 - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: |- - Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: |- - The applicable shipping method documents. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: |- - The default shipping method. - type: string - example: - "me" - ShippingPromotion: - description: |- - Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$30FixedShippingAmountAbove150" - promotionName?: - description: |- - The localized promotion name. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - SimpleLink: - description: |- - Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: |- - Document representing an object status. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - message?: - description: |- - The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: |- - Document representing the tax rates and (optionally) amounts for all items in a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - TaxItems: - description: |- - Taxation for a line item. - properties: - taxItems?: - description: |- - The list of tax items. - type: array - items: - type: TaxItem - TaxItem: - description: |- - Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The taxation identifier. - type: string - rate: - description: |- - The taxation rate. - type: number - format: double - example: - 0.13 - value?: - description: |- - The tax amount. Will be computed if not set. - type: number - format: double \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/bad-request-auth.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/bad-request-example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/basket-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/forbidden.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/invalid-tax-mode.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/order-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/shipment-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/exchange.json deleted file mode 100644 index 4b57ecc1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.58/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"checkout-data-types.raml","name":"Checkout Data Types","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"checkout-data-types","version":"1.0.58","metadata":{"branchId":"master","commitId":"da610b107049231e4f75890eb6fe52cb2080bf08","projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a"},"classifier":"raml-fragment","dependencies":[{"assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.0.15"}],"tags":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/checkout-data-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/checkout-data-types.raml deleted file mode 100644 index fd9a3627..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/checkout-data-types.raml +++ /dev/null @@ -1,2210 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not - including service charges such as shipping. If the Discount Taxation preference is set to Tax - Products and Shipping Only Based on Adjusted Price, this amount also includes prorated - order-level price adjustments. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. - type: number - format: double - example: - 0.30 - agentBasket?: - description: |- - Is the basket created by an agent? - type: boolean - example: - true - basketId?: - description: |- - The unique identifier for the basket. - type: string - example: - "e78aa5646a8efebdd9cdd38be7" - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - example: - "storefront" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - creationDate?: - description: |- - The timestamp when the basket was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information, if the customer is logged in. - type: CustomerInfo - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - inventoryReservationExpiry?: - description: |- - The expiration datetime of the inventory reservation. - type: datetime - example: - 2015-05-19T15:30:18.000Z - lastModified?: - description: |- - The timestamp when the basket was last modified. - type: datetime - example: - 2015-05-19T15:25:18.000Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. - Merchandise total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: SimpleLink - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and tax. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping - charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 88.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. - type: number - format: double - example: - 0.30 - sourceCode?: - description: |- - The source code assigned to the basket. - type: string - example: - "OUTDOOR1" - taxTotal?: - description: |- - The total tax amount. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). - type: string - enum: - - gross - - net - example: - "net" - BasketPaymentInstrumentRequest: - description: |- - Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - example: - "AFGRTUZ" - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - BasketsResult: - description: |- - Result document containing an array of baskets. - properties: - baskets: - description: |- - The list of baskets for a customer. - type: array - items: - type: Basket - total: - description: |- - The total number of baskets. - type: integer - format: int32 - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - example: - "5ties" - id?: - description: |- - The ID of the line item. - type: string - example: - "91f4dd8bfa0653d58b7783b04f" - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - example: - "Buy1Get2" - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: |- - The coupon code. - maxLength: 256 - type: string - example: - "5ties" - couponItemId?: - description: |- - The coupon item ID. - type: string - example: - "d4c9c0141e9c74c150225580f3" - statusCode?: - description: |- - The status of the coupon item. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - "no_applicable_promotion" - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". - type: boolean - example: - true - CustomerInfo: - description: |- - The customer information for guest or logged-in customers. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: |- - The customer ID. - maxLength: 100 - type: string - example: - "abMKqMaNYOBMnNdDNzyC5oNTi5" - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - customerNo?: - description: |- - The customer number. - maxLength: 100 - type: string - example: - "0002352" - email: - description: |- - The customer's email address. - type: string - example: - no-reply@salesforce.com - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. - type: number - format: double - example: - 130.88 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The price book ID that is used with some types. - type: string - example: - "usd-sale-prices" - type: - description: |- - The type of discount. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - "fixed_price" - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate item amount. - type: number - format: double - example: - 20.00 - giftCertificateItemId?: - description: |- - The item ID. - type: string - example: - "629dea6e7b61e58da629b57b21" - message?: - description: |- - The gift certificate message. - maxLength: 4000 - type: string - example: - "Birthday present." - recipientEmail: - description: |- - The recipient email. - minLength: 1 - type: string - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient's name. - type: string - example: - "Daniel Mustermann" - senderName?: - description: |- - The sender's name. - type: string - example: - "Max Mustermann" - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - Note: - description: |- - Document representing a note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The author of the note. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - id?: - description: |- - The ID of the note. - type: string - example: - "49b5c6c8340e432a7bfab9ff3a" - subject?: - description: |- - The note subject. - maxLength: 256 - type: string - example: - "Order was created." - text?: - description: |- - The note text. - maxLength: 4000 - type: string - example: - "Order was created." - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: |- - The notes. - type: array - items: - type: Note - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product - item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. - type: string - example: - "ba248414e3eee797f062162f8b" - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - false - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - example: - "The item text." - optionId: - description: |- - The ID of the option. - maxLength: 256 - type: string - example: - consoleWarranty - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - optionValueId: - description: |- - The ID of the option value. - maxLength: 256 - type: string - example: - "000" - price?: - description: |- - The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 150.99 - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or - shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not - including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. - type: number - format: double - example: - 40.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The ordered quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a - surcharge applied to individual products using a particular shipping method. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 50.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - example: - 0.19 - Order: - description: |- - Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as - shipping. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. - type: number - format: double - example: - 0.30 - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - example: - "storefront" - confirmationStatus?: - description: |- - The confirmation status. - type: string - enum: - - not_confirmed - - confirmed - example: - "confirmed" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. - If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. - type: string - example: - "Customer" - creationDate?: - description: |- - The timestamp when the order was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information for guest or logged-in customers. - type: CustomerInfo - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - exportStatus?: - description: |- - The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - example: - "exported" - externalOrderStatus?: - description: |- - The external status of the order. - type: string - example: - "Submitted" - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. - type: string - example: - "GP_1234" - lastModified?: - description: |- - The timestamp when the order was last modified. - type: datetime - example: - 2021-02-25T09:58:08.715Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices - not including shipping or adjustments. - type: number - format: double - example: - 1.50 - notes?: - description: |- - The notes. - type: SimpleLink - orderNo?: - description: |- - The order number. - type: string - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. - type: string - orderTotal?: - description: |- - The total price, including products, shipping, and tax. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: string - enum: - - not_paid - - part_paid - - paid - example: - "paid" - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: string - enum: - - not_shipped - - part_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. - type: number - format: double - example: - 0.30 - siteId?: - description: |- - The order's site. - type: string - example: - "ShoppingSite" - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. - type: string - example: - "OUTDOOR1" - status?: - description: |- - The status. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - example: - "created" - taxTotal?: - description: |- - The total tax amount. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). - type: string - enum: - - gross - - net - example: - "net" - OrderAddress: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - example: - "45 Main Rd." - address2?: - description: |- - The second address line. - type: string - example: - "Apartment 204" - city?: - description: |- - The city. - type: string - example: - "Boston" - companyName?: - description: |- - The company name. - type: string - example: - "Salesforce" - countryCode?: - description: |- - The ISO Country Code. - type: CommerceCloudStandards.CountryCode - example: - "US" - firstName?: - description: |- - The first name. - type: string - example: - "Max" - fullName?: - description: |- - The full name. - type: string - example: - "Max Mustermann" - id?: - description: |- - The ID of the address. - type: string - example: - "me" - jobTitle?: - description: |- - The job title. - type: string - example: - "Software Engineer" - lastName?: - description: |- - The last name. - type: string - example: - "Mustermann" - phone?: - description: |- - The phone number. - type: string - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - example: - "PO BOX 109" - postalCode?: - description: |- - The postal code. - type: string - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - example: - "Mr" - secondName?: - description: |- - The second name. - type: string - stateCode?: - description: |- - The state code. - type: string - example: - "MA" - suffix?: - description: |- - The suffix. - type: string - example: - "Sr" - suite?: - description: |- - The suite. - type: string - example: - "24A" - title?: - description: |- - The title. - type: string - example: - "Dr." - OrderPaymentCardRequest: - description: |- - Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - maxLength: 256 - type: string - example: - "Visa" - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - example: - "*********4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - OrderPaymentInstrument: - description: |- - Document representing an order payment instrument. - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. - type: Status - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the last 4 characters not masked. - type: string - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. - type: string - example: - "ba248424e3eee797f062162f8b" - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - OrderPaymentInstrumentRequest: - description: |- - Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - CREDIT_CARD - PaymentCard: - description: |- - Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type. - maxLength: 256 - type: string - example: - "Visa" - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. - type: boolean - example: - true - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - "Max Mustermann" - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 4000 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of the payment card number. - maxLength: 4000 - type: string - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2015 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: |- - The payment card type. - type: string - example: - "Visa" - checksumVerificationEnabled?: - description: |- - A flag indicating whether the card number is verified using the Luhn checksum algorithm. - type: boolean - example: - true - description?: - description: |- - The localized description of the payment card. - type: string - image?: - description: |- - The URL to the image that represents the payment card. - type: string - name?: - description: |- - The localized name of the payment card. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). - type: array - items: - type: string - PaymentMethod: - description: |- - Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: |- - The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). - type: array - items: - type: PaymentCardSpec - description?: - description: |- - The localized description of the payment method or card. - type: string - id: - description: |- - The ID of the payment method or card. - maxLength: 256 - type: string - image?: - description: |- - The URL to the image that represents the payment method or card. - type: string - name?: - description: |- - The localized name of the payment method or card. - type: string - paymentProcessorId?: - description: |- - The payment processor ID. - type: string - PaymentMethodResult: - description: |- - Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: |- - The applicable payment methods. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments - not based on a discount, this value is null. - type: Discount - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments - not based on a coupon, this value is null. - type: string - example: - "5ties" - createdBy?: - description: |- - The user who created the price adjustment. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the price adjustment was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This - flag is set to true unless the price adjustment was created by the promotion - engine. - type: boolean - example: - true - itemText?: - description: |- - The text describing the item. - type: string - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. - If the price adjustment was created by the promotion engine, this value is always - false. - type: boolean - example: - true - price?: - description: |- - The adjustment price. - type: number - format: double - example: - 120.88 - priceAdjustmentId?: - description: |- - The price adjustment ID. - type: string - example: - "ba248424e3eee797f062161f8b" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: |- - The URL addressing the related promotion. - type: string - reasonCode?: - description: |- - The reason why this price adjustment was made. - type: string - PriceBookIds: - description: |- - Array containing the PriceBookIds to use for this basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: |- - Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: |- - The description of the product. - type: string - example: - "Nintendo DS revolutionizes handheld gameplay." - productId: - description: |- - The ID of the product. - type: string - example: - "nintendo-ds-console" - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - title?: - description: |- - The link title. - type: string - example: - "Nintendo DS Game Console" - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including - adjustments. If the taxation policy is net, it doesn't include tax. If the - taxation policy is gross, it includes tax. - type: number - format: double - example: - 130.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. - type: string - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - true - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or - creating a custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not - including order-level adjustments or shipping charges. If the taxation policy is - net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 20.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation - policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. - type: number - format: double - example: - 15.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference - to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A - related shipping item represents a surcharge applied to individual products using - a particular shipping method. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax for the product item, not including price adjustments. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The price used to calculate the tax for this product item. - type: number - format: double - example: - 30.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - example: - 0.90 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The ID of the product list item. - type: string - example: - "ba248424e3fee797f062162f8b" - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - example: - 1 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: |- - A reference to the associated product list. - type: ProductListLink - public?: - type: boolean - example: - false - purchasedQuantity?: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0.00 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListLink: - description: |- - Document representing a link to a product list. - properties: - description?: - description: |- - The description of this product list. - type: string - name?: - description: |- - The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. - type: boolean - example: - true - title?: - description: |- - The link title. - type: string - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - "shopping_list" - PromotionLink: - description: |- - Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - name?: - description: |- - The localized name of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$50FixedProductsAmountAbove100" - title?: - description: |- - The title. - type: string - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including - service charges such as shipping. If the Discount Taxation preference is set to Tax Products and - Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as - shipping. - type: number - format: double - example: - 4.95 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If - the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - shipmentId?: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - example: - "me" - shipmentNo?: - description: |- - The shipment number of this shipment. This number is automatically generated. - type: string - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, - and tax. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: OrderAddress - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethod - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the - taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as - shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on - Adjusted Price, this amount also includes prorated order-level price adjustments. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.00 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a - custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the shipping item. - type: string - example: - "Shipping" - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level - adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - shipmentId?: - description: |- - The identifier of the shipment to which this item belongs. - type: string - example: - "me" - tax?: - description: |- - The tax on the product item, not including adjustments. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The price used to calculate the tax for this shipping item. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. - type: number - format: double - ShippingMethod: - description: |- - Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: |- - The localized description of the shipping method. - type: string - example: - "Order received within 7-10 business days" - externalShippingMethod?: - description: |- - The external shipping method. - type: string - id: - description: |- - The shipping method ID. - maxLength: 256 - type: string - example: - "001" - name?: - description: |- - The localized name of the shipping method. - type: string - example: - "Ground" - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. - type: number - format: double - example: - 15.00 - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: |- - Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: |- - The applicable shipping method documents. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: |- - The default shipping method. - type: string - example: - "me" - ShippingPromotion: - description: |- - Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$30FixedShippingAmountAbove150" - promotionName?: - description: |- - The localized promotion name. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - SimpleLink: - description: |- - Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: |- - Document representing an object status. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - message?: - description: |- - The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: |- - Document representing the tax rates and (optionally) amounts for all items in a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - TaxItems: - description: |- - Taxation for a line item. - properties: - taxItems?: - description: |- - The list of tax items. - type: array - items: - type: TaxItem - TaxItem: - description: |- - Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The taxation identifier. - type: string - rate: - description: |- - The taxation rate. - type: number - format: double - example: - 0.13 - value?: - description: |- - The tax amount. Will be computed if not set. - type: number - format: double \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/bad-request-auth.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/bad-request-example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/basket-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/forbidden.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/invalid-tax-mode.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/order-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/shipment-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/unsupported-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/unsupported-request.raml deleted file mode 100644 index 452c2569..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/unsupported-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled", - "title": "Unsupported Request If SCAPI Hooks Enabled", - "detail": "You can't call this endpoint because Salesforce Commerce API hook execution is enabled." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/exchange.json deleted file mode 100644 index c61be19e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"checkout-data-types","version":"1.0.60","main":"checkout-data-types.raml","name":"Checkout Data Types","tags":[],"classifier":"raml-fragment","dependencies":[{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"}],"originalFormatVersion":"1.0","metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"master","commitId":"1680db689bacc3562be9f732df00ba431c2bc537"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/checkout-data-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/checkout-data-types.raml deleted file mode 100644 index 86854011..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/checkout-data-types.raml +++ /dev/null @@ -1,2298 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not - including service charges such as shipping. If the Discount Taxation preference is set to Tax - Products and Shipping Only Based on Adjusted Price, this amount also includes prorated - order-level price adjustments. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. - type: number - format: double - example: - 0.30 - agentBasket?: - description: |- - Is the basket created by an agent? - type: boolean - example: - true - basketId?: - description: |- - The unique identifier for the basket. - type: string - example: - "e78aa5646a8efebdd9cdd38be7" - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - creationDate?: - description: |- - The timestamp when the basket was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information, if the customer is logged in. - type: CustomerInfo - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - inventoryReservationExpiry?: - description: |- - The expiration datetime of the inventory reservation. - type: datetime - example: - 2015-05-19T15:30:18.000Z - lastModified?: - description: |- - The timestamp when the basket was last modified. - type: datetime - example: - 2015-05-19T15:25:18.000Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. - Merchandise total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: SimpleLink - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and tax. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping - charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 88.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. - type: number - format: double - example: - 0.30 - sourceCode?: - description: |- - The source code assigned to the basket. - type: string - example: - "OUTDOOR1" - taxTotal?: - description: |- - The total tax amount. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). - type: string - enum: - - gross - - net - example: - "net" - BasketPaymentInstrumentRequest: - description: |- - Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - example: - "AFGRTUZ" - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - BasketsResult: - description: |- - Result document containing an array of baskets. - properties: - baskets: - description: |- - The list of baskets for a customer. - type: array - items: - type: Basket - total: - description: |- - The total number of baskets. - type: integer - format: int32 - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - example: - "5ties" - id?: - description: |- - The ID of the line item. - type: string - example: - "91f4dd8bfa0653d58b7783b04f" - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - example: - "Buy1Get2" - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: |- - The coupon code. - maxLength: 256 - type: string - example: - "5ties" - couponItemId?: - description: |- - The coupon item ID. - type: string - example: - "d4c9c0141e9c74c150225580f3" - statusCode?: - description: |- - The status of the coupon item. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - "no_applicable_promotion" - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". - type: boolean - example: - true - CustomerInfo: - description: |- - The customer information for guest or logged-in customers. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: |- - The customer ID. - maxLength: 100 - type: string - example: - "abMKqMaNYOBMnNdDNzyC5oNTi5" - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - customerNo?: - description: |- - The customer number. - maxLength: 100 - type: string - example: - "0002352" - email: - description: |- - The customer's email address. - type: string - example: - no-reply@salesforce.com - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. - type: number - format: double - example: - 130.88 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The price book ID that is used with some types. - type: string - example: - "usd-sale-prices" - type: - description: |- - The type of discount. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - "fixed_price" - DiscountRequest: - description: |- - Request that represents a discount to be applied to a custom price adjustment. - type: - CommerceCloudStandards.ClosedObject - properties: - type: - description: |- - The type of discount. - - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. - - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. - - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. - type: string - enum: - - percentage - - fixed_price - - amount - example: - "percentage" - value: - description: |- - The amount of the discount. - type: number - format: double - example: - 20.00 - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate item amount. - type: number - format: double - example: - 20.00 - giftCertificateItemId?: - description: |- - The item ID. - type: string - example: - "629dea6e7b61e58da629b57b21" - message?: - description: |- - The gift certificate message. - maxLength: 4000 - type: string - example: - "Birthday present." - recipientEmail: - description: |- - The recipient email. - minLength: 1 - type: string - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient's name. - type: string - example: - "Daniel Mustermann" - senderName?: - description: |- - The sender's name. - type: string - example: - "Max Mustermann" - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - Note: - description: |- - Document representing a note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The author of the note. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - id?: - description: |- - The ID of the note. - type: string - example: - "49b5c6c8340e432a7bfab9ff3a" - subject?: - description: |- - The note subject. - maxLength: 256 - type: string - example: - "Order was created." - text?: - description: |- - The note text. - maxLength: 4000 - type: string - example: - "Order was created." - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: |- - The notes. - type: array - items: - type: Note - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product - item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. - type: string - example: - "ba248414e3eee797f062162f8b" - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - false - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - example: - "The item text." - optionId: - description: |- - The ID of the option. - maxLength: 256 - type: string - example: - consoleWarranty - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - optionValueId: - description: |- - The ID of the option value. - maxLength: 256 - type: string - example: - "000" - price?: - description: |- - The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 150.99 - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or - shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not - including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. - type: number - format: double - example: - 40.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The ordered quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a - surcharge applied to individual products using a particular shipping method. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 50.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - example: - 0.19 - Order: - description: |- - Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as - shipping. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. - type: number - format: double - example: - 0.30 - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - confirmationStatus?: - description: |- - The confirmation status. - type: string - enum: - - not_confirmed - - confirmed - example: - "confirmed" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. - If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. - type: string - example: - "Customer" - creationDate?: - description: |- - The timestamp when the order was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information for guest or logged-in customers. - type: CustomerInfo - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - exportStatus?: - description: |- - The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - example: - "exported" - externalOrderStatus?: - description: |- - The external status of the order. - type: string - example: - "Submitted" - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. - type: string - example: - "GP_1234" - lastModified?: - description: |- - The timestamp when the order was last modified. - type: datetime - example: - 2021-02-25T09:58:08.715Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices - not including shipping or adjustments. - type: number - format: double - example: - 1.50 - notes?: - description: |- - The notes. - type: SimpleLink - orderNo?: - description: |- - The order number. - type: string - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. - type: string - orderTotal?: - description: |- - The total price, including products, shipping, and tax. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: string - enum: - - not_paid - - part_paid - - paid - example: - "paid" - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: string - enum: - - not_shipped - - part_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. - type: number - format: double - example: - 0.30 - siteId?: - description: |- - The order's site. - type: string - example: - "ShoppingSite" - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. - type: string - example: - "OUTDOOR1" - status?: - description: |- - The status. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - example: - "created" - taxTotal?: - description: |- - The total tax amount. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). - type: string - enum: - - gross - - net - example: - "net" - OrderAddress: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - example: - "45 Main Rd." - address2?: - description: |- - The second address line. - type: string - example: - "Apartment 204" - city?: - description: |- - The city. - type: string - example: - "Boston" - companyName?: - description: |- - The company name. - type: string - example: - "Salesforce" - countryCode?: - description: |- - The ISO Country Code. - type: CommerceCloudStandards.CountryCode - example: - "US" - firstName?: - description: |- - The first name. - type: string - example: - "Max" - fullName?: - description: |- - The full name. - type: string - example: - "Max Mustermann" - id?: - description: |- - The ID of the address. - type: string - example: - "me" - jobTitle?: - description: |- - The job title. - type: string - example: - "Software Engineer" - lastName?: - description: |- - The last name. - type: string - example: - "Mustermann" - phone?: - description: |- - The phone number. - type: string - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - example: - "PO BOX 109" - postalCode?: - description: |- - The postal code. - type: string - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - example: - "Mr" - secondName?: - description: |- - The second name. - type: string - stateCode?: - description: |- - The state code. - type: string - example: - "MA" - suffix?: - description: |- - The suffix. - type: string - example: - "Sr" - suite?: - description: |- - The suite. - type: string - example: - "24A" - title?: - description: |- - The title. - type: string - example: - "Dr." - OrderPaymentCardRequest: - description: |- - Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - maxLength: 256 - type: string - example: - "Visa" - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - example: - "*********4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - OrderPaymentInstrument: - description: |- - Document representing an order payment instrument. - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. - type: Status - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the last 4 characters not masked. - type: string - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. - type: string - example: - "ba248424e3eee797f062162f8b" - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - OrderPaymentInstrumentRequest: - description: |- - Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - CREDIT_CARD - PaymentCard: - description: |- - Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type. - maxLength: 256 - type: string - example: - "Visa" - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. - type: boolean - example: - true - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - "Max Mustermann" - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 4000 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of the payment card number. - maxLength: 4000 - type: string - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2015 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: |- - The payment card type. - type: string - example: - "Visa" - checksumVerificationEnabled?: - description: |- - A flag indicating whether the card number is verified using the Luhn checksum algorithm. - type: boolean - example: - true - description?: - description: |- - The localized description of the payment card. - type: string - image?: - description: |- - The URL to the image that represents the payment card. - type: string - name?: - description: |- - The localized name of the payment card. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). - type: array - items: - type: string - securityCodeLength?: - description: |- - The length of the security code for this card. - type: integer - format: int32 - PaymentMethod: - description: |- - Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: |- - The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). - type: array - items: - type: PaymentCardSpec - description?: - description: |- - The localized description of the payment method or card. - type: string - id: - description: |- - The ID of the payment method or card. - maxLength: 256 - type: string - image?: - description: |- - The URL to the image that represents the payment method or card. - type: string - name?: - description: |- - The localized name of the payment method or card. - type: string - paymentProcessorId?: - description: |- - The payment processor ID. - type: string - PaymentMethodResult: - description: |- - Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: |- - The applicable payment methods. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments - not based on a discount, this value is null. - type: Discount - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments - not based on a coupon, this value is null. - type: string - example: - "5ties" - createdBy?: - description: |- - The user who created the price adjustment. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the price adjustment was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This - flag is set to true unless the price adjustment was created by the promotion - engine. - type: boolean - example: - true - itemText?: - description: |- - The text describing the item. - type: string - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. - If the price adjustment was created by the promotion engine, this value is always - false. - type: boolean - example: - true - price?: - description: |- - The adjustment price. - type: number - format: double - example: - 120.88 - priceAdjustmentId?: - description: |- - The price adjustment ID. - type: string - example: - "ba248424e3eee797f062161f8b" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: |- - The URL addressing the related promotion. - type: string - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - PriceAdjustmentRequest: - description: |- - Request that represents a price adjustment. - type: - CommerceCloudStandards.OpenObject - properties: - discount?: - description: |- - A discount that can be specified instead of a price. - type: DiscountRequest - itemId?: - description: |- - The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. - type: string - example: - "93196fae953cbedbe54d67e760" - itemText?: - description: |- - The text describing the item in more detail. - type: string - example: - "A discounted item" - level: - description: |- - The level at which the adjustment is applied. - - `order` indicates that the price adjustment should be added directly to basket. - - `product` indicates that the price adjustment should be added to the product item. - - `shipping` indicates that the price adjustment is added to the shipping item. - type: string - enum: - - product - - shipping - - order - example: - "order" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. - type: string - example: - "Shipping100" - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - example: - "Shipping promotion on order above $1,000 USD" - PriceBookIds: - description: |- - Array of price book IDs to use for the basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: |- - Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: |- - The description of the product. - type: string - example: - "Nintendo DS revolutionizes handheld gameplay." - productId: - description: |- - The ID of the product. - type: string - example: - "nintendo-ds-console" - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - title?: - description: |- - The link title. - type: string - example: - "Nintendo DS Game Console" - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including - adjustments. If the taxation policy is net, it doesn't include tax. If the - taxation policy is gross, it includes tax. - type: number - format: double - example: - 130.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. - type: string - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - true - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or - creating a custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not - including order-level adjustments or shipping charges. If the taxation policy is - net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 20.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation - policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. - type: number - format: double - example: - 15.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference - to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A - related shipping item represents a surcharge applied to individual products using - a particular shipping method. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax for the product item, not including price adjustments. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The price used to calculate the tax for this product item. - type: number - format: double - example: - 30.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - example: - 0.90 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The ID of the product list item. - type: string - example: - "ba248424e3fee797f062162f8b" - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - example: - 1 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: |- - A reference to the associated product list. - type: ProductListLink - public?: - type: boolean - example: - false - purchasedQuantity?: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0.00 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListLink: - description: |- - Document representing a link to a product list. - properties: - description?: - description: |- - The description of this product list. - type: string - name?: - description: |- - The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. - type: boolean - example: - true - title?: - description: |- - The link title. - type: string - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - "shopping_list" - PromotionLink: - description: |- - Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - name?: - description: |- - The localized name of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$50FixedProductsAmountAbove100" - title?: - description: |- - The title. - type: string - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including - service charges such as shipping. If the Discount Taxation preference is set to Tax Products and - Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as - shipping. - type: number - format: double - example: - 4.95 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If - the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - shipmentId?: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - example: - "me" - shipmentNo?: - description: |- - The shipment number of this shipment. This number is automatically generated. - type: string - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, - and tax. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: OrderAddress - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethod - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the - taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as - shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on - Adjusted Price, this amount also includes prorated order-level price adjustments. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.00 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a - custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the shipping item. - type: string - example: - "Shipping" - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level - adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - shipmentId?: - description: |- - The identifier of the shipment to which this item belongs. - type: string - example: - "me" - tax?: - description: |- - The tax on the product item, not including adjustments. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The price used to calculate the tax for this shipping item. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. - type: number - format: double - ShippingMethod: - description: |- - Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: |- - The localized description of the shipping method. - type: string - example: - "Order received within 7-10 business days" - externalShippingMethod?: - description: |- - The external shipping method. - type: string - id: - description: |- - The shipping method ID. - maxLength: 256 - type: string - example: - "001" - name?: - description: |- - The localized name of the shipping method. - type: string - example: - "Ground" - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. - type: number - format: double - example: - 15.00 - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: |- - Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: |- - The applicable shipping method documents. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: |- - The default shipping method. - type: string - example: - "me" - ShippingPromotion: - description: |- - Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$30FixedShippingAmountAbove150" - promotionName?: - description: |- - The localized promotion name. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - SimpleLink: - description: |- - Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: |- - Document representing an object status. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - message?: - description: |- - The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: |- - Document representing the tax rates and (optionally) amounts for all items in a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - TaxItems: - description: |- - Taxation for a line item. - properties: - taxItems?: - description: |- - The list of tax items. - type: array - items: - type: TaxItem - TaxItem: - description: |- - Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The taxation identifier. - type: string - rate: - description: |- - The taxation rate. - type: number - format: double - example: - 0.13 - value?: - description: |- - The tax amount. Will be computed if not set. - type: number - format: double \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/bad-request-auth.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/bad-request-example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/basket-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/forbidden.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/invalid-tax-mode.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/order-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/shipment-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/unsupported-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/unsupported-request.raml deleted file mode 100644 index 452c2569..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/examples/error/unsupported-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled", - "title": "Unsupported Request If SCAPI Hooks Enabled", - "detail": "You can't call this endpoint because Salesforce Commerce API hook execution is enabled." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/exchange.json deleted file mode 100644 index 59be81d3..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.67/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"checkout-data-types","version":"1.0.67","main":"checkout-data-types.raml","name":"Checkout Data Types","tags":[],"classifier":"raml-fragment","dependencies":[{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.26"}],"originalFormatVersion":"1.0","apiVersion":"v1","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"master","commitId":"5ed6b7f8a48abf0793a976904a8dc0ef13f2a6b8"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/checkout-data-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/checkout-data-types.raml deleted file mode 100644 index 423e6028..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/checkout-data-types.raml +++ /dev/null @@ -1,2361 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not - including service charges such as shipping. If the Discount Taxation preference is set to Tax - Products and Shipping Only Based on Adjusted Price, this amount also includes prorated - order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - agentBasket?: - description: |- - Is the basket created by an agent? It is read only. - type: boolean - example: - true - basketId?: - description: |- - The unique identifier for the basket. It is read only. - type: string - example: - "e78aa5646a8efebdd9cdd38be7" - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - creationDate?: - description: |- - The timestamp when the basket was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information, if the customer is logged in. - type: CustomerInfo - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - groupedTaxItems?: - description: |- - Tax values that are summed and grouped based on the tax rate. The tax totals of the line items with the same - tax rate will be grouped together and summed up. This will not affect calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - inventoryReservationExpiry?: - description: |- - The expiration datetime of the inventory reservation. It is read only. - type: datetime - example: - 2015-05-19T15:30:18.000Z - lastModified?: - description: |- - The timestamp when the basket was last modified. It is read only. - type: datetime - example: - 2015-05-19T15:25:18.000Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. - Merchandise total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. It is read only. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: SimpleLink - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and tax. It is read only. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping - charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 88.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - sourceCode?: - description: |- - The source code assigned to the basket. It is read only. - type: string - example: - "OUTDOOR1" - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - taxRoundedAtGroup?: - description: |- - If the tax is rounded at group level then this is set to true, false if the tax is rounded at item or unit level. It is read only. - type: boolean - example: - true - temporaryBasket?: - description: |- - Is the basket created a temporary basket? It is read only. - type: boolean - example: - true - BasketPaymentInstrumentRequest: - description: |- - Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - example: - "AFGRTUZ" - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - BasketsResult: - description: |- - Result document containing an array of baskets. - properties: - baskets: - description: |- - The list of baskets for a customer. It is read only. - type: array - items: - type: Basket - total: - description: |- - The total number of baskets. It is read only. - type: integer - format: int32 - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - example: - "5ties" - id?: - description: |- - The ID of the line item. It is read only. - type: string - example: - "91f4dd8bfa0653d58b7783b04f" - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - example: - "Buy1Get2" - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: |- - The coupon code. - maxLength: 256 - type: string - example: - "5ties" - couponItemId?: - description: |- - The coupon item ID. It is read only. - type: string - example: - "d4c9c0141e9c74c150225580f3" - statusCode?: - description: |- - The status of the coupon item. It is read only. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - "no_applicable_promotion" - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". It is read only. - type: boolean - example: - true - CustomerInfo: - description: |- - The customer information for guest or logged-in customers. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: |- - The customer ID. It is read only. - maxLength: 100 - type: string - example: - "abMKqMaNYOBMnNdDNzyC5oNTi5" - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - customerNo?: - description: |- - The customer number. - maxLength: 100 - type: string - example: - "0002352" - email: - description: |- - The customer's email address. - type: string - example: - no-reply@salesforce.com - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. It is read only. - type: number - format: double - example: - 130.88 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. It is read only. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The price book ID that is used with some types. It is read only. - type: string - example: - "usd-sale-prices" - type: - description: |- - The type of discount. It is read only. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - "fixed_price" - DiscountRequest: - description: |- - Request that represents a discount to be applied to a custom price adjustment. - type: - CommerceCloudStandards.ClosedObject - properties: - type: - description: |- - The type of discount. - - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. - - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. - - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. - type: string - enum: - - percentage - - fixed_price - - amount - example: - "percentage" - value: - description: |- - The amount of the discount. - type: number - format: double - example: - 20.00 - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate item amount. - type: number - format: double - example: - 20.00 - giftCertificateItemId?: - description: |- - The item ID. It is read only. - type: string - example: - "629dea6e7b61e58da629b57b21" - message?: - description: |- - The gift certificate message. - maxLength: 4000 - type: string - example: - "Birthday present." - recipientEmail: - description: |- - The recipient email. - minLength: 1 - type: string - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient's name. - type: string - example: - "Daniel Mustermann" - senderName?: - description: |- - The sender's name. - type: string - example: - "Max Mustermann" - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - GroupedTaxItem: - description: |- - Document representing the grouped tax item. - type: - CommerceCloudStandards.ClosedObject - properties: - taxRate?: - description: |- - The tax rate. It is read only. - type: number - format: double - example: - 0.10 - taxValue?: - description: |- - The summed up tax total for the tax rate. It is read only. - type: number - format: double - example: - 10.03 - Note: - description: |- - Document representing a note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The author of the note. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - id?: - description: |- - The ID of the note. - type: string - example: - "49b5c6c8340e432a7bfab9ff3a" - subject?: - description: |- - The note subject. - maxLength: 256 - type: string - example: - "Order was created." - text?: - description: |- - The note text. - maxLength: 4000 - type: string - example: - "Order was created." - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: |- - The notes. It is read only. - type: array - items: - type: Note - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product - item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - example: - "ba248414e3eee797f062162f8b" - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. It is read only. - type: boolean - example: - false - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. It is read only. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - example: - "The item text." - optionId: - description: |- - The ID of the option. It is read only. - maxLength: 256 - type: string - example: - consoleWarranty - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - optionValueId: - description: |- - The ID of the option value. It is read only. - maxLength: 256 - type: string - example: - "000" - price?: - description: |- - The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 150.99 - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or - shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not - including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 40.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The ordered quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a - surcharge applied to individual products using a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax on the line item before applying any adjustments. It is read only. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. It is read only. - type: number - format: double - example: - 50.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.19 - Order: - description: |- - Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as - shipping. It is read only. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. It is read only. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - confirmationStatus?: - description: |- - The confirmation status. - type: string - enum: - - not_confirmed - - confirmed - example: - "confirmed" - couponItems?: - description: |- - The coupon items. It is read only. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. - If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. It is read only. - type: string - example: - "Customer" - creationDate?: - description: |- - The timestamp when the order was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. It is read only. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information for guest or logged-in customers. It is read only. - type: CustomerInfo - customerName?: - description: |- - The customer name. It is read only. - type: string - example: - "Max Mustermann" - exportStatus?: - description: |- - The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - example: - "exported" - externalOrderStatus?: - description: |- - The external status of the order. - type: string - example: - "Submitted" - giftCertificateItems?: - description: |- - The gift certificate line items. It is read only. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. It is read only. - type: string - example: - "GP_1234" - lastModified?: - description: |- - The timestamp when the order was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices - not including shipping or adjustments. It is read only. - type: number - format: double - example: - 1.50 - notes?: - description: |- - The notes. - type: SimpleLink - orderNo?: - description: |- - The order number. - type: string - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. It is read only. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. It is read only. - type: string - orderTotal?: - description: |- - The total price, including products, shipping, and tax. It is read only. - type: number - format: double - example: - 110.24 - orderViewCode?: - description: |- - The order view code used to secure the order lookup of an order using Order Lookup API. - The order view code contains only URL safe characters. - Warning : Order view code must not be exposed in the URL and must only be displayed to the shopper or sent as an email. - Order view code must not be logged in the code. It is read only. - type: string - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: string - enum: - - not_paid - - part_paid - - paid - example: - "paid" - productItems?: - description: |- - The product items. It is read only. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipments?: - description: |- - The shipments. It is read only. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. It is read only. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: string - enum: - - not_shipped - - part_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - siteId?: - description: |- - The order's site. It is read only. - type: string - example: - "ShoppingSite" - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. It is read only. - type: string - example: - "OUTDOOR1" - status?: - description: |- - The status. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - example: - "created" - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - OrderAddress: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - example: - "45 Main Rd." - address2?: - description: |- - The second address line. - type: string - example: - "Apartment 204" - city?: - description: |- - The city. - type: string - example: - "Boston" - companyName?: - description: |- - The company name. - type: string - example: - "Salesforce" - countryCode?: - description: |- - The ISO Country Code. - type: CommerceCloudStandards.CountryCode - example: - "US" - firstName?: - description: |- - The first name. - type: string - example: - "Max" - fullName?: - description: |- - The full name. - type: string - example: - "Max Mustermann" - id?: - description: |- - The ID of the address. - type: string - example: - "me" - jobTitle?: - description: |- - The job title. - type: string - example: - "Software Engineer" - lastName?: - description: |- - The last name. - type: string - example: - "Mustermann" - phone?: - description: |- - The phone number. - type: string - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - example: - "PO BOX 109" - postalCode?: - description: |- - The postal code. - type: string - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - example: - "Mr" - secondName?: - description: |- - The second name. - type: string - stateCode?: - description: |- - The state code. - type: string - example: - "MA" - suffix?: - description: |- - The suffix. - type: string - example: - "Sr" - suite?: - description: |- - The suite. - type: string - example: - "24A" - title?: - description: |- - The title. - type: string - example: - "Dr." - OrderLookupRequest: - description: |- - Document representing an order lookup request. - type: - CommerceCloudStandards.ClosedObject - properties: - email: - description: |- - The customer's email address associated with order to be looked up. - type: string - example: - no-reply@salesforce.com - orderViewCode: - description: |- - The order view code associated with the order to be looked up. - type: string - OrderPaymentCardRequest: - description: |- - Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - maxLength: 256 - type: string - example: - "Visa" - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - example: - "*********4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - OrderPaymentInstrument: - description: |- - Document representing an order payment instrument. - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. It is read only. - type: Status - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the last 4 characters not masked. - type: string - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. It is read only. - type: string - example: - "ba248424e3eee797f062162f8b" - paymentMethodId?: - description: |- - The payment method ID. It is read only. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - OrderPaymentInstrumentRequest: - description: |- - Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - CREDIT_CARD - PaymentCard: - description: |- - Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type. - maxLength: 256 - type: string - example: - "Visa" - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. It is read only. - type: boolean - example: - true - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. It is read only. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - "Max Mustermann" - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 4000 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of the payment card number. It is read only. - maxLength: 4000 - type: string - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2015 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: |- - The payment card type. It is read only. - type: string - example: - "Visa" - checksumVerificationEnabled?: - description: |- - A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. - type: boolean - example: - true - description?: - description: |- - The localized description of the payment card. It is read only. - type: string - image?: - description: |- - The URL to the image that represents the payment card. It is read only. - type: string - name?: - description: |- - The localized name of the payment card. It is read only. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). It is read only. - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). It is read only. - type: array - items: - type: string - securityCodeLength?: - description: |- - The length of the security code for this card. It is read only. - type: integer - format: int32 - PaymentMethod: - description: |- - Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: |- - The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. - type: array - items: - type: PaymentCardSpec - description?: - description: |- - The localized description of the payment method or card. It is read only. - type: string - id: - description: |- - The ID of the payment method or card. It is read only. - maxLength: 256 - type: string - image?: - description: |- - The URL to the image that represents the payment method or card. It is read only. - type: string - name?: - description: |- - The localized name of the payment method or card. It is read only. - type: string - paymentProcessorId?: - description: |- - The payment processor ID. It is read only. It is read only. - type: string - PaymentMethodResult: - description: |- - Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: |- - The applicable payment methods. It is read only. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments - not based on a discount, this value is null. - type: Discount - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments - not based on a coupon, this value is null. It is read only. - type: string - example: - "5ties" - createdBy?: - description: |- - The user who created the price adjustment. It is read only. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the price adjustment was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This - flag is set to true unless the price adjustment was created by the promotion - engine. - type: boolean - example: - true - itemText?: - description: |- - The text describing the item. - type: string - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. - If the price adjustment was created by the promotion engine, this value is always - false. - type: boolean - example: - true - price?: - description: |- - The adjustment price. It is read only. - type: number - format: double - example: - 120.88 - priceAdjustmentId?: - description: |- - The price adjustment ID. It is read only. - type: string - example: - "ba248424e3eee797f062161f8b" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: |- - The URL addressing the related promotion. It is read only. - type: string - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - PriceAdjustmentRequest: - description: |- - Request that represents a price adjustment. - type: - CommerceCloudStandards.OpenObject - properties: - discount?: - description: |- - A discount that can be specified instead of a price. - type: DiscountRequest - itemId?: - description: |- - The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. - type: string - example: - "93196fae953cbedbe54d67e760" - itemText?: - description: |- - The text describing the item in more detail. - type: string - example: - "A discounted item" - level: - description: |- - The level at which the adjustment is applied. - - `order` indicates that the price adjustment should be added directly to basket. - - `product` indicates that the price adjustment should be added to the product item. - - `shipping` indicates that the price adjustment is added to the shipping item. - type: string - enum: - - product - - shipping - - order - example: - "order" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. - type: string - example: - "Shipping100" - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - example: - "Shipping promotion on order above $1,000 USD" - PriceBookIds: - description: |- - Array of price book IDs to use for the basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: |- - Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: |- - The description of the product. - type: string - example: - "Nintendo DS revolutionizes handheld gameplay." - productId: - description: |- - The ID of the product. - type: string - example: - "nintendo-ds-console" - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - title?: - description: |- - The link title. - type: string - example: - "Nintendo DS Game Console" - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including - adjustments. If the taxation policy is net, it doesn't include tax. If the - taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 130.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - true - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or - creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not - including order-level adjustments or shipping charges. If the taxation policy is - net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 20.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation - policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 15.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference - to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A - related shipping item represents a surcharge applied to individual products using - a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax for the product item, not including price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The price used to calculate the tax for this product item. It is read only. - type: number - format: double - example: - 30.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.90 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The ID of the product list item. It is read only. - type: string - example: - "ba248424e3fee797f062162f8b" - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - example: - 1 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: |- - A reference to the associated product list. It is read only. - type: ProductListLink - public?: - type: boolean - example: - false - purchasedQuantity?: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0.00 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListLink: - description: |- - Document representing a link to a product list. - properties: - description?: - description: |- - The description of this product list. - type: string - name?: - description: |- - The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. It is read only. - type: boolean - example: - true - title?: - description: |- - The link title. - type: string - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - "shopping_list" - PromotionLink: - description: |- - Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - name?: - description: |- - The localized name of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$50FixedProductsAmountAbove100" - title?: - description: |- - The title. - type: string - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including - service charges such as shipping. If the Discount Taxation preference is set to Tax Products and - Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as - shipping. It is read only. - type: number - format: double - example: - 4.95 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If - the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipmentId?: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - example: - "me" - shipmentNo?: - description: |- - The shipment number of this shipment. This number is automatically generated. It is read only. - type: string - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, - and tax. It is read only. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: OrderAddress - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethod - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the - taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as - shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on - Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a - custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the shipping item. - type: string - example: - "Shipping" - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level - adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - shipmentId?: - description: |- - The identifier of the shipment to which this item belongs. - type: string - example: - "me" - tax?: - description: |- - The tax on the product item, not including adjustments. It is read only. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The price used to calculate the tax for this shipping item. It is read only. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. - type: number - format: double - ShippingMethod: - description: |- - Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: |- - The localized description of the shipping method. - type: string - example: - "Order received within 7-10 business days" - externalShippingMethod?: - description: |- - The external shipping method. - type: string - id: - description: |- - The shipping method ID. - maxLength: 256 - type: string - example: - "001" - name?: - description: |- - The localized name of the shipping method. - type: string - example: - "Ground" - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. It is read only. - type: number - format: double - example: - 15.00 - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: |- - Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: |- - The applicable shipping method documents. It is read only. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: |- - The default shipping method. It is read only. - type: string - example: - "me" - ShippingPromotion: - description: |- - Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$30FixedShippingAmountAbove150" - promotionName?: - description: |- - The localized promotion name. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - SimpleLink: - description: |- - Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: |- - Document representing an object status. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - message?: - description: |- - The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: |- - Document representing the tax rates and (optionally) amounts for all items in a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - TaxItems: - description: |- - Taxation for a line item. - properties: - taxItems?: - description: |- - The list of tax items. It is read only. - type: array - items: - type: TaxItem - TaxItem: - description: |- - Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The taxation identifier. - type: string - rate: - description: |- - The taxation rate. - type: number - format: double - example: - 0.13 - value?: - description: |- - The tax amount. Will be computed if not set. - type: number - format: double diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/bad-request-auth.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/bad-request-example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/basket-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/forbidden.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/invalid-tax-mode.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/order-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/shipment-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/unsupported-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/unsupported-request.raml deleted file mode 100644 index 452c2569..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/examples/error/unsupported-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled", - "title": "Unsupported Request If SCAPI Hooks Enabled", - "detail": "You can't call this endpoint because Salesforce Commerce API hook execution is enabled." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/exchange.json deleted file mode 100644 index df6e6e6e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.0/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"dependencies":[{"version":"1.0.27","assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"}],"version":"2.0.0","originalFormatVersion":"1.0","apiVersion":"v1","descriptorVersion":"0.1.0","classifier":"raml-fragment","main":"checkout-data-types.raml","assetId":"checkout-data-types","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","name":"Checkout Data Types","tags":[],"metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"v2","commitId":"bfe6b23c1b6e5c87922be4c683ad1bf3545e0660"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/checkout-data-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/checkout-data-types.raml deleted file mode 100644 index 01366d71..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/checkout-data-types.raml +++ /dev/null @@ -1,2361 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not - including service charges such as shipping. If the Discount Taxation preference is set to Tax - Products and Shipping Only Based on Adjusted Price, this amount also includes prorated - order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - agentBasket?: - description: |- - Is the basket created by an agent? It is read only. - type: boolean - example: - true - basketId?: - description: |- - The unique identifier for the basket. It is read only. - type: string - example: - "e78aa5646a8efebdd9cdd38be7" - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - creationDate?: - description: |- - The timestamp when the basket was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information, if the customer is logged in. - type: CustomerInfo - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - inventoryReservationExpiry?: - description: |- - The expiration datetime of the inventory reservation. It is read only. - type: datetime - example: - 2015-05-19T15:30:18.000Z - lastModified?: - description: |- - The timestamp when the basket was last modified. It is read only. - type: datetime - example: - 2015-05-19T15:25:18.000Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. - Merchandise total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. It is read only. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: SimpleLink - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and tax. It is read only. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping - charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 88.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - sourceCode?: - description: |- - The source code assigned to the basket. It is read only. - type: string - example: - "OUTDOOR1" - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. - type: boolean - example: - true - temporaryBasket?: - description: |- - If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. It is read only. - type: boolean - example: - true - BasketPaymentInstrumentRequest: - description: |- - Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - example: - "AFGRTUZ" - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - BasketsResult: - description: |- - Result document containing an array of baskets. - properties: - baskets: - description: |- - The list of baskets for a customer. It is read only. - type: array - items: - type: Basket - total: - description: |- - The total number of baskets. It is read only. - type: integer - format: int32 - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - example: - "5ties" - id?: - description: |- - The ID of the line item. It is read only. - type: string - example: - "91f4dd8bfa0653d58b7783b04f" - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - example: - "Buy1Get2" - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: |- - The coupon code. - maxLength: 256 - type: string - example: - "5ties" - couponItemId?: - description: |- - The coupon item ID. It is read only. - type: string - example: - "d4c9c0141e9c74c150225580f3" - statusCode?: - description: |- - The status of the coupon item. It is read only. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - "no_applicable_promotion" - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". It is read only. - type: boolean - example: - true - CustomerInfo: - description: |- - The customer information for guest or logged-in customers. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: |- - The customer ID. It is read only. - maxLength: 100 - type: string - example: - "abMKqMaNYOBMnNdDNzyC5oNTi5" - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - customerNo?: - description: |- - The customer number. - maxLength: 100 - type: string - example: - "0002352" - email: - description: |- - The customer's email address. - type: string - example: - no-reply@salesforce.com - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. It is read only. - type: number - format: double - example: - 130.88 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. It is read only. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The price book ID that is used with some types. It is read only. - type: string - example: - "usd-sale-prices" - type: - description: |- - The type of discount. It is read only. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - "fixed_price" - DiscountRequest: - description: |- - Request that represents a discount to be applied to a custom price adjustment. - type: - CommerceCloudStandards.ClosedObject - properties: - type: - description: |- - The type of discount. - - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. - - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. - - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. - type: string - enum: - - percentage - - fixed_price - - amount - example: - "percentage" - value: - description: |- - The amount of the discount. - type: number - format: double - example: - 20.00 - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate item amount. - type: number - format: double - example: - 20.00 - giftCertificateItemId?: - description: |- - The item ID. It is read only. - type: string - example: - "629dea6e7b61e58da629b57b21" - message?: - description: |- - The gift certificate message. - maxLength: 4000 - type: string - example: - "Birthday present." - recipientEmail: - description: |- - The recipient email. - minLength: 1 - type: string - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient's name. - type: string - example: - "Daniel Mustermann" - senderName?: - description: |- - The sender's name. - type: string - example: - "Max Mustermann" - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - GroupedTaxItem: - description: |- - Document representing the grouped tax item. - type: - CommerceCloudStandards.ClosedObject - properties: - taxRate?: - description: |- - The tax rate. It is read only. - type: number - format: double - example: - 0.10 - taxValue?: - description: |- - The summed up tax total for the tax rate. It is read only. - type: number - format: double - example: - 10.03 - Note: - description: |- - Document representing a note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The author of the note. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - id?: - description: |- - The ID of the note. - type: string - example: - "49b5c6c8340e432a7bfab9ff3a" - subject?: - description: |- - The note subject. - maxLength: 256 - type: string - example: - "Order was created." - text?: - description: |- - The note text. - maxLength: 4000 - type: string - example: - "Order was created." - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: |- - The notes. It is read only. - type: array - items: - type: Note - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product - item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - example: - "ba248414e3eee797f062162f8b" - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. It is read only. - type: boolean - example: - false - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. It is read only. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - example: - "The item text." - optionId: - description: |- - The ID of the option. It is read only. - maxLength: 256 - type: string - example: - consoleWarranty - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - optionValueId: - description: |- - The ID of the option value. It is read only. - maxLength: 256 - type: string - example: - "000" - price?: - description: |- - The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 150.99 - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or - shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not - including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 40.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The ordered quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a - surcharge applied to individual products using a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax on the line item before applying any adjustments. It is read only. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. It is read only. - type: number - format: double - example: - 50.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.19 - Order: - description: |- - Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as - shipping. It is read only. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. It is read only. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - confirmationStatus?: - description: |- - The confirmation status. - type: string - enum: - - not_confirmed - - confirmed - example: - "confirmed" - couponItems?: - description: |- - The coupon items. It is read only. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. - If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. It is read only. - type: string - example: - "Customer" - creationDate?: - description: |- - The timestamp when the order was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. It is read only. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information for guest or logged-in customers. It is read only. - type: CustomerInfo - customerName?: - description: |- - The customer name. It is read only. - type: string - example: - "Max Mustermann" - exportStatus?: - description: |- - The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - example: - "exported" - externalOrderStatus?: - description: |- - The external status of the order. - type: string - example: - "Submitted" - giftCertificateItems?: - description: |- - The gift certificate line items. It is read only. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. It is read only. - type: string - example: - "GP_1234" - lastModified?: - description: |- - The timestamp when the order was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices - not including shipping or adjustments. It is read only. - type: number - format: double - example: - 1.50 - notes?: - description: |- - The notes. - type: SimpleLink - orderNo?: - description: |- - The order number. - type: string - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. It is read only. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. It is read only. - type: string - orderTotal?: - description: |- - The total price, including products, shipping, and tax. It is read only. - type: number - format: double - example: - 110.24 - orderViewCode?: - description: |- - The order view code used to secure the order lookup of an order using Order Lookup API. - The order view code contains only URL safe characters. - Warning : Order view code must not be exposed in the URL and must only be displayed to the shopper or sent as an email. - Order view code must not be logged in the code. It is read only. - type: string - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: string - enum: - - not_paid - - part_paid - - paid - example: - "paid" - productItems?: - description: |- - The product items. It is read only. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipments?: - description: |- - The shipments. It is read only. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. It is read only. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: string - enum: - - not_shipped - - part_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - siteId?: - description: |- - The order's site. It is read only. - type: string - example: - "ShoppingSite" - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. It is read only. - type: string - example: - "OUTDOOR1" - status?: - description: |- - The status. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - example: - "created" - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - OrderAddress: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - example: - "45 Main Rd." - address2?: - description: |- - The second address line. - type: string - example: - "Apartment 204" - city?: - description: |- - The city. - type: string - example: - "Boston" - companyName?: - description: |- - The company name. - type: string - example: - "Salesforce" - countryCode?: - description: |- - The ISO Country Code. - type: CommerceCloudStandards.CountryCode - example: - "US" - firstName?: - description: |- - The first name. - type: string - example: - "Max" - fullName?: - description: |- - The full name. - type: string - example: - "Max Mustermann" - id?: - description: |- - The ID of the address. - type: string - example: - "me" - jobTitle?: - description: |- - The job title. - type: string - example: - "Software Engineer" - lastName?: - description: |- - The last name. - type: string - example: - "Mustermann" - phone?: - description: |- - The phone number. - type: string - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - example: - "PO BOX 109" - postalCode?: - description: |- - The postal code. - type: string - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - example: - "Mr" - secondName?: - description: |- - The second name. - type: string - stateCode?: - description: |- - The state code. - type: string - example: - "MA" - suffix?: - description: |- - The suffix. - type: string - example: - "Sr" - suite?: - description: |- - The suite. - type: string - example: - "24A" - title?: - description: |- - The title. - type: string - example: - "Dr." - OrderLookupRequest: - description: |- - Document representing an order lookup request. - type: - CommerceCloudStandards.ClosedObject - properties: - email: - description: |- - The customer's email address associated with order to be looked up. - type: string - example: - no-reply@salesforce.com - orderViewCode: - description: |- - The order view code associated with the order to be looked up. - type: string - OrderPaymentCardRequest: - description: |- - Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - maxLength: 256 - type: string - example: - "Visa" - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - example: - "*********4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - OrderPaymentInstrument: - description: |- - Document representing an order payment instrument. - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. It is read only. - type: Status - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the last 4 characters not masked. - type: string - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. It is read only. - type: string - example: - "ba248424e3eee797f062162f8b" - paymentMethodId?: - description: |- - The payment method ID. It is read only. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - OrderPaymentInstrumentRequest: - description: |- - Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - CREDIT_CARD - PaymentCard: - description: |- - Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type. - maxLength: 256 - type: string - example: - "Visa" - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. It is read only. - type: boolean - example: - true - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. It is read only. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - "Max Mustermann" - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 4000 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of the payment card number. It is read only. - maxLength: 4000 - type: string - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2015 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: |- - The payment card type. It is read only. - type: string - example: - "Visa" - checksumVerificationEnabled?: - description: |- - A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. - type: boolean - example: - true - description?: - description: |- - The localized description of the payment card. It is read only. - type: string - image?: - description: |- - The URL to the image that represents the payment card. It is read only. - type: string - name?: - description: |- - The localized name of the payment card. It is read only. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). It is read only. - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). It is read only. - type: array - items: - type: string - securityCodeLength?: - description: |- - The length of the security code for this card. It is read only. - type: integer - format: int32 - PaymentMethod: - description: |- - Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: |- - The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. - type: array - items: - type: PaymentCardSpec - description?: - description: |- - The localized description of the payment method or card. It is read only. - type: string - id: - description: |- - The ID of the payment method or card. It is read only. - maxLength: 256 - type: string - image?: - description: |- - The URL to the image that represents the payment method or card. It is read only. - type: string - name?: - description: |- - The localized name of the payment method or card. It is read only. - type: string - paymentProcessorId?: - description: |- - The payment processor ID. It is read only. It is read only. - type: string - PaymentMethodResult: - description: |- - Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: |- - The applicable payment methods. It is read only. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments - not based on a discount, this value is null. - type: Discount - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments - not based on a coupon, this value is null. It is read only. - type: string - example: - "5ties" - createdBy?: - description: |- - The user who created the price adjustment. It is read only. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the price adjustment was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This - flag is set to true unless the price adjustment was created by the promotion - engine. - type: boolean - example: - true - itemText?: - description: |- - The text describing the item. - type: string - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. - If the price adjustment was created by the promotion engine, this value is always - false. - type: boolean - example: - true - price?: - description: |- - The adjustment price. It is read only. - type: number - format: double - example: - 120.88 - priceAdjustmentId?: - description: |- - The price adjustment ID. It is read only. - type: string - example: - "ba248424e3eee797f062161f8b" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: |- - The URL addressing the related promotion. It is read only. - type: string - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - PriceAdjustmentRequest: - description: |- - Request that represents a price adjustment. - type: - CommerceCloudStandards.OpenObject - properties: - discount?: - description: |- - A discount that can be specified instead of a price. - type: DiscountRequest - itemId?: - description: |- - The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. - type: string - example: - "93196fae953cbedbe54d67e760" - itemText?: - description: |- - The text describing the item in more detail. - type: string - example: - "A discounted item" - level: - description: |- - The level at which the adjustment is applied. - - `order` indicates that the price adjustment should be added directly to basket. - - `product` indicates that the price adjustment should be added to the product item. - - `shipping` indicates that the price adjustment is added to the shipping item. - type: string - enum: - - product - - shipping - - order - example: - "order" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. - type: string - example: - "Shipping100" - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - example: - "Shipping promotion on order above $1,000 USD" - PriceBookIds: - description: |- - Array of price book IDs to use for the basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: |- - Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: |- - The description of the product. - type: string - example: - "Nintendo DS revolutionizes handheld gameplay." - productId: - description: |- - The ID of the product. - type: string - example: - "nintendo-ds-console" - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - title?: - description: |- - The link title. - type: string - example: - "Nintendo DS Game Console" - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including - adjustments. If the taxation policy is net, it doesn't include tax. If the - taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 130.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - true - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or - creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not - including order-level adjustments or shipping charges. If the taxation policy is - net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 20.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation - policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 15.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference - to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A - related shipping item represents a surcharge applied to individual products using - a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax for the product item, not including price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The price used to calculate the tax for this product item. It is read only. - type: number - format: double - example: - 30.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.90 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The ID of the product list item. It is read only. - type: string - example: - "ba248424e3fee797f062162f8b" - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - example: - 1 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: |- - A reference to the associated product list. It is read only. - type: ProductListLink - public?: - type: boolean - example: - false - purchasedQuantity?: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0.00 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListLink: - description: |- - Document representing a link to a product list. - properties: - description?: - description: |- - The description of this product list. - type: string - name?: - description: |- - The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. It is read only. - type: boolean - example: - true - title?: - description: |- - The link title. - type: string - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - "shopping_list" - PromotionLink: - description: |- - Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - name?: - description: |- - The localized name of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$50FixedProductsAmountAbove100" - title?: - description: |- - The title. - type: string - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including - service charges such as shipping. If the Discount Taxation preference is set to Tax Products and - Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as - shipping. It is read only. - type: number - format: double - example: - 4.95 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If - the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipmentId?: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - example: - "me" - shipmentNo?: - description: |- - The shipment number of this shipment. This number is automatically generated. It is read only. - type: string - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, - and tax. It is read only. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: OrderAddress - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethod - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the - taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as - shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on - Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a - custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the shipping item. - type: string - example: - "Shipping" - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level - adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - shipmentId?: - description: |- - The identifier of the shipment to which this item belongs. - type: string - example: - "me" - tax?: - description: |- - The tax on the product item, not including adjustments. It is read only. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The price used to calculate the tax for this shipping item. It is read only. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. - type: number - format: double - ShippingMethod: - description: |- - Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: |- - The localized description of the shipping method. - type: string - example: - "Order received within 7-10 business days" - externalShippingMethod?: - description: |- - The external shipping method. - type: string - id: - description: |- - The shipping method ID. - maxLength: 256 - type: string - example: - "001" - name?: - description: |- - The localized name of the shipping method. - type: string - example: - "Ground" - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. It is read only. - type: number - format: double - example: - 15.00 - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: |- - Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: |- - The applicable shipping method documents. It is read only. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: |- - The default shipping method. It is read only. - type: string - example: - "me" - ShippingPromotion: - description: |- - Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$30FixedShippingAmountAbove150" - promotionName?: - description: |- - The localized promotion name. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - SimpleLink: - description: |- - Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: |- - Document representing an object status. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - message?: - description: |- - The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: |- - Document representing the tax rates and (optionally) amounts for all items in a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - TaxItems: - description: |- - Taxation for a line item. - properties: - taxItems?: - description: |- - The list of tax items. It is read only. - type: array - items: - type: TaxItem - TaxItem: - description: |- - Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The taxation identifier. - type: string - rate: - description: |- - The taxation rate. - type: number - format: double - example: - 0.13 - value?: - description: |- - The tax amount. Will be computed if not set. - type: number - format: double diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/bad-request-auth.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/bad-request-example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/basket-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/forbidden.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/invalid-tax-mode.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/order-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/shipment-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/unsupported-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/unsupported-request.raml deleted file mode 100644 index 452c2569..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/examples/error/unsupported-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled", - "title": "Unsupported Request If SCAPI Hooks Enabled", - "detail": "You can't call this endpoint because Salesforce Commerce API hook execution is enabled." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/exchange.json deleted file mode 100644 index 7f13c2b3..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.1/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"dependencies":[{"version":"1.0.27","assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"}],"version":"2.0.1","originalFormatVersion":"1.0","apiVersion":"v1","descriptorVersion":"0.1.0","classifier":"raml-fragment","main":"checkout-data-types.raml","assetId":"checkout-data-types","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","name":"Checkout Data Types","tags":[],"metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"v2","commitId":"a20981a86c36b7ff0ad54d374c412a7eb81d59f7"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml deleted file mode 100644 index 9e059569..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml +++ /dev/null @@ -1,2364 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not - including service charges such as shipping. If the Discount Taxation preference is set to Tax - Products and Shipping Only Based on Adjusted Price, this amount also includes prorated - order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - agentBasket?: - description: |- - Is the basket created by an agent? It is read only. - type: boolean - example: - true - basketId?: - description: |- - The unique identifier for the basket. It is read only. - type: string - example: - "e78aa5646a8efebdd9cdd38be7" - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - creationDate?: - description: |- - The timestamp when the basket was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information, if the customer is logged in. - type: CustomerInfo - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - inventoryReservationExpiry?: - description: |- - The expiration datetime of the inventory reservation. It is read only. - type: datetime - example: - 2015-05-19T15:30:18.000Z - lastModified?: - description: |- - The timestamp when the basket was last modified. It is read only. - type: datetime - example: - 2015-05-19T15:25:18.000Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. - Merchandise total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. It is read only. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: SimpleLink - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and tax. It is read only. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping - charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 88.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - sourceCode?: - description: |- - The source code assigned to the basket. It is read only. - type: string - example: - "OUTDOOR1" - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. - type: boolean - example: - true - temporaryBasket?: - description: |- - If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. It is read only. - type: boolean - example: - true - BasketPaymentInstrumentRequest: - description: |- - Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - example: - "AFGRTUZ" - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - example: - "5ties" - id?: - description: |- - The ID of the line item. It is read only. - type: string - example: - "91f4dd8bfa0653d58b7783b04f" - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - example: - "Buy1Get2" - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: |- - The coupon code. - maxLength: 256 - type: string - example: - "5ties" - couponItemId?: - description: |- - The coupon item ID. It is read only. - type: string - example: - "d4c9c0141e9c74c150225580f3" - statusCode?: - description: |- - The status of the coupon item. It is read only. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - "no_applicable_promotion" - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". It is read only. - type: boolean - example: - true - CustomerInfo: - description: |- - The customer information for guest or logged-in customers. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: |- - The customer ID. It is read only. - maxLength: 100 - type: string - example: - "abMKqMaNYOBMnNdDNzyC5oNTi5" - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - customerNo?: - description: |- - The customer number. - maxLength: 100 - type: string - example: - "0002352" - email: - description: |- - The customer's email address. - type: string - example: - no-reply@salesforce.com - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. It is read only. - type: number - format: double - example: - 130.88 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. It is read only. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The price book ID that is used with some types. It is read only. - type: string - example: - "usd-sale-prices" - type: - description: |- - The type of discount. It is read only. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - "fixed_price" - DiscountRequest: - description: |- - Request that represents a discount to be applied to a custom price adjustment. - type: - CommerceCloudStandards.ClosedObject - properties: - type: - description: |- - The type of discount. - - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. - - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. - - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. - type: string - enum: - - percentage - - fixed_price - - amount - example: - "percentage" - value: - description: |- - The amount of the discount. - type: number - format: double - example: - 20.00 - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate item amount. - type: number - format: double - example: - 20.00 - giftCertificateItemId?: - description: |- - The item ID. It is read only. - type: string - example: - "629dea6e7b61e58da629b57b21" - message?: - description: |- - The gift certificate message. - maxLength: 4000 - type: string - example: - "Birthday present." - recipientEmail: - description: |- - The recipient email. - minLength: 1 - type: string - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient's name. - type: string - example: - "Daniel Mustermann" - senderName?: - description: |- - The sender's name. - type: string - example: - "Max Mustermann" - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - GroupedTaxItem: - description: |- - Document representing the grouped tax item. - type: - CommerceCloudStandards.ClosedObject - properties: - taxRate?: - description: |- - The tax rate. It is read only. - type: number - format: double - example: - 0.10 - taxValue?: - description: |- - The summed up tax total for the tax rate. It is read only. - type: number - format: double - example: - 10.03 - Note: - description: |- - Document representing a note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The author of the note. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - id?: - description: |- - The ID of the note. - type: string - example: - "49b5c6c8340e432a7bfab9ff3a" - subject?: - description: |- - The note subject. - maxLength: 256 - type: string - example: - "Order was created." - text?: - description: |- - The note text. - maxLength: 4000 - type: string - example: - "Order was created." - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: |- - The notes. It is read only. - type: array - items: - type: Note - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product - item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - example: - "ba248414e3eee797f062162f8b" - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. It is read only. - type: boolean - example: - false - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. It is read only. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - example: - "The item text." - optionId: - description: |- - The ID of the option. It is read only. - maxLength: 256 - type: string - example: - consoleWarranty - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - optionValueId: - description: |- - The ID of the option value. It is read only. - maxLength: 256 - type: string - example: - "000" - price?: - description: |- - The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 150.99 - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or - shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not - including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 40.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The ordered quantity of the products represented by this item. - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a - surcharge applied to individual products using a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax on the line item before applying any adjustments. It is read only. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. It is read only. - type: number - format: double - example: - 50.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.19 - Order: - description: |- - Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as - shipping. It is read only. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. It is read only. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - confirmationStatus?: - description: |- - The confirmation status. - type: string - enum: - - not_confirmed - - confirmed - example: - "confirmed" - couponItems?: - description: |- - The coupon items. It is read only. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. - If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. It is read only. - type: string - example: - "Customer" - creationDate?: - description: |- - The timestamp when the order was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. It is read only. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information for guest or logged-in customers. It is read only. - type: CustomerInfo - customerName?: - description: |- - The customer name. It is read only. - type: string - example: - "Max Mustermann" - exportStatus?: - description: |- - The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - example: - "exported" - externalOrderStatus?: - description: |- - The external status of the order. - type: string - example: - "Submitted" - giftCertificateItems?: - description: |- - The gift certificate line items. It is read only. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. It is read only. - type: string - example: - "GP_1234" - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - guest?: - description: |- - The registration status of the customer. It is read only. - type: boolean - example: - true - lastModified?: - description: |- - The timestamp when the order was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices - not including shipping or adjustments. It is read only. - type: number - format: double - example: - 1.50 - notes?: - description: |- - The notes. - type: SimpleLink - orderNo?: - description: |- - The order number. - type: string - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. It is read only. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. It is read only. - type: string - orderTotal?: - description: |- - The total price, including products, shipping, and tax. It is read only. - type: number - format: double - example: - 110.24 - orderViewCode?: - description: |- - The order view code used to secure the order lookup of an order using Order Lookup API. - The order view code contains only URL safe characters. - Warning : Order view code must not be exposed in the URL and must only be displayed to the shopper or sent as an email. - Order view code must not be logged in the code. It is read only. - type: string - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: string - enum: - - not_paid - - part_paid - - paid - example: - "paid" - productItems?: - description: |- - The product items. It is read only. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipments?: - description: |- - The shipments. It is read only. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. It is read only. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: string - enum: - - not_shipped - - part_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - siteId?: - description: |- - The order's site. It is read only. - type: string - example: - "ShoppingSite" - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. It is read only. - type: string - example: - "OUTDOOR1" - status?: - description: |- - The status. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - example: - "created" - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. - type: boolean - example: - true - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - OrderAddress: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - example: - "45 Main Rd." - address2?: - description: |- - The second address line. - type: string - example: - "Apartment 204" - city?: - description: |- - The city. - type: string - example: - "Boston" - companyName?: - description: |- - The company name. - type: string - example: - "Salesforce" - countryCode?: - description: |- - The ISO Country Code. - type: CommerceCloudStandards.CountryCode - example: - "US" - firstName?: - description: |- - The first name. - type: string - example: - "Max" - fullName?: - description: |- - The full name. - type: string - example: - "Max Mustermann" - id?: - description: |- - The ID of the address. - type: string - example: - "me" - jobTitle?: - description: |- - The job title. - type: string - example: - "Software Engineer" - lastName?: - description: |- - The last name. - type: string - example: - "Mustermann" - phone?: - description: |- - The phone number. - type: string - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - example: - "PO BOX 109" - postalCode?: - description: |- - The postal code. - type: string - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - example: - "Mr" - secondName?: - description: |- - The second name. - type: string - stateCode?: - description: |- - The state code. - type: string - example: - "MA" - suffix?: - description: |- - The suffix. - type: string - example: - "Sr" - suite?: - description: |- - The suite. - type: string - example: - "24A" - title?: - description: |- - The title. - type: string - example: - "Dr." - OrderLookupRequest: - description: |- - Document representing an order lookup request. - type: - CommerceCloudStandards.ClosedObject - properties: - email: - description: |- - The customer's email address associated with order to be looked up. - type: string - example: - no-reply@salesforce.com - orderViewCode: - description: |- - The order view code associated with the order to be looked up. - type: string - OrderPaymentCardRequest: - description: |- - Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - maxLength: 256 - type: string - example: - "Visa" - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - example: - "*********4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - OrderPaymentInstrument: - description: |- - Document representing an order payment instrument. - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. It is read only. - type: Status - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the last 4 characters not masked. - type: string - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. It is read only. - type: string - example: - "ba248424e3eee797f062162f8b" - paymentMethodId?: - description: |- - The payment method ID. It is read only. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - OrderPaymentInstrumentRequest: - description: |- - Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - CREDIT_CARD - PaymentCard: - description: |- - Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type. - maxLength: 256 - type: string - example: - "Visa" - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. It is read only. - type: boolean - example: - true - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. It is read only. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - "Max Mustermann" - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 4000 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of the payment card number. It is read only. - maxLength: 4000 - type: string - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2015 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: |- - The payment card type. It is read only. - type: string - example: - "Visa" - checksumVerificationEnabled?: - description: |- - A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. - type: boolean - example: - true - description?: - description: |- - The localized description of the payment card. It is read only. - type: string - image?: - description: |- - The URL to the image that represents the payment card. It is read only. - type: string - name?: - description: |- - The localized name of the payment card. It is read only. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). It is read only. - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). It is read only. - type: array - items: - type: string - securityCodeLength?: - description: |- - The length of the security code for this card. It is read only. - type: integer - format: int32 - PaymentMethod: - description: |- - Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: |- - The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. - type: array - items: - type: PaymentCardSpec - description?: - description: |- - The localized description of the payment method or card. It is read only. - type: string - id: - description: |- - The ID of the payment method or card. It is read only. - maxLength: 256 - type: string - image?: - description: |- - The URL to the image that represents the payment method or card. It is read only. - type: string - name?: - description: |- - The localized name of the payment method or card. It is read only. - type: string - paymentProcessorId?: - description: |- - The payment processor ID. It is read only. It is read only. - type: string - PaymentMethodResult: - description: |- - Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: |- - The applicable payment methods. It is read only. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments - not based on a discount, this value is null. - type: Discount - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments - not based on a coupon, this value is null. It is read only. - type: string - example: - "5ties" - createdBy?: - description: |- - The user who created the price adjustment. It is read only. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the price adjustment was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This - flag is set to true unless the price adjustment was created by the promotion - engine. - type: boolean - example: - true - itemText?: - description: |- - The text describing the item. - type: string - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. - If the price adjustment was created by the promotion engine, this value is always - false. - type: boolean - example: - true - price?: - description: |- - The adjustment price. It is read only. - type: number - format: double - example: - 120.88 - priceAdjustmentId?: - description: |- - The price adjustment ID. It is read only. - type: string - example: - "ba248424e3eee797f062161f8b" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: |- - The URL addressing the related promotion. It is read only. - type: string - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - PriceAdjustmentRequest: - description: |- - Request that represents a price adjustment. - type: - CommerceCloudStandards.OpenObject - properties: - discount?: - description: |- - A discount that can be specified instead of a price. - type: DiscountRequest - itemId?: - description: |- - The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. - type: string - example: - "93196fae953cbedbe54d67e760" - itemText?: - description: |- - The text describing the item in more detail. - type: string - example: - "A discounted item" - level: - description: |- - The level at which the adjustment is applied. - - `order` indicates that the price adjustment should be added directly to basket. - - `product` indicates that the price adjustment should be added to the product item. - - `shipping` indicates that the price adjustment is added to the shipping item. - type: string - enum: - - product - - shipping - - order - example: - "order" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. - type: string - example: - "Shipping100" - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - example: - "Shipping promotion on order above $1,000 USD" - PriceBookIds: - description: |- - Array of price book IDs to use for the basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: |- - Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: |- - The description of the product. - type: string - example: - "Nintendo DS revolutionizes handheld gameplay." - productId: - description: |- - The ID of the product. - type: string - example: - "nintendo-ds-console" - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - title?: - description: |- - The link title. - type: string - example: - "Nintendo DS Game Console" - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including - adjustments. If the taxation policy is net, it doesn't include tax. If the - taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 130.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - true - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or - creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not - including order-level adjustments or shipping charges. If the taxation policy is - net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 20.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation - policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 15.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference - to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The quantity of the products represented by this item. - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A - related shipping item represents a surcharge applied to individual products using - a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax for the product item, not including price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The price used to calculate the tax for this product item. It is read only. - type: number - format: double - example: - 30.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.90 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The ID of the product list item. It is read only. - type: string - example: - "ba248424e3fee797f062162f8b" - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - example: - 1 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: |- - A reference to the associated product list. It is read only. - type: ProductListLink - public?: - type: boolean - example: - false - purchasedQuantity?: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0.00 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListLink: - description: |- - Document representing a link to a product list. - properties: - description?: - description: |- - The description of this product list. - type: string - name?: - description: |- - The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. It is read only. - type: boolean - example: - true - title?: - description: |- - The link title. - type: string - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - "shopping_list" - PromotionLink: - description: |- - Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - name?: - description: |- - The localized name of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$50FixedProductsAmountAbove100" - title?: - description: |- - The title. - type: string - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including - service charges such as shipping. If the Discount Taxation preference is set to Tax Products and - Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as - shipping. It is read only. - type: number - format: double - example: - 4.95 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If - the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipmentId?: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - example: - "me" - shipmentNo?: - description: |- - The shipment number of this shipment. This number is automatically generated. It is read only. - type: string - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, - and tax. It is read only. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: OrderAddress - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethod - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the - taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as - shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on - Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a - custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the shipping item. - type: string - example: - "Shipping" - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level - adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - shipmentId?: - description: |- - The identifier of the shipment to which this item belongs. - type: string - example: - "me" - tax?: - description: |- - The tax on the product item, not including adjustments. It is read only. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The price used to calculate the tax for this shipping item. It is read only. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. - type: number - format: double - ShippingMethod: - description: |- - Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: |- - The localized description of the shipping method. - type: string - example: - "Order received within 7-10 business days" - externalShippingMethod?: - description: |- - The external shipping method. - type: string - id: - description: |- - The shipping method ID. - maxLength: 256 - type: string - example: - "001" - name?: - description: |- - The localized name of the shipping method. - type: string - example: - "Ground" - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. It is read only. - type: number - format: double - example: - 15.00 - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: |- - Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: |- - The applicable shipping method documents. It is read only. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: |- - The default shipping method. It is read only. - type: string - example: - "me" - ShippingPromotion: - description: |- - Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$30FixedShippingAmountAbove150" - promotionName?: - description: |- - The localized promotion name. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - SimpleLink: - description: |- - Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: |- - Document representing an object status. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - message?: - description: |- - The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: |- - Document representing the tax rates and (optionally) amounts for all items in a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - TaxItems: - description: |- - Taxation for a line item. - properties: - taxItems?: - description: |- - The list of tax items. It is read only. - type: array - items: - type: TaxItem - TaxItem: - description: |- - Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The taxation identifier. - type: string - rate: - description: |- - The taxation rate. - type: number - format: double - example: - 0.13 - value?: - description: |- - The tax amount. Will be computed if not set. - type: number - format: double diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/forbidden.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/shipment-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml deleted file mode 100644 index 452c2569..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled", - "title": "Unsupported Request If SCAPI Hooks Enabled", - "detail": "You can't call this endpoint because Salesforce Commerce API hook execution is enabled." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/exchange.json deleted file mode 100644 index 25886b6a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"dependencies":[{"version":"2.0.1","assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"}],"version":"2.0.5","originalFormatVersion":"1.0","apiVersion":"v1","descriptorVersion":"0.1.0","classifier":"raml-fragment","main":"checkout-data-types.raml","assetId":"checkout-data-types","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","name":"Checkout Data Types","tags":[],"metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"v2","commitId":"e7cad8834ddd908357c9160b31f3f9de2939fa01"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml deleted file mode 100644 index 3d3d9c1d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml +++ /dev/null @@ -1,2364 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not - including service charges such as shipping. If the Discount Taxation preference is set to Tax - Products and Shipping Only Based on Adjusted Price, this amount also includes prorated - order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - agentBasket?: - description: |- - Is the basket created by an agent? It is read only. - type: boolean - example: - true - basketId?: - description: |- - The unique identifier for the basket. It is read only. - type: string - example: - "e78aa5646a8efebdd9cdd38be7" - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - creationDate?: - description: |- - The timestamp when the basket was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information, if the customer is logged in. - type: CustomerInfo - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - inventoryReservationExpiry?: - description: |- - The expiration datetime of the inventory reservation. It is read only. - type: datetime - example: - 2015-05-19T15:30:18.000Z - lastModified?: - description: |- - The timestamp when the basket was last modified. It is read only. - type: datetime - example: - 2015-05-19T15:25:18.000Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. - Merchandise total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. It is read only. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: SimpleLink - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and tax. It is read only. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping - charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 88.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - sourceCode?: - description: |- - The source code assigned to the basket. It is read only. - type: string - example: - "OUTDOOR1" - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. - type: boolean - example: - true - temporaryBasket?: - description: |- - If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. It is read only. - type: boolean - example: - true - BasketPaymentInstrumentRequest: - description: |- - Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - example: - "AFGRTUZ" - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - example: - "5ties" - id?: - description: |- - The ID of the line item. It is read only. - type: string - example: - "91f4dd8bfa0653d58b7783b04f" - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - example: - "Buy1Get2" - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: |- - The coupon code. - maxLength: 256 - type: string - example: - "5ties" - couponItemId?: - description: |- - The coupon item ID. It is read only. - type: string - example: - "d4c9c0141e9c74c150225580f3" - statusCode?: - description: |- - The status of the coupon item. It is read only. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - "no_applicable_promotion" - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". It is read only. - type: boolean - example: - true - CustomerInfo: - description: |- - The customer information for guest or logged-in customers. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: |- - The customer ID. It is read only. - maxLength: 100 - type: string - example: - "abMKqMaNYOBMnNdDNzyC5oNTi5" - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - customerNo?: - description: |- - The customer number. - maxLength: 100 - type: string - example: - "0002352" - email: - description: |- - The customer's email address. - type: string - example: - no-reply@salesforce.com - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. It is read only. - type: number - format: double - example: - 130.88 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. It is read only. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The price book ID that is used with some types. It is read only. - type: string - example: - "usd-sale-prices" - type: - description: |- - The type of discount. It is read only. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - "fixed_price" - DiscountRequest: - description: |- - Request that represents a discount to be applied to a custom price adjustment. - type: - CommerceCloudStandards.ClosedObject - properties: - type: - description: |- - The type of discount. - - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. - - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. - - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. - type: string - enum: - - percentage - - fixed_price - - amount - example: - "percentage" - value: - description: |- - The amount of the discount. - type: number - format: double - example: - 20.00 - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate item amount. - type: number - format: double - example: - 20.00 - giftCertificateItemId?: - description: |- - The item ID. It is read only. - type: string - example: - "629dea6e7b61e58da629b57b21" - message?: - description: |- - The gift certificate message. - maxLength: 4000 - type: string - example: - "Birthday present." - recipientEmail: - description: |- - The recipient email. - minLength: 1 - type: string - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient's name. - type: string - example: - "Daniel Mustermann" - senderName?: - description: |- - The sender's name. - type: string - example: - "Max Mustermann" - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - GroupedTaxItem: - description: |- - Document representing the grouped tax item. - type: - CommerceCloudStandards.ClosedObject - properties: - taxRate?: - description: |- - The tax rate. It is read only. - type: number - format: double - example: - 0.10 - taxValue?: - description: |- - The summed up tax total for the tax rate. It is read only. - type: number - format: double - example: - 10.03 - Note: - description: |- - Document representing a note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The author of the note. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - id?: - description: |- - The ID of the note. - type: string - example: - "49b5c6c8340e432a7bfab9ff3a" - subject?: - description: |- - The note subject. - maxLength: 256 - type: string - example: - "Order was created." - text?: - description: |- - The note text. - maxLength: 4000 - type: string - example: - "Order was created." - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: |- - The notes. It is read only. - type: array - items: - type: Note - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product - item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - example: - "ba248414e3eee797f062162f8b" - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. It is read only. - type: boolean - example: - false - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. It is read only. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - example: - "The item text." - optionId: - description: |- - The ID of the option. It is read only. - maxLength: 256 - type: string - example: - consoleWarranty - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - optionValueId: - description: |- - The ID of the option value. It is read only. - maxLength: 256 - type: string - example: - "000" - price?: - description: |- - The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 150.99 - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or - shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not - including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 40.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The ordered quantity of the products represented by this item. - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a - surcharge applied to individual products using a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax on the line item before applying any adjustments. It is read only. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. It is read only. - type: number - format: double - example: - 50.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.19 - Order: - description: |- - Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as - shipping. It is read only. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. It is read only. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - confirmationStatus?: - description: |- - The confirmation status. - type: string - enum: - - not_confirmed - - confirmed - example: - "confirmed" - couponItems?: - description: |- - The coupon items. It is read only. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. - If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. It is read only. - type: string - example: - "Customer" - creationDate?: - description: |- - The timestamp when the order was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. It is read only. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information for guest or logged-in customers. It is read only. - type: CustomerInfo - customerName?: - description: |- - The customer name. It is read only. - type: string - example: - "Max Mustermann" - exportStatus?: - description: |- - The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - example: - "exported" - externalOrderStatus?: - description: |- - The external status of the order. - type: string - example: - "Submitted" - giftCertificateItems?: - description: |- - The gift certificate line items. It is read only. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. It is read only. - type: string - example: - "GP_1234" - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - guest?: - description: |- - The registration status of the customer. It is read only. - type: boolean - example: - true - lastModified?: - description: |- - The timestamp when the order was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices - not including shipping or adjustments. It is read only. - type: number - format: double - example: - 1.50 - notes?: - description: |- - The notes. - type: SimpleLink - orderNo?: - description: |- - The order number. - type: string - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. It is read only. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. It is read only. - type: string - orderTotal?: - description: |- - The total price, including products, shipping, and tax. It is read only. - type: number - format: double - example: - 110.24 - orderViewCode?: - description: |- - The order view code used to secure the order lookup of an order using Order Lookup API. - The order view code contains only URL safe characters. - Warning : Order view code must not be exposed in the URL and must only be displayed to the shopper or sent as an email. - Order view code must not be logged in the code. It is read only. - type: string - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: string - enum: - - not_paid - - part_paid - - paid - example: - "paid" - productItems?: - description: |- - The product items. It is read only. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipments?: - description: |- - The shipments. It is read only. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. It is read only. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: string - enum: - - not_shipped - - part_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - siteId?: - description: |- - The order's site. It is read only. - type: string - example: - "ShoppingSite" - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. It is read only. - type: string - example: - "OUTDOOR1" - status?: - description: |- - The status. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - example: - "created" - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. - type: boolean - example: - true - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - OrderAddress: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - example: - "45 Main Rd." - address2?: - description: |- - The second address line. - type: string - example: - "Apartment 204" - city?: - description: |- - The city. - type: string - example: - "Boston" - companyName?: - description: |- - The company name. - type: string - example: - "Salesforce" - countryCode?: - description: |- - The ISO Country Code. - type: CommerceCloudStandards.CountryCode - example: - "US" - firstName?: - description: |- - The first name. - type: string - example: - "Max" - fullName?: - description: |- - The full name. - type: string - example: - "Max Mustermann" - id?: - description: |- - The ID of the address. - type: string - example: - "me" - jobTitle?: - description: |- - The job title. - type: string - example: - "Software Engineer" - lastName?: - description: |- - The last name. - type: string - example: - "Mustermann" - phone?: - description: |- - The phone number. - type: string - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - example: - "PO BOX 109" - postalCode?: - description: |- - The postal code. - type: string - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - example: - "Mr" - secondName?: - description: |- - The second name. - type: string - stateCode?: - description: |- - The state code. - type: string - example: - "MA" - suffix?: - description: |- - The suffix. - type: string - example: - "Sr" - suite?: - description: |- - The suite. - type: string - example: - "24A" - title?: - description: |- - The title. - type: string - example: - "Dr." - OrderLookupRequest: - description: |- - Document representing an order lookup request. - type: - CommerceCloudStandards.ClosedObject - properties: - email: - description: |- - The customer's email address associated with order to be looked up. - type: string - example: - no-reply@salesforce.com - orderViewCode: - description: |- - The order view code associated with the order to be looked up. - type: string - OrderPaymentCardRequest: - description: |- - Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - maxLength: 256 - type: string - example: - "Visa" - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - example: - "*********4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - OrderPaymentInstrument: - description: |- - Document representing an order payment instrument. - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. It is read only. - type: Status - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the last 4 characters not masked. - type: string - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. It is read only. - type: string - example: - "ba248424e3eee797f062162f8b" - paymentMethodId?: - description: |- - The payment method ID. It is read only. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - OrderPaymentInstrumentRequest: - description: |- - Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - CREDIT_CARD - PaymentCard: - description: |- - Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type. - maxLength: 256 - type: string - example: - "Visa" - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. It is read only. - type: boolean - example: - true - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - "Max Mustermann" - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 4000 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of the payment card number. It is read only. - maxLength: 4000 - type: string - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2015 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: |- - The payment card type. It is read only. - type: string - example: - "Visa" - checksumVerificationEnabled?: - description: |- - A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. - type: boolean - example: - true - description?: - description: |- - The localized description of the payment card. It is read only. - type: string - image?: - description: |- - The URL to the image that represents the payment card. It is read only. - type: string - name?: - description: |- - The localized name of the payment card. It is read only. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). It is read only. - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). It is read only. - type: array - items: - type: string - securityCodeLength?: - description: |- - The length of the security code for this card. It is read only. - type: integer - format: int32 - PaymentMethod: - description: |- - Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: |- - The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. - type: array - items: - type: PaymentCardSpec - description?: - description: |- - The localized description of the payment method or card. It is read only. - type: string - id: - description: |- - The ID of the payment method or card. It is read only. - maxLength: 256 - type: string - image?: - description: |- - The URL to the image that represents the payment method or card. It is read only. - type: string - name?: - description: |- - The localized name of the payment method or card. It is read only. - type: string - paymentProcessorId?: - description: |- - The payment processor ID. It is read only. It is read only. - type: string - PaymentMethodResult: - description: |- - Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: |- - The applicable payment methods. It is read only. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments - not based on a discount, this value is null. - type: Discount - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments - not based on a coupon, this value is null. It is read only. - type: string - example: - "5ties" - createdBy?: - description: |- - The user who created the price adjustment. It is read only. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the price adjustment was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This - flag is set to true unless the price adjustment was created by the promotion - engine. - type: boolean - example: - true - itemText?: - description: |- - The text describing the item. - type: string - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. - If the price adjustment was created by the promotion engine, this value is always - false. - type: boolean - example: - true - price?: - description: |- - The adjustment price. It is read only. - type: number - format: double - example: - 120.88 - priceAdjustmentId?: - description: |- - The price adjustment ID. It is read only. - type: string - example: - "ba248424e3eee797f062161f8b" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: |- - The URL addressing the related promotion. It is read only. - type: string - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - PriceAdjustmentRequest: - description: |- - Request that represents a price adjustment. - type: - CommerceCloudStandards.OpenObject - properties: - discount?: - description: |- - A discount that can be specified instead of a price. - type: DiscountRequest - itemId?: - description: |- - The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. - type: string - example: - "93196fae953cbedbe54d67e760" - itemText?: - description: |- - The text describing the item in more detail. - type: string - example: - "A discounted item" - level: - description: |- - The level at which the adjustment is applied. - - `order` indicates that the price adjustment should be added directly to basket. - - `product` indicates that the price adjustment should be added to the product item. - - `shipping` indicates that the price adjustment is added to the shipping item. - type: string - enum: - - product - - shipping - - order - example: - "order" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. - type: string - example: - "Shipping100" - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - example: - "Shipping promotion on order above $1,000 USD" - PriceBookIds: - description: |- - Array of price book IDs to use for the basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: |- - Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: |- - The description of the product. - type: string - example: - "Nintendo DS revolutionizes handheld gameplay." - productId: - description: |- - The ID of the product. - type: string - example: - "nintendo-ds-console" - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - title?: - description: |- - The link title. - type: string - example: - "Nintendo DS Game Console" - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including - adjustments. If the taxation policy is net, it doesn't include tax. If the - taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 130.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - true - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or - creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not - including order-level adjustments or shipping charges. If the taxation policy is - net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 20.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation - policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 15.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference - to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The quantity of the products represented by this item. - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A - related shipping item represents a surcharge applied to individual products using - a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax for the product item, not including price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The price used to calculate the tax for this product item. It is read only. - type: number - format: double - example: - 30.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.90 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The ID of the product list item. It is read only. - type: string - example: - "ba248424e3fee797f062162f8b" - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - example: - 1 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: |- - A reference to the associated product list. It is read only. - type: ProductListLink - public?: - type: boolean - example: - false - purchasedQuantity?: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0.00 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListLink: - description: |- - Document representing a link to a product list. - properties: - description?: - description: |- - The description of this product list. - type: string - name?: - description: |- - The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. It is read only. - type: boolean - example: - true - title?: - description: |- - The link title. - type: string - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - "shopping_list" - PromotionLink: - description: |- - Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - name?: - description: |- - The localized name of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$50FixedProductsAmountAbove100" - title?: - description: |- - The title. - type: string - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including - service charges such as shipping. If the Discount Taxation preference is set to Tax Products and - Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as - shipping. It is read only. - type: number - format: double - example: - 4.95 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If - the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipmentId?: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - example: - "me" - shipmentNo?: - description: |- - The shipment number of this shipment. This number is automatically generated. It is read only. - type: string - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, - and tax. It is read only. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: OrderAddress - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethod - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the - taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as - shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on - Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a - custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the shipping item. - type: string - example: - "Shipping" - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level - adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - shipmentId?: - description: |- - The identifier of the shipment to which this item belongs. - type: string - example: - "me" - tax?: - description: |- - The tax on the product item, not including adjustments. It is read only. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The price used to calculate the tax for this shipping item. It is read only. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. - type: number - format: double - ShippingMethod: - description: |- - Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: |- - The localized description of the shipping method. - type: string - example: - "Order received within 7-10 business days" - externalShippingMethod?: - description: |- - The external shipping method. - type: string - id: - description: |- - The shipping method ID. - maxLength: 256 - type: string - example: - "001" - name?: - description: |- - The localized name of the shipping method. - type: string - example: - "Ground" - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. It is read only. - type: number - format: double - example: - 15.00 - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: |- - Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: |- - The applicable shipping method documents. It is read only. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: |- - The default shipping method. It is read only. - type: string - example: - "me" - ShippingPromotion: - description: |- - Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$30FixedShippingAmountAbove150" - promotionName?: - description: |- - The localized promotion name. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - SimpleLink: - description: |- - Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: |- - Document representing an object status. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - message?: - description: |- - The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: |- - Document representing the tax rates and (optionally) amounts for all items in a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - TaxItems: - description: |- - Taxation for a line item. - properties: - taxItems?: - description: |- - The list of tax items. It is read only. - type: array - items: - type: TaxItem - TaxItem: - description: |- - Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The taxation identifier. - type: string - rate: - description: |- - The taxation rate. - type: number - format: double - example: - 0.13 - value?: - description: |- - The tax amount. Will be computed if not set. - type: number - format: double diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/order-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml deleted file mode 100644 index 452c2569..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled", - "title": "Unsupported Request If SCAPI Hooks Enabled", - "detail": "You can't call this endpoint because Salesforce Commerce API hook execution is enabled." - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/exchange.json deleted file mode 100644 index 39a5e446..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"dependencies":[{"version":"2.0.1","assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"}],"version":"2.0.6","originalFormatVersion":"1.0","apiVersion":"v1","descriptorVersion":"0.1.0","classifier":"raml-fragment","main":"checkout-data-types.raml","assetId":"checkout-data-types","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","name":"Checkout Data Types","tags":[],"metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"v2","commitId":"c2e92b6a330fb7dda1e494b148c506dc9e44ab0f"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml deleted file mode 100644 index 1fe2d231..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml deleted file mode 100644 index 419c821f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml +++ /dev/null @@ -1,358 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int32 - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json deleted file mode 100644 index 9012e41c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.15","metadata":{"projectId":"b14c2b6a-2d86-46c1-9038-7cbedc656132","branchId":"master","commitId":"f6d54dade2b1aeed39ef12b62e6f8e8b9d0b48cd"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Filter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Query.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/attribute-definition-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/error-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/search-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/commerce-cloud-standards.raml deleted file mode 100644 index 1fe86a0a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/commerce-cloud-standards.raml +++ /dev/null @@ -1,109 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/exchange.json deleted file mode 100644 index 932bbb97..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.26"} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml deleted file mode 100644 index 99e06ea0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml +++ /dev/null @@ -1,120 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml deleted file mode 100644 index f9abcef7..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml +++ /dev/null @@ -1,69 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json deleted file mode 100644 index fbeb9213..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.27","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/shopper-baskets-description.md b/testIntegration/stagingApis/checkout/shopper-baskets/shopper-baskets-description.md deleted file mode 100644 index 6781a540..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/shopper-baskets-description.md +++ /dev/null @@ -1,108 +0,0 @@ -# API Overview - -Shopper Baskets V2 provides all Shopper Basket V1 functionality and adds support for temporary baskets. -Temporary baskets can perform calculations to generate totals, line items, promotions, and item availability without affecting the shopper’s storefront cart, and you can use those calculations for temporary basket checkout. You can also use a temporary basket for an immediate order request. - -**Note**: `dw.ocapi.shop.basket.beforePOST` hook is no longer supported and is replaced by the `dw.ocapi.shop.basket.beforePOST_v2` hook. - -Use the Shopper Baskets API to create a basket in the B2C Commerce system and populate it with all the data required to ready the basket for checkout. - -To create a basket, start with the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets-v2?meta=createBasket) endpoint. The endpoint creates the basket in the B2C Commerce system and returns a JSON representation of the basket with a `basketId` property. - -If you provide the JSON for a prepopulated basket to the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets-v2?meta=createBasket) endpoint, you can create a basket using a single API request. - -You can also create a basket and gradually populate it with data using subsequent API requests that reference the same `basketId`. The gradual approach allows you to validate the input data as you go. - -The Shopper Baskets API includes endpoints to populate each part of a basket separately, including: - -- Billing address -- Customer information -- Line items - - Products - - Coupons - - Gift certificates -- Payment methods -- Price books -- Shipments -- Taxation (for items and the basket itself) - -In addition to creating a basket, the main `/baskets` resource offers endpoints to get, transfer, merge, and delete baskets, depending on the HTTP method that you use and the parameters that you supply. These endpoints can you help you handle a variety of complex scenarios, such as when a user starts shopping as a guest and then logs in before checkout. - -You can also use the main `/baskets` resource to add custom properties to your basket, prefixed with `c_` (example: `c_faxNumber`). - -When your basket is fully populated, you can use its `basketId` property to create an order with the [Shopper Orders API](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-orders?meta=Summary). - -## Authentication & Authorization - -The client requesting the basket information must have access to the `/baskets` resource. The Shopper Baskets API requires a shopper access token from the Shopper Login and API Access Service (SLAS). - -For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -The following resources require an Account Manager OAuth token with a client ID: - -- `/baskets/{basketId}/taxes` -- `/baskets/{basketId}/items/{itemId}/taxes` -- `/baskets/{basketId}/price-books` - -## Use Cases - -### Use Hooks - -For details on working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) - -## Basket Calculation - -Unless you’re using [hooks](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html), each modification to a basket triggers the following calculations: - -1. Calculate product prices: - - Iterate through the product line items and determine the base price of each using its price model. If multiple price books apply to a product, the lowest price is used. - - Calculate product option line item prices using the product option model. - - For bonus products, check dependent adjustments in the basket to determine the price. -2. Iterate through the gift certificate line items and calculate the price of each by multiplying the base price by the quantity. -3. Recalculate for all promotions, adding and removing them as appropriate. -4. Apply product-specific shipping costs. -5. Calculate the total shipping cost. -6. Recalculate for all promotions, adding and removing them as appropriate. -7. Calculate prices for products added by the promotion engine. -8. Calculate taxes using line item tax class codes. - - For internal tax mode, use the tax tables. - - For external tax mode, use the tax rates returned by the tax API endpoints. -9. Calculate the order’s net, tax, and gross totals by adding up the line totals. - -## External Taxation - -The B2C Commerce API calculates taxes internally using tax tables. If you want to integrate with a third-party tax provider, or calculate tax on your own, you can use the external taxation feature to add a taxation rate and optional taxation value. When setting a taxation rate, the taxation is calculated for this specific rate. If you pass a value, this value is used as taxation value, as well, without recalculation. To use this feature, set the `taxMode` parameter to `external` when creating the basket. - -When using external taxation, you must set a tax rate either in one request to the `/baskets/{basketId}/taxes` or with separate requests for each line item, using `/baskets/{basketId}/items/{lineItemId}/taxes`. - -If the tax mode of a basket is set to `external`, a tax item is required for all line items even for zero-tax items to avoid oversights. - -### External Taxation with Hooks Enabled - -To use external tax calculation with [hooks](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html), use the following API methods in the [Calculate Hook](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html#calculate-hook): -- `dw.order.LineItemCtnr#isExternallyTaxed`: Returns true if the basket was created with `taxMode = external` -- `dw.order.TaxMgr#applyExternalTax`: Applies externally set tax rates to the given basket. Only use when `dw.order.LineItemCtnr#isExternallyTaxed` returns true. - -The following example shows an implementation of external tax calculation with hooks enabled in the [Calculate Hook](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html#calculate-hook): - - exports.calculate = function (basket) { - if ( basket.isExternallyTaxed() ) - { - TaxMgr.applyExternalTaxation( basket ); // apply the external tax calculation based on the tax rates set by the SCAPI external taxation APIs - } - else - { - // calculation with tax tables or customization - } - } - -## Temporary Baskets - -A temporary basket is populated with all the data required to ready the basket for checkout, but differs from a shopper basket in the following ways: -- Basket lifetime is limited to 15 minutes. -- The shopper can have up to 10 (default 4) temporary baskets, which can be configured via Basket Preferences (Sites -> Merchant Tools -> Basket Preferences) and specifying the preference **Temporary Baskets per Customer**. -- Available to all shoppers (guest and registered shoppers), as well as agents. - -To create a temporary basket, set the `temporary` parameter to `true` with the [Create basket](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets-v2?meta=createBasket) endpoint. diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/shopper-baskets-traits.raml b/testIntegration/stagingApis/checkout/shopper-baskets/shopper-baskets-traits.raml deleted file mode 100644 index 4140ddcc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/shopper-baskets-traits.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 Library - -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -traits: - LocaleSpecific: - usage: This trait should be used whenever a resource uses the context of a locale associated with its request. This will add a locale query parameter. - queryParameters: - locale?: - type: CommerceCloudStandards.LocaleCode - description: |- - A descriptor to provide locale context for a geographical region by both a language and/or country code. The locale pattern in the query param follows the ISO 639-1 for the language code (e.g. en, de, fr) and ISO 3166-1 for the country code (e.g. US, DE, AT). The param can be a combination of language code and country code or can just refer to the language code. - Below are some valid examples: - - en-US - - de-AT - - de - - default - example: - en-US \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/shopper-baskets.raml b/testIntegration/stagingApis/checkout/shopper-baskets/shopper-baskets.raml deleted file mode 100644 index a59374bf..00000000 --- a/testIntegration/stagingApis/checkout/shopper-baskets/shopper-baskets.raml +++ /dev/null @@ -1,1718 +0,0 @@ -#%RAML 1.0 -#In C4E review -title: Shopper Baskets - -version: v2 -description: !include shopper-baskets-description.md -protocols: [HTTPS] -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-baskets/{version} -baseUriParameters: - shortCode: - description: Region-specific merchant identifier. - example: 0dnz6oep - -uses: - BasketTraits: shopper-baskets-traits.raml - dataTypes: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - ErrorResponse: ApiStandards.ErrorResponse - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /baskets: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Creates a new basket. - - The created basket is initialized with default values. Optional JSON data provided in the request body is populated into the created basket. It can be updated with other endpoints offered by the Shopper Baskets API. - - Each customer can have just one open basket. When a basket is created, it is said to be open. It remains open until either an order is created from it or it is deleted. - displayName: createBasket - responses: - '200': - description: The initialized basket. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '400': - description: |- - Possible reasons: - - the provided payment method is invalid or not applicable. - - the customerId URL parameter does not match the verified customer - represented by the JSON Web Token (JWT). - - a new basket cannot be created because the maximum number - of baskets per customer would be exceeded. - - a new temporary basket cannot be created because the maximum number - of temporary baskets per customer would be exceeded. - - the same shipment ID appeared twice in the body. - - the coupon number is not provided. - - a fixed price adjustment was added at order level which is disallowed. - - a promotion ID was - used twice, while attempting to add a price adjustment. - - a system promotion - ID was used as a manual promotion ID, while attempting to add a price adjustment. - - more than one hundred price adjustments would have been - created. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse1: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - dataTypes.ErrorResponse2: !include examples/error/customer-basket-quota-exceeded-exception.raml - dataTypes.ErrorResponse3: !include examples/error/customer-temporary-basket-quota-exceeded-exception.raml - '404': - description: Thrown if the shipment with the given shipment ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml - queryParameters: - taxMode?: - type: string - enum: - - internal - - external - default: internal - description: |- - Determines how taxes are calculated. - - The default value is `internal` where the tax calculation is done automatically based on internal tax tables. Setting `taxMode` to `external` allows manual modification of the tax rates and values. External tax data is mandatory for product line items, option line items, shipping line items, coupon line items, and bonus discount line item. Gift certificate line items are optional and use zero tax rate by default, which can be overwritten. Price adjustments cannot be set because they are either calculated or inherited. Depending on the type, the tax rate is either obtained from the related line item or computed as a prorate of the basket. - temporary?: - type: boolean - default: false - description: |- - If set to true, the basket created is a temporary basket. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /actions/transfer: - type: CommerceCloudStandards.Organization - post: - displayName: transferBasket - description: |- - Transfer the previous shopper's basket to the current shopper by updating the basket's owner. No other values change. You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token. - - A success response contains the transferred basket. - - If the current shopper has an active basket, and the `overrideExisting` request parameter is `false`, then the transfer request returns a BasketTransferException (HTTP status 409). You can proceed with one of these options: - - Keep the current shopper's active basket. - - Merge the previous and current shoppers' baskets by calling the `baskets/merge` endpoint. - - Force the transfer by calling the `baskets/transfer` endpoint again, with the parameter `overrideExisting=true`. Forcing the transfer deletes the current shopper's active basket. - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - responses: - '200': - description: |- - The transferred basket. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '403': - description: |- - The call returns this error if no SLAS token for a registered shopper is available. - body: - type: ErrorResponse - examples: - SLASJWTException: !include examples/error/slas-jwt-exception.raml - '409': - description: |- - The call returns this response in either of these cases: - - The previous shopper has no active basket. - - The current shopper has an active basket and the `overrideExisting` query parameter was `false` (default value). - body: - application/problem+json: - type: ErrorResponse - examples: - SourceBasketException: !include examples/error/source-basket-exception.raml - BasketTransferException: !include examples/error/basket-transfer-exception.raml - queryParameters: - overrideExisting?: - description: |- - If the current shopper has no active basket, this parameter is ignored. If the current shopper has an active basket, this parameter controls the behavior: - - `false` (default): Return a BasketTransferException (HTTP status 409). The basket owner doesn't change. - - `true`: Force the transfer by deleting the current shopper's active basket and making the current shopper the owner of the previous shopper's basket. Returns the transferred basket (HTTP status 200). - type: boolean - default: false - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /actions/merge: - type: CommerceCloudStandards.Organization - post: - displayName: mergeBasket - description: |- - Merge data from the previous shopper's basket into the current shopper's active basket and delete the previous shopper's basket. This endpoint doesn't merge Personally Identifiable Information (PII). You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token. After the merge, all basket amounts are recalculated and totaled, including lookups for prices, taxes, shipping, and promotions, unless hooks are enabled. - - The following information is merged: - - custom attributes on the basket and on all copied records - - product items - - gift certificate items - - coupon items - - shipments - - ad-hoc price adjustments - - To control the merging of products that exist in both baskets, use the `productItemMergeMode` parameter. By default, the higher of the two basket quantities is used for each product. Products in both baskets are considered to be the same when all of the following values match (if one product doesn't have a value, the other product is a match only if it also doesn't have that value): - - shipment - - productId - - option values - - wishlist reference - - inventory list id - - gift flag & message - - ad-hoc price adjustments - - If any of the listed values don't match, then the item in the previous shopper's basket is copied to a new line item in the current shopper's basket. If the listed values all match, but the matching products have different values for any custom attribute, the merged line item keeps the custom attribute value from the current shopper's basket. - - A success response contains the current shopper's active basket. The previous guest shopper's active basket is deleted. - - If the current shopper doesn't have an active basket, and the createDestinationBasket request parameter is false, then the merge request returns a BasketMergeException (HTTP status 409). You can proceed with one of these options: - - Transfer the previous shopper's active basket to the current logged-in shopper by calling the `baskets/transfer` endpoint. - - Force the merge by calling the `baskets/merge` endpoint again, with the parameter `createDestinationBasket=true`. Forcing the merge creates a new basket for the current shopper and copies information from the previous shopper's basket into it. Because the merge doesn't copy all basket data, a forced merge is not the same as a transfer. For example, the new basket doesn't contain any Personally Identifiable Information (PII) from the previous basket. - - ### before merge - | Previous Shopper's Basket, SKU: Quantity, Custom Attributes | Current Shopper's Basket, SKU: Quantity, Custom Attributes | - |-------------------------------------------------------------|-------------------------------------------------------------| - | SKU_A: 5
SKU_B: 3
SKU_C: 4
c_customAttr_1: 'ABC'
c_customAttr_2: 'DEF' | SKU_A: 2
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_3: 'XYZ' | - - ### after merge - (previous shopper's basket is deleted) - | productItemMergeMode | Current Shopper's Basket - SKU: Quantity, Custom Attributes | - |----------------------|--------------------------------------------------------------| - | sum_quantities | SKU_A: 7
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | - | higher_quantity | SKU_A: 5
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | - | saved_quantity | SKU_A: 2
SKU_B: 3
SKU_C: 4
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | - | separate_item | SKU_A: 5
SKU_B: 3
SKU_C: 4
SKU_A: 2
SKU_D: 6
SKU_E: 7
c_customAttr_1: 'UVW'
c_customAttr_2: 'DEF'
c_customAttr_3: 'XYZ' | - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - responses: - '200': - description: |- - The current shopper's active basket, including items merged from the previous shopper's basket. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '403': - description: |- - The call returns this error if no SLAS token for a registered shopper is available. - body: - type: ErrorResponse - examples: - SLASJWTException: !include examples/error/slas-jwt-exception.raml - '409': - description: |- - The call returns this response in either of these cases: - - The previous shopper has no active basket. - - The current shopper has no active basket and the `createDestinationBasket` query parameter was `false` (default value). - body: - application/problem+json: - type: ErrorResponse - examples: - SourceBasketException: !include examples/error/source-basket-exception.raml - BasketMergeException: !include examples/error/basket-merge-exception.raml - queryParameters: - createDestinationBasket?: - description: |- - If the current shopper has an active basket, this parameter is ignored. If the current shopper has no active basket, this parameter controls the behavior: - - `false` (default): Return a BasketMergeException (HTTP status 409). - - `true`: Force the merge by creating a basket for the current shopper and copying information from the previous shopper's basket into it. Return success (HTTP status 200). - type: boolean - default: false - productItemMergeMode?: - description: |- - This parameter controls the quantity calculation for products that exist in both baskets. - - higher_quantity (default): Compare the product's quantities in each basket, and use the higher value. - - sum_quantities: Use the sum of the product's quantities from both baskets. - - saved_quantity: Use the product's quantity in the current shopper's active basket. Ignore the quantity from the previous shopper's basket. - - separate_item: Add a separate product item to the current shopper's basket for the quantity in the previous shopper's basket. - type: string - enum: - - higher_quantity - - sum_quantities - - saved_quantity - - separate_item - default: higher_quantity - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{basketId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - description: Removes a basket. - displayName: deleteBasket - responses: - '204': - description: Success, without a body. - '400': - description: |- - The customer assigned to the basket does not - match the verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - get: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Gets a basket. - displayName: getBasket - responses: - '200': - description: Success, the response body contains the retrieved basket. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-get-response.raml - '400': - description: |- - The customer assigned to the basket does not match the verified - customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Updates a basket. Only the currency of the basket, source code, the custom - properties of the basket, and the shipping items will be considered. - displayName: updateBasket - responses: - '200': - description: Success, the response body contains the updated basket. - body: - type: dataTypes.Basket - examples: - Basket: !include examples/basket/basket-patch-response.raml - '400': - description: |- - Possible reasons: - - the customer assigned to the basket does not - match the verified customer represented by the JSON Web Token (JWT). - - the basket cannot be updated because the - requested currency is not supported by the site. - - the given shipping item ID is null or empty. - - a few shipping items with the same item ID are - provided. - - the provided code is not currently active. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the shipping item with the given item ID is - unknown for the basket. - - the provided code was not found. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - queryParameters: - removeExternalTax?: - description: |- - If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the `currency` triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values. - type: boolean - default: true - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - - uriParameters: - basketId: - description: The ID of the basket to be modified. - minLength: 1 - type: string - example: a10ff320829cb0eef93ca5310a - /agent: - type: CommerceCloudStandards.Organization - put: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Marks a basket as an agent basket. - displayName: updateAsAgentBasket - responses: - '200': - description: Success, the response body contains basket that is set as an agent basket. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-put-agent-response.raml - '400': - description: Marking this basket as an agent basket would exceed the open agent basket limit for the basket customer. - body: - application/problem+json: - type: ErrorResponse - examples: - datatypes.ErrorResponse: !include examples/error/customer-basket-quota-exceeded-exception.raml - '404': - description: The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperTokenTaob: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /billing-address: - type: CommerceCloudStandards.Organization - put: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Sets the billing address of a basket. - displayName: updateBillingAddressForBasket - responses: - '200': - description: Success, the response body contains basket with the added billing address. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/billing-address-put-response.raml - '400': - description: |- - The customer assigned to the basket does not - match the verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - queryParameters: - useAsShipping?: - type: boolean - removeExternalTax?: - description: |- - If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the billing/shipping address triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values. - type: boolean - default: true - body: - type: dataTypes.OrderAddress - examples: - dataTypes.OrderAddress: !include examples/basket/billing-address-put-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /coupons: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Adds a coupon to an existing basket. - displayName: addCouponToBasket - responses: - '200': - description: Success, the response body contains the basket with the added coupon. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/coupon-code-post-response.raml - '400': - description: |- - Possible Reasons: - - the customer assigned to the basket does not - match the verified customer represented by the JSON Web Token (JWT). - - the coupon number is not provided. - - the coupon code specified is invalid. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.CouponItem - examples: - dataTypes.CouponItem: !include examples/basket/coupon-code-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{couponItemId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Removes a coupon from the basket. - displayName: removeCouponFromBasket - responses: - '200': - description: Success, the response body contains the basket without the deleted coupon. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '400': - description: |- - The customer assigned to the basket does not - match the verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the couponItemId URL parameter does not match any - coupon item ID in the basket. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - uriParameters: - couponItemId: - description: The ID of the coupon item to be removed. - minLength: 1 - type: string - example: 9372d0f511dac8caf77afc4kj2 - /customer: - type: CommerceCloudStandards.Organization - put: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Sets customer information for an existing basket. - displayName: updateCustomerForBasket - responses: - '200': - description: Success, the response body contains the basket with the added customer information. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/customer-put-response.raml - '400': - description: |- - Possible reasons: - - the customer assigned to the basket does not match the verified - customer represented by the JSON Web Token (JWT). - - the customer cannot be set to the basket because the - max number of baskets per customer would be exceeded. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - Possible reasons: - - the customer with the given customer number is unknown. - - the basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.CustomerInfo - examples: - dataTypes.CustomerInfo: !include examples/basket/customer-put-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /gift-certificate-items: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Adds a gift certificate item to an existing basket. - displayName: addGiftCertificateItemToBasket - responses: - '200': - description: Success, the response body contains the basket with the added gift certificate. - body: - type: dataTypes.Basket - examples: - Basket: !include examples/basket/gift-cert-post-response.raml - '400': - description: The gift certificate item amount is negative. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the shipment with the given shipment ID is - unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.GiftCertificateItem - examples: - dataTypes.GiftCertificateItem: !include examples/basket/gift-cert-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{giftCertificateItemId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Deletes a gift certificate item from an existing basket. - displayName: removeGiftCertificateItemFromBasket - responses: - '200': - description: Success, the response body contains the basket without the deleted gift certificate. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the gift certificate item with the given gift certificate item ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Updates a gift certificate item of an existing basket. - displayName: updateGiftCertificateItemInBasket - responses: - '200': - description: Success, the response body contains the basket with the updated gift certificate. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/gift-cert-patch-response.raml - '400': - description: The gift certificate item amount is negative. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the gift certificate item with the given gift certificate item ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.GiftCertificateItem - examples: - dataTypes.GiftCertificateItem: !include examples/basket/gift-cert-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - uriParameters: - giftCertificateItemId: - description: the ID of the gift certificate item to be updated. - minLength: 1 - type: string - example: 83726a8351540534af93f3b15f - /items: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Adds new items to a basket. The added items are associated with the - specified shipment. If no shipment id is specified, the added items are associated with the default shipment. - Considered values from the request body, for each item are: - - - productId: a valid product ID. This is the ID of the product to be added to the basket. If the - product is already in the basket, the API either increments the quantity of the existing product line item or - creates a new product line item, based on the site preference 'Add Product Behavior'. For option products and - product bundles containing variation masters, the API creates a new product line item regardless of the site - preference. - - shipmentId: a valid shipment ID (optional). This is the ID of the shipment in which the product item - is created. - - quantity: a number between 0.01 and 999. This is the quantity of the product to order. - - inventoryId: a valid inventory ID (optional). This is the ID of the inventory from which the item is - allocated. - - bonusDiscountLineItemId: a valid bonus discount line item ID (optional). This is the ID of the - bonus discount line item for which the added product is a selected bonus product. - - optionItems/optionValueId: a valid option value ID. This is an option value for an option item of - an option product. This is only possible if the product item is an option - product. To set option values, you must specify a collection of option items in the optionItems - property. These option items must contain optionId and optionValueId. Also, - the values you specify must be valid for the option product that this product item represents. Otherwise, the - server throws an InvalidProductOptionItemException or an - InvalidProductOptionValueItemException. - - custom properties in the form c_: the custom property must correspond to a custom - attribute () defined for ProductLineItem. The value of this property must be valid for the - type of custom attribute defined for ProductLineItem. - - displayName: addItemToBasket - responses: - '200': - description: Success, the response body contains the basket with the added items. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/item-post-response.raml - '400': - description: |- - Possible reasons: - - the given product ID is null or invalid. - - the product with the given product ID is unknown, offline or - not assigned to site catalog or the given product item quantity is null or invalid. - - a null quantity value. - - the requested product quantity is not available. - - the product cannot be added to the basket because of its type. - - an option with the specified option ID is unknown. - - an option with the specified option value ID is - unknown. - - the maximum allowed number of products added to the basket, - has been exceeded. - - the customer assigned to the basket does not match the verified - customer represented by the JSON Web Token (JWT). - - the provided bonus discount line item ID is not - present in the current basket. - - the quantity of the product to be added will result in the - number of selected bonus choice products to exceed the amount that the user is permitted to select. - - the selected bonus product is not an applicable product for - the bonus discount line item provided. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the basket does not contain a shipment with the given shipment ID. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: array - items: dataTypes.ProductItem - examples: - dataTypes.ProductItem: !include examples/basket/item-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Updates multiple items in a basket. This behaviour matches that of updating a - single item, but the body contains an array of ProductItems to be updated that are identified by `itemId`. - The items to update can include bundled product items, although the - kind of update supported for bundled product items is limited to `productId`, `gift`, `giftMessage` - and custom properties. - The following values in the request body are considered by the server: - - - `itemId` (mandatory): identifies an item to be updated. - - `productId`: a valid product ID. The purpose of this - value is to change the variation of a variation product. - - `shipmentId`: a valid shipment ID. The purpose of - this value is to move a product item to another shipment. - - `quantity`: a number between 0 and 999. The purpose of - this value is to change the quantity of the product item. If the quantity is 0, - the product item is removed. - - `optionItems`/`optionValueId`: a valid option value - ID. The purpose of this value is to exchange an option value for an - option item of an option product. - This is only possible if the product item is an option product. To change - option values, a collection of the option items to be changed must be - provided in the property `optionItems`. Those - `optionItems` must contain `optionId` - and `optionValueId`. The provided values must be valid - for the option product that this product item represents. Otherwise, - `InvalidProductOptionItemException` or - `InvalidProductOptionValueItemException` is thrown. - - custom properties `c_`: a - value corresponding to the type defined for custom attribute - `` of the ProductLineItem. The purpose of this value is to - add or change the value of a custom attribute defined for the - ProductLineItem. - - `gift`: a boolean value that specifies whether the item is a gift. - - `giftMessage`: a message to include with the gift. - - displayName: updateItemsInBasket - responses: - '200': - description: Success, the response body contains the basket with the updated item. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/items-patch-response.raml - '400': - description: |- - Possible reasons: - - no product item with a given item ID was found for the basket. - - the product with the given product ID in the - request body is invalid. - - a null quantity value. - - an option with a specified option ID is unknown. - - an option with a specified option value ID is unknown. - - the given shipment ID is invalid. - - the customer assigned to the basket does not - match the verified customer represented by the JWT token. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: basket not found - queryParameters: - removeExternalTax?: - description: |- - If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the product line item quantity triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values. - type: boolean - default: true - body: - type: array - items: dataTypes.ProductItem - examples: - dataTypes.ProductItem: !include examples/basket/items-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{itemId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Removes a product item from the basket. - displayName: removeItemFromBasket - responses: - '200': - description: Success, the response body contains the basket without the deleted item. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '400': - description: |- - The customer assigned to the basket doesn't - match the verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Updates an item in a basket. The item to be updated can be a bundled product item, although the - kind of update supported for bundled product items is limited to `productId` (to support - variation products), `gift`, `giftMessage` and custom properties. - The following values in the request body are considered by the server: - - - `productId`: a valid product ID. The purpose of this - value is to exchange a variation of a variation product. - - `shipmentId`: a valid shipment ID. The purpose of - this value is to move a product item to another shipment. - - `quantity`: a number between 0 and 999. The purpose of - this value is to change quantity of the product item. If quantity is 0, - the product item is removed. - - `optionItems`/`optionValueId`: a valid option value - ID. The purpose of this value is to exchange an option value for an - option item of an option product. - This is only possible if the product item is an option product. To change - option values a collection of option items to be changed need to be - provided in property optionItems. Those - optionItems need to contain optionId - and `optionValueId`. The provided values must be valid - for the option product that this product item represents. Otherwise, - `InvalidProductOptionItemException` or - `InvalidProductOptionValueItemException` is thrown. - - custom properties `c_`: a - value corresponding to the type defined for custom attribute - `` of ProductLineItem. The purpose of this value is to - add or change the value of a custom attribute defined for - ProductLineItem. - - `gift`: a boolean value that specifies whether the item is a gift - - `giftMessage`: a message for the gift - - displayName: updateItemInBasket - responses: - '200': - description: Success, the response body contains the basket with the updated item. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/item-patch-response.raml - '400': - description: |- - Possible reasons: - - no product item with given item ID was found for the basket. - - the product with the given product ID in the - request body is invalid. - - a null quantity value. - - an option with the specified option id is unknown. - - an option with the specified option value id is unknown. - - the given shipment ID is invalid. - - the customer assigned to the basket does not. - match the verified customer represented by the JWT token. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - a shipment with it's given ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - queryParameters: - removeExternalTax?: - description: |- - If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the product line item quantity triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values. - type: boolean - default: true - body: - type: dataTypes.ProductItem - examples: - dataTypes.ProductItem: !include examples/basket/item-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - uriParameters: - itemId: - description: The ID of the item to be updated. - minLength: 1 - type: string - example: 43c38652bc3844e14cd482ff28 - /taxes: - type: CommerceCloudStandards.Organization - put: - is: - - CommerceCloudStandards.SiteSpecific: - description: This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for a specific taxable line item. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. - displayName: addTaxesForBasketItem - responses: - '204': - description: Success, without body. - '404': - description: |- - Possible reasons: - - The basket with the given basket ID is unknown. - - The item with the given item ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - '409': - description: |- - Possible Reasons: - - The tax mode of the referenced basket is not set to EXTERNAL. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml - body: - type: dataTypes.TaxItems - examples: - dataTypes.TaxItems: !include examples/basket/basket-item-tax-put-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /payment-instruments: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Adds a payment instrument to a basket. - displayName: addPaymentInstrumentToBasket - responses: - '200': - description: Success, the response body contains the basket with the added payment instrument. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/payment-instrument-post-response.raml - '400': - description: |- - Possible reasons: - - the provided payment method is invalid or not applicable. - - the customer assigned to the basket does not match the verified - customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: The basket with the given basket ID is unknown. - - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.BasketPaymentInstrumentRequest - examples: - dataTypes.BasketPaymentInstrumentRequest: !include examples/basket/payment-instrument-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{paymentInstrumentId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Removes a payment instrument of a basket. - displayName: removePaymentInstrumentFromBasket - responses: - '200': - description: Success, the response body contains the basket without the deleted payment instrument. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '400': - description: |- - The customer assigned to the basket does not match the verified - customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the payment instrument with the given basket payment - instrument ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - responseStatus: 404 - description: Updates payment instrument of an existing basket. - displayName: updatePaymentInstrumentInBasket - responses: - '200': - description: Success, the response body contains the basket with the updated payment instrument. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/payment-instrument-patch-response.raml - '400': - description: |- - Possible reasons: - - the provided payment method is invalid or not applicable. - - the basket payment intsrument with the given id is already permanently masked. - - The customer assigned to the basket does not match the - verified customer represented by the JSON Web Token (JWT). - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: - - the basket with the given basket ID is unknown. - - the payment instrument item with the given payment instrument ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - queryParameters: - removeExternalTax?: - description: |- - If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the payment instrument triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values. - type: boolean - default: true - body: - type: dataTypes.OrderPaymentInstrument - examples: - dataTypes.OrderPaymentInstrument: !include examples/basket/payment-instrument-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /payment-methods: - type: CommerceCloudStandards.Organization - get: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Gets applicable payment methods for an existing basket considering the open payment amount only. - displayName: getPaymentMethodsForBasket - responses: - '200': - description: Success, the response body contains the applicable payment methods for the basket. - body: - type: dataTypes.PaymentMethodResult - examples: - dataTypes.PaymentMethodResult: !include examples/basket/payment-methods-get-response.raml - '400': - description: |- - The customer assigned to the basket does not match the - verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - /price-adjustments: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Adds a custom manual price adjustment to the basket. - displayName: addPriceAdjustmentToBasket - responses: - '200': - description: Success, the response body contains the basket with added price adjustment. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/price-adjustment-post-response.raml - '400': - description: |- - Possible reasons: - - a fixed price adjustment was already created for the given level. - - a fixed price adjustment was added at `order` level. - - a promotion ID was used twice. - - a system promotion ID was used as a manual promotion ID. - - more than one hundred price adjustments would have been created. - - the price adjustment limit had exceeded. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.PriceAdjustmentRequest - examples: - dataTypes.PriceAdjustmentRequest: !include examples/basket/price-adjustment-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperTokenTaob: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{priceAdjustmentId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Removes a custom manual price adjustment from the basket. - displayName: removePriceAdjustmentFromBasket - responses: - '200': - description: Success, the response body contains the basket without the deleted price adjustment. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '400': - description: |- - The priceAdjustmentId is missing, empty or whitespace. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperTokenTaob: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - description: |- - Updates a custom manual price adjustment on the basket. Only the following path values are considered for the update; all other attributes are ignored. - - `discount` - - `itemText` - - `reasonCode` - - `custom properties` - The discount `type` of a price adjustment cannot be updated and therefore, the value of the existing type must be passed. For an adjustment of type `percentage`, the `percentage` attribute is mandatory. For adjustments of type `amount` and `fixed_price`, the `amount` attribute is mandatory. - displayName: updatePriceAdjustmentInBasket - responses: - '200': - description: Success, the response body contains the basket with the updated price adjustment. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/price-adjustment-patch-response.raml - '400': - description: |- - Possible reasons: - - the price adjustment is not manual and cannot be updated. - - the expected attributes are missing in the input. - - the type of a price adjustment does not match the adjustment type of the input data. - - the price adjustment limit is exceeded. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - The price adjustment ID is not found. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include examples/error/price-adjustment-id-not-found-exception.raml - body: - type: dataTypes.PriceAdjustment - examples: - dataTypes.PriceAdjustment: !include examples/basket/price-adjustment-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperTokenTaob: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /price-books: - type: CommerceCloudStandards.Organization - get: - is: - - CommerceCloudStandards.SiteSpecific: - description: ( DEPRECATED ) Gets applicable price books for an existing basket. This endpoint is deprecated. Use [Shopper Context](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-context?meta=Summary), hooks or `dw.catalog.PriceBookMgr#getApplicablePriceBooks()` instead. - displayName: getPriceBooksForBasket - responses: - '200': - description: Success, the response body contains the priceBookIds for the basket. - body: - type: dataTypes.PriceBookIds - examples: - dataTypes.PriceBookIds: !include examples/basket/price-books.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - put: - is: - - CommerceCloudStandards.SiteSpecific: - description: ( DEPRECATED ) This method allows you to put an array of priceBookIds to an existing basket, which will be used for basket calculation. This endpoint is deprecated. Use [Shopper Context](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-context?meta=Summary), hooks or `dw.catalog.PriceBookMgr#setApplicablePriceBooks()` instead. - displayName: addPriceBooksToBasket - responses: - '204': - description: Success, without body. - '404': - description: The basket with the given basket ID is unknown or contains a price book ID that does not correspond to an existing price book. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.PriceBookIds - examples: - dataTypes.PriceBookIds: !include examples/basket/price-books.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /shipments: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Creates a new shipment for a basket. - - The created shipment is initialized with values provided in the body - document and can be updated with further data API calls. Considered from - the body are the following properties if specified: - - - the ID - - the shipping address - - the shipping method - - gift boolean flag - - gift message - - custom properties - - displayName: createShipmentForBasket - responses: - '200': - description: Success, the response body contains the basket with added shipment. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/shipments-post-response.raml - '400': - description: |- - Possible reasons: - - a shipment id is not provided. - - a shipment with the provided ID already. - exists for the basket. - - a shipment with the provided shipment number - already exists for the basket. - - a shipping method with an ID was specified - which is not a valid shipping method ID. - - the customer assigned to the basket does not match the - verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - The basket with the given basket ID is - unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.Shipment - examples: - dataTypes.Shipment: !include examples/basket/shipments-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{shipmentId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Removes a specified shipment and all associated product, gift certificate, - shipping, and price adjustment line items from a basket. - It is not allowed to remove the default shipment. - displayName: removeShipmentFromBasket - responses: - '200': - description: Success, the response body contains the basket without the deleted shipment. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-post-response.raml - '400': - description: |- - Possible reasons: - - the given shipment ID is invalid. - - the customer assigned to the basket does not match the - verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '403': - description: |- - The given shipment ID corresponds to the - default shipment and cannot be removed. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml - '404': - description: |- - The basket with the given basket ID is - unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Updates a shipment for a basket. - - The shipment is initialized with values provided in the body - document and can be updated with further data API calls. Considered from - the body are the following properties if specified: - - the ID - - the shipping address - - the shipping method - - gift boolean flag - - gift message - - custom properties - - displayName: updateShipmentForBasket - responses: - '200': - description: Success, the response body contains the basket with the updated shipment. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/shipments-patch-response.raml - '400': - description: |- - Possible reasons: - - the given shipment ID was invalid. - - a shipment with the provided ID already - exists for the basket. - - a shipment with the provided shipment number - already exists for the basket. - - a missing shipping method. - - an invalid shipping method. - - the customer assigned to the basket does not match the - verified customer represented by the JSON Web Token (JWT). - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.Shipment - examples: - dataTypes.Shipment: !include examples/basket/shipments-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - uriParameters: - shipmentId: - description: The ID of the shipment to be modified. - minLength: 1 - type: string - example: me - /shipping-address: - type: CommerceCloudStandards.Organization - put: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Sets a shipping address of a specific shipment of a basket. - displayName: updateShippingAddressForShipment - responses: - '200': - description: Success, the response body contains the basket with the added shipping address. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/shipments-address-put-response.raml - '400': - description: |- - Possible reasons: - - the shipment with the given shipment ID is unknown. - - the customer assigned to the basket does not - match the verified customer represented by the JSON Web Token (JWT). - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: The basket with the given basket ID is unknown. - - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - queryParameters: - useAsBilling?: - type: boolean - removeExternalTax?: - description: |- - If `true` (default value), the external tax rates are removed from the basket and set to null. To add external tax rates to a basket, use the `addTaxesForBasket` or `addTaxesForBasketItem` endpoint. The removal of external tax rates depends on the update performed on the basket, for example: an update to the shipping/billing address triggers a removal. Set this parameter to `false` to disable the removal of external tax rates/values. - type: boolean - default: true - body: - type: dataTypes.OrderAddress - examples: - dataTypes.OrderAddress: !include examples/basket/shipments-address-put-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /shipping-method: - type: CommerceCloudStandards.Organization - put: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Sets a shipping method to a specific shipment of a basket. - displayName: updateShippingMethodForShipment - responses: - '200': - description: Success, the response body contains the basket with the added shipping method. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/shipments-method-put-response.raml - '400': - description: |- - Possible reasons: - - the id of the shipping method is missing. - - a shipping method with an ID was specified - which is not a valid shipping method ID. - - the customer assigned to the basket does not match the - verified customer represented by the JSON Web Token (JWT). - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - body: - type: dataTypes.ShippingMethod - examples: - dataTypes.ShippingMethod: !include examples/basket/shipments-method-put-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /shipping-methods: - type: CommerceCloudStandards.Organization - get: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: |- - Gets the applicable shipping methods for a certain shipment of a basket. - displayName: getShippingMethodsForShipment - responses: - '200': - description: Success, the response body contains the applicable shipping methods for a certain shipment of the basket. - body: - type: dataTypes.ShippingMethodResult - examples: - dataTypes.ShippingMethodResult: !include examples/basket/shipments-method-get-response.raml - '400': - description: |- - The customer assigned to the basket does not match the - verified customer represented by the JSON Web Token (JWT). - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml - '404': - description: |- - Possible reasons: - - The basket with the given basket ID is unknown. - - The shipment with the given shipment ID is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - /storefront: - type: CommerceCloudStandards.Organization - put: - is: - - CommerceCloudStandards.SiteSpecific: - - BasketTraits.LocaleSpecific: - description: Marks a basket as a storefront basket. - displayName: updateAsStorefrontBasket - responses: - '200': - description: Success, the response body contains a basket that is set as a storefront basket. - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/basket/basket-put-storefront-response.raml - '400': - description: Thrown if a storefront basket already exists and the query parameter `exchange` is false. - body: - application/problem+json: - type: ErrorResponse - examples: - datatypes.ErrorResponse: !include examples/error/customer-basket-quota-exceeded-exception.raml - '404': - description: The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - queryParameters: - exchange?: - type: boolean - description: If true, an existing storefront basket is exchanged and marked as an agent basket. If false, a `CustomerBasketsQuotaExceededException` is thrown. - securedBy: - - CommerceCloudStandards.ShopperTokenTaob: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - /taxes: - type: CommerceCloudStandards.Organization - get: - is: - - CommerceCloudStandards.SiteSpecific: - description: This method gives you the external taxation data set by the PUT taxes API. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. - displayName: getTaxesFromBasket - responses: - '200': - description: Success, the response body contains the external taxation from all line items from the referenced basket. - body: - type: dataTypes.Taxes - examples: - dataTypes.Taxes: !include examples/basket/basket-tax-get-response.raml - '404': - description: The basket with the given basket ID is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - '409': - description: |- - Possible Reasons: - - The tax mode of the referenced basket is not set to EXTERNAL. - body: - type: ErrorResponse - examples: - dataTypes.InvalidTaxMode: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml - dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - put: - is: - - CommerceCloudStandards.SiteSpecific: - description: This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for all taxable line items. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information. - displayName: addTaxesForBasket - responses: - '204': - description: Success, without body. - '404': - description: The basket with the given basket ID is unknown. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml - '409': - description: |- - Possible Reasons: - - The tax mode of the referenced basket is not set to EXTERNAL. - body: - application/problem+json: - type: ErrorResponse - examples: - dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml - body: - type: dataTypes.Taxes - examples: - dataTypes.Taxes: !include examples/basket/basket-tax-put-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/.metadata.json b/testIntegration/stagingApis/checkout/shopper-orders/.metadata.json deleted file mode 100644 index 8f3fade1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-orders/0.4.8", - "name": "Shopper Orders", - "description": "Finish the shopper checkout experience resulting in an order.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-orders", - "version": "0.4.8", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Checkout" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-get-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-get-response.raml deleted file mode 100644 index da546ea0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-get-response.raml +++ /dev/null @@ -1,195 +0,0 @@ -#%RAML 1.0 NamedExample -order-get-response: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "confirmationStatus": "not_confirmed", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "d3f7ae47e5897a6b5d2fd541f0", - "statusCode": "applied", - "valid": true - } - ], - "createdBy": "Customer", - "creationDate": "2019-10-22T12:17:28.341Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "customerName": "Stephanie Miller", - "email": "shopper@salesforce-test.com" - }, - "customerName": "Stephanie Miller", - "exportStatus": "not_exported", - "grouped_tax_items": [ - { - "_type": "grouped_tax", - "tax_rate": 0.05, - "tax_value": 30.80 - } - ], - "guest": true, - "giftCertificateItems": [ - { - "amount": 1.00, - "giftCertificateItemId": "540db3ffe58bfb04ab673757d7", - "recipientEmail": "miller@salesforce-test.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-22T12:17:28.376Z", - "merchandizeTotalTax": 30.00, - "notes": { - }, - "orderNo": "00000410", - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 10, - "type": "amount" - }, - "reasonCode": "customer service", - "createdBy": "support", - "creationDate": "2019-10-22T12:17:28.347Z", - "custom": true, - "lastModified": "2019-10-22T12:17:28.349Z", - "manual": true, - "price": -10, - "priceAdjustmentId": "63b9eb9b4a92bd3e5c6ee804c2", - "promotionId": "5ties" - } - ], - "orderToken": "7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I", - "orderTotal": 586.76, - "orderViewCode": "YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc", - "paymentInstruments": [ - { - "amount": 20, - "paymentInstrumentId": "ca47e0da3d49b067b630db624a", - "paymentMethodId": "BML" - }, - { - "amount": 566.76, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "6b970a04ca8a468a64b9936764", - "paymentMethodId": "CREDIT_CARD" - } - ], - "paymentStatus": "not_paid", - "productItems": [ - { - "adjustedTax": 30.00, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "d9516eecc64bd90b0022714d26", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0.00, - "basePrice": 0.00, - "bonusProductLineItem": false, - "gift": false, - "itemId": "8991e8d7adf0f46ffbc584e175", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0.00, - "priceAfterItemDiscount": 0.00, - "priceAfterOrderDiscount": 0.00, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0.00, - "taxBasis": 0.00, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.99, - "priceAfterItemDiscount": 599.99, - "priceAfterOrderDiscount": 589.99, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30.00, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 37.00, - "adjustedShippingTotalTax": 0.50, - "gift": false, - "merchandizeTotalTax": 30.00, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "d5d95acf5381dc6e273b4336a7", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "768abee75aa8015239a9696c7e", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "status": "created", - "taxation": "net", - "taxTotal": 30.8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-lookup-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-lookup-request.raml deleted file mode 100644 index 8afe39ed..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-lookup-request.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -order-lookup-request: - { - "email": "no-reply@salesforce.com", - "orderViewCode": "YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-patch-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-patch-response.raml deleted file mode 100644 index 232c7165..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-patch-response.raml +++ /dev/null @@ -1,195 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "resourceState": "bcd8438d70b68b8d7a2967bb5623f90b33882da52a11c130d84abc55004addcb", - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "confirmationStatus": "not_confirmed", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "d3f7ae47e5897a6b5d2fd541f0", - "statusCode": "applied", - "valid": true - } - ], - "createdBy": "Customer", - "creationDate": "2019-10-22T12:17:28.341Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "customerName": "Stephanie Miller", - "email": "shopper@salesforce-test.com" - }, - "customerName": "Stephanie Miller", - "exportStatus": "not_exported", - "grouped_tax_items": [ - { - "_type": "grouped_tax", - "tax_rate": 0.05, - "tax_value": 30.80 - } - ], - "guest": true, - "giftCertificateItems": [ - { - "amount": 1.00, - "giftCertificateItemId": "540db3ffe58bfb04ab673757d7", - "recipientEmail": "miller@salesforce-test.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-22T12:17:28.376Z", - "merchandizeTotalTax": 30.00, - "notes": { - }, - "orderNo": "00000410", - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 10, - "type": "amount" - }, - "reasonCode": "customer service", - "createdBy": "support", - "creationDate": "2019-10-22T12:17:28.347Z", - "custom": true, - "lastModified": "2019-10-22T12:17:28.349Z", - "manual": true, - "price": -10, - "priceAdjustmentId": "63b9eb9b4a92bd3e5c6ee804c2", - "promotionId": "5ties" - } - ], - "orderToken": "7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I", - "orderTotal": 586.76, - "paymentInstruments": [ - { - "amount": 20, - "paymentInstrumentId": "ca47e0da3d49b067b630db624a", - "paymentMethodId": "BML" - }, - { - "amount": 566.76, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "6b970a04ca8a468a64b9936764", - "paymentMethodId": "CREDIT_CARD" - } - ], - "paymentStatus": "not_paid", - "productItems": [ - { - "adjustedTax": 30.00, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "d9516eecc64bd90b0022714d26", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0.00, - "basePrice": 0.00, - "bonusProductLineItem": false, - "gift": false, - "itemId": "8991e8d7adf0f46ffbc584e175", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0.00, - "priceAfterItemDiscount": 0.00, - "priceAfterOrderDiscount": 0.00, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0.00, - "taxBasis": 0.00, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.99, - "priceAfterItemDiscount": 599.99, - "priceAfterOrderDiscount": 589.99, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30.00, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 37.00, - "adjustedShippingTotalTax": 0.50, - "gift": false, - "merchandizeTotalTax": 30.00, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "d5d95acf5381dc6e273b4336a7", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "768abee75aa8015239a9696c7e", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "status": "failed", - "taxation": "net", - "taxTotal": 30.8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-post-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-post-request.raml deleted file mode 100644 index bc7a4b69..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-post-request.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "basketId":"a10ff320829cb0eef93ca5310a" - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-post-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-post-response.raml deleted file mode 100644 index 0e62bbc5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-post-response.raml +++ /dev/null @@ -1,195 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "confirmationStatus": "not_confirmed", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "d3f7ae47e5897a6b5d2fd541f0", - "statusCode": "applied", - "valid": true - } - ], - "createdBy": "Customer", - "creationDate": "2019-10-22T12:17:28.341Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "customerName": "Stephanie Miller", - "email": "shopper@salesforce-test.com" - }, - "customerName": "Stephanie Miller", - "exportStatus": "not_exported", - "grouped_tax_items": [ - { - "_type": "grouped_tax", - "tax_rate": 0.05, - "tax_value": 30.80 - } - ], - "guest": true, - "giftCertificateItems": [ - { - "amount": 1.00, - "giftCertificateItemId": "540db3ffe58bfb04ab673757d7", - "recipientEmail": "miller@salesforce-test.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-22T12:17:28.376Z", - "merchandizeTotalTax": 30.00, - "notes": { - }, - "orderNo": "00000410", - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 10, - "type": "amount" - }, - "reasonCode": "customer service", - "createdBy": "support", - "creationDate": "2019-10-22T12:17:28.347Z", - "custom": true, - "lastModified": "2019-10-22T12:17:28.349Z", - "manual": true, - "price": -10, - "priceAdjustmentId": "63b9eb9b4a92bd3e5c6ee804c2", - "promotionId": "5ties" - } - ], - "orderToken": "7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I", - "orderTotal": 586.76, - "orderViewCode": "YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc", - "paymentInstruments": [ - { - "amount": 20, - "paymentInstrumentId": "ca47e0da3d49b067b630db624a", - "paymentMethodId": "BML" - }, - { - "amount": 566.76, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "6b970a04ca8a468a64b9936764", - "paymentMethodId": "CREDIT_CARD" - } - ], - "paymentStatus": "not_paid", - "productItems": [ - { - "adjustedTax": 30.00, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "d9516eecc64bd90b0022714d26", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0.00, - "basePrice": 0.00, - "bonusProductLineItem": false, - "gift": false, - "itemId": "8991e8d7adf0f46ffbc584e175", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0.00, - "priceAfterItemDiscount": 0.00, - "priceAfterOrderDiscount": 0.00, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0.00, - "taxBasis": 0.00, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.99, - "priceAfterItemDiscount": 599.99, - "priceAfterOrderDiscount": 589.99, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30.00, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 37.00, - "adjustedShippingTotalTax": 0.50, - "gift": false, - "merchandizeTotalTax": 30.00, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "d5d95acf5381dc6e273b4336a7", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "768abee75aa8015239a9696c7e", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "status": "created", - "taxation": "net", - "taxTotal": 30.8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-tax-get-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-tax-get-response.raml deleted file mode 100644 index d3ef0414..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/order-tax-get-response.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "taxes": { - "3d4e28425ce0b3a65b0ac4e163":{ - "taxItems":[ - { - "id":"DE_7", - "rate":0.07, - "value":13.99 - }, - { - "id":"DE_19", - "rate":0.19 - } - ] - }, - "ff9452ed11fcf5c80f9143a8f1":{ - "taxItems":[ - { - "id":"US_1", - "rate":0.01 - }, - { - "id":"US_5", - "rate":0.05 - } - ] - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-instrument-patch-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-instrument-patch-request.raml deleted file mode 100644 index f61682c9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-instrument-patch-request.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount": 2, - "paymentMethodId": "CREDIT_CARD", - "paymentCard": { - "cardType": "Visa", - "maskedNumber" : "****-****-****-4567" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-instrument-patch-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-instrument-patch-response.raml deleted file mode 100644 index e73843e7..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-instrument-patch-response.raml +++ /dev/null @@ -1,210 +0,0 @@ -#%RAML 1.0 NamedExample -order-get-response: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "confirmationStatus": "not_confirmed", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "d3f7ae47e5897a6b5d2fd541f0", - "statusCode": "applied", - "valid": true - } - ], - "createdBy": "Customer", - "creationDate": "2019-10-22T12:17:28.341Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "customerName": "Stephanie Miller", - "email": "shopper@salesforce-test.com" - }, - "customerName": "Stephanie Miller", - "exportStatus": "not_exported", - "grouped_tax_items": [ - { - "_type": "grouped_tax", - "tax_rate": 0.05, - "tax_value": 30.80 - } - ], - "guest": true, - "giftCertificateItems": [ - { - "amount": 1.00, - "giftCertificateItemId": "540db3ffe58bfb04ab673757d7", - "recipientEmail": "miller@salesforce-test.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-22T12:17:28.376Z", - "merchandizeTotalTax": 30.00, - "notes": { - }, - "orderNo": "00000410", - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 10, - "type": "amount" - }, - "reasonCode": "customer service", - "createdBy": "support", - "creationDate": "2019-10-22T12:17:28.347Z", - "custom": true, - "lastModified": "2019-10-22T12:17:28.349Z", - "manual": true, - "price": -10, - "priceAdjustmentId": "63b9eb9b4a92bd3e5c6ee804c2", - "promotionId": "5ties" - } - ], - "orderToken": "7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I", - "orderTotal": 586.76, - "orderViewCode": "YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc", - "paymentInstruments": [ - { - "amount": 20, - "paymentInstrumentId": "ca47e0da3d49b067b630db624a", - "paymentMethodId": "BML" - }, - { - "amount": 566.76, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "6b970a04ca8a468a64b9936764", - "paymentMethodId": "CREDIT_CARD" - }, - { - "amount": 2, - "paymentCard": { - "expirationYear":1990, - "expirationMonth":7, - "validFromMonth":8, - "validFromYear":2007, - "issueNumber":"i117", - "maskedNumber":"******4567", - "holder":"Miller", - "cardType":"Visa" - }, - "paymentInstrumentId": "9f21f0b51f206fbde2ff5789e5", - "paymentMethodId": "CREDIT_CARD" - } - ], - "paymentStatus": "not_paid", - "productItems": [ - { - "adjustedTax": 30.00, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "d9516eecc64bd90b0022714d26", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0.00, - "basePrice": 0.00, - "bonusProductLineItem": false, - "gift": false, - "itemId": "8991e8d7adf0f46ffbc584e175", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0.00, - "priceAfterItemDiscount": 0.00, - "priceAfterOrderDiscount": 0.00, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0.00, - "taxBasis": 0.00, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.99, - "priceAfterItemDiscount": 599.99, - "priceAfterOrderDiscount": 589.99, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30.00, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 37.00, - "adjustedShippingTotalTax": 0.50, - "gift": false, - "merchandizeTotalTax": 30.00, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "d5d95acf5381dc6e273b4336a7", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "768abee75aa8015239a9696c7e", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "status": "new", - "taxation": "net", - "taxTotal": 30.8 -} diff --git a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-instrument-post-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-instrument-post-request.raml deleted file mode 100644 index 4890b36e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-instrument-post-request.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount": 700, - "paymentCard":{ - "expirationYear":1990, - "expirationMonth":7, - "validFromMonth":8, - "validFromYear":2007, - "issueNumber":"i117", - "maskedNumber":"************4567", - "holder":"Miller", - "cardType":"Visa" - }, - "paymentMethodId": "CREDIT_CARD" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-instrument-post-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-instrument-post-response.raml deleted file mode 100644 index ff09d9f9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-instrument-post-response.raml +++ /dev/null @@ -1,210 +0,0 @@ -#%RAML 1.0 NamedExample -order-get-response: - { - "adjustedMerchandizeTotalTax": 30, - "adjustedShippingTotalTax": 0.8, - "billingAddress": { - "address1": "104 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "Stephanie", - "fullName": "Stephanie Miller", - "id": "5f695b6f4bb63cb686483d65a0", - "lastName": "Miller", - "postalCode": "01801", - "stateCode": "MA" - }, - "channelType": "storefront", - "confirmationStatus": "not_confirmed", - "couponItems": [ - { - "code": "5ties", - "couponItemId": "d3f7ae47e5897a6b5d2fd541f0", - "statusCode": "applied", - "valid": true - } - ], - "createdBy": "Customer", - "creationDate": "2019-10-22T12:17:28.341Z", - "currency": "USD", - "customerInfo": { - "customerId": "beQeANXJNsd0xcINsB6cSrobQa", - "customerName": "Stephanie Miller", - "email": "shopper@salesforce-test.com" - }, - "customerName": "Stephanie Miller", - "exportStatus": "not_exported", - "grouped_tax_items": [ - { - "_type": "grouped_tax", - "tax_rate": 0.05, - "tax_value": 30.80 - } - ], - "guest": true, - "giftCertificateItems": [ - { - "amount": 1.00, - "giftCertificateItemId": "540db3ffe58bfb04ab673757d7", - "recipientEmail": "miller@salesforce-test.com", - "shipmentId": "me" - } - ], - "lastModified": "2019-10-22T12:17:28.376Z", - "merchandizeTotalTax": 30.00, - "notes": { - }, - "orderNo": "00000410", - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 10, - "type": "amount" - }, - "reasonCode": "customer service", - "createdBy": "support", - "creationDate": "2019-10-22T12:17:28.347Z", - "custom": true, - "lastModified": "2019-10-22T12:17:28.349Z", - "manual": true, - "price": -10, - "priceAdjustmentId": "63b9eb9b4a92bd3e5c6ee804c2", - "promotionId": "5ties" - } - ], - "orderToken": "7gJDIFlnho_mXrxfxVB9Neic3J7szzR9glvgU5Ath-I", - "orderTotal": 586.76, - "orderViewCode": "YGXrGbZWlr29tIsGnYgR5o_8OxBMXWigevx1WD0X1Hc", - "paymentInstruments": [ - { - "amount": 20, - "paymentInstrumentId": "ca47e0da3d49b067b630db624a", - "paymentMethodId": "BML" - }, - { - "amount": 566.76, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false - }, - "paymentInstrumentId": "6b970a04ca8a468a64b9936764", - "paymentMethodId": "CREDIT_CARD" - }, - { - "amount": 700, - "paymentCard": { - "expirationYear":1990, - "expirationMonth":7, - "validFromMonth":8, - "validFromYear":2007, - "issueNumber":"i117", - "maskedNumber":"************4567", - "holder":"Miller", - "cardType":"Visa" - }, - "paymentInstrumentId": "9f21f0b51f206fbde2ff5789e5", - "paymentMethodId": "CREDIT_CARD" - } - ], - "paymentStatus": "not_paid", - "productItems": [ - { - "adjustedTax": 30.00, - "basePrice": 199.99, - "bonusProductLineItem": false, - "gift": false, - "itemId": "d9516eecc64bd90b0022714d26", - "itemText": "Green Umbrella - Sustained Edition", - "optionItems": [ - { - "adjustedTax": 0.00, - "basePrice": 0.00, - "bonusProductLineItem": false, - "gift": false, - "itemId": "8991e8d7adf0f46ffbc584e175", - "itemText": "We will plant a tree for your order.", - "optionId": "plantATree", - "optionValueId": "000", - "price": 0.00, - "priceAfterItemDiscount": 0.00, - "priceAfterOrderDiscount": 0.00, - "productId": "000", - "productName": "Plant a tree.", - "quantity": 3, - "shipmentId": "me", - "tax": 0.00, - "taxBasis": 0.00, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "price": 599.99, - "priceAfterItemDiscount": 599.99, - "priceAfterOrderDiscount": 589.99, - "productId": "green-umbrella", - "productName": "Green Umbrella - Sustained Edition", - "quantity": 3, - "shipmentId": "me", - "tax": 30.00, - "taxBasis": 599.97, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 37.00, - "adjustedShippingTotalTax": 0.50, - "gift": false, - "merchandizeTotalTax": 30.00, - "productSubTotal": 599.97, - "productTotal": 599.97, - "shipmentId": "me", - "shipmentTotal": 646.76, - "shippingAddress": { - "address1": "4162 Turkey Pen Road", - "city": "New York", - "countryCode": "US", - "firstName": "Agustin", - "fullName": "Agustin Estes", - "id": "d5d95acf5381dc6e273b4336a7", - "lastName": "Estes", - "postalCode": "10016", - "stateCode": "NY" - }, - "shippingMethod": { - "description": "Order received within 7-10 business days", - "id": "001", - "name": "Ground", - "price": 15.99 - }, - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "taxTotal": 30.8 - } - ], - "shippingItems": [ - { - "adjustedTax": 0.8, - "basePrice": 15.99, - "itemId": "768abee75aa8015239a9696c7e", - "itemText": "Shipping", - "price": 15.99, - "priceAfterItemDiscount": 15.99, - "shipmentId": "me", - "tax": 0.8, - "taxBasis": 15.99, - "taxClassId": "standard", - "taxRate": 0.05 - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 15.99, - "shippingTotalTax": 0.8, - "status": "new", - "taxation": "net", - "taxTotal": 30.8 -} diff --git a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-methods-get-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-methods-get-response.raml deleted file mode 100644 index d9b4b5ac..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/examples/order/payment-methods-get-response.raml +++ /dev/null @@ -1,81 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "applicablePaymentMethods": [ - { - "id": "GIFT_CERTIFICATE", - "name": "Gift Certificate", - "paymentProcessorId": "BASIC_GIFT_CERTIFICATE" - }, - { - "cards": [ - { - "cardType": "Visa", - "checksumVerificationEnabled": true, - "name": "Visa", - "numberLengths": [ - "13", - "16" - ], - "numberPrefixes": [ - "4" - ], - "securityCodeLength": 3 - }, - { - "cardType": "Amex", - "checksumVerificationEnabled": true, - "name": "American Express", - "numberLengths": [ - "15" - ], - "numberPrefixes": [ - "34", - "37" - ], - "securityCodeLength": 4 - }, - { - "cardType": "Master Card", - "checksumVerificationEnabled": true, - "name": "MasterCard", - "numberLengths": [ - "16" - ], - "numberPrefixes": [ - "51-55" - ], - "securityCodeLength": 3 - }, - { - "cardType": "Discover", - "checksumVerificationEnabled": true, - "name": "Discover", - "numberLengths": [ - "16" - ], - "numberPrefixes": [ - "6011", - "622126-622925", - "644-649", - "65" - ], - "securityCodeLength": 3 - } - ], - "id": "CREDIT_CARD", - "name": "Credit Card", - "paymentProcessorId": "BASIC_CREDIT" - }, - { - "id": "PayPal", - "name": "Pay Pal", - "paymentProcessorId": "PAYPAL_EXPRESS" - }, - { - "id": "BML", - "name": "Bill Me Later", - "paymentProcessorId": "CYBERSOURCE_BML" - } - ] -} diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange.json deleted file mode 100644 index 4603ef9c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.5", - "assetId": "checkout-data-types", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "0.4.8", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-orders.raml", - "backwardsCompatible": false, - "assetId": "shopper-orders", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper orders", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml deleted file mode 100644 index 1f282c6d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - -uses: - Pagination: dataTypes/pagination-types.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml deleted file mode 100644 index 40ff7f98..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml deleted file mode 100644 index 240efb3e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml +++ /dev/null @@ -1,92 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json deleted file mode 100644 index 43604496..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.8","apiVersion":"v1","dependencies":[],"metadata":{"projectId":"3ca896ab-161d-4b74-aac8-2ad01f3f8e57","branchId":"master","commitId":"8cb35217b287a4dab4e2031fcd6fbe34fb83caf1"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml deleted file mode 100644 index 3afcaaf8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml deleted file mode 100644 index 9dde8bcd..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: number - description: The starting offset returned. - SFDC-Pagination-Limit: - type: number - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: number - description: The total number of records available. - SFDC-Pagination-Result-Count?: - type: number - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index 4463d386..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/checkout-data-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/checkout-data-types.raml deleted file mode 100644 index 13b9641b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/checkout-data-types.raml +++ /dev/null @@ -1,1523 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The products tax after applying discounts in the purchase currency. - Adjusted merchandize prices represent the sum of product prices before - services (such as shipping) are added, but after adjustments from - promotions have been added. - type: number - format: double - adjustedShippingTotalTax?: - description: |- - The tax of all shipping line items of the line item container, after - shipping adjustments have been applied. - type: number - format: double - agentBasket?: - description: Is the basket created by an agent? - type: boolean - basketId?: - description: The unique identifier for the basket. - type: string - billingAddress?: - description: The billing address. This property is part of basket checkout information only. - type: OrderAddress - bonusDiscountLineItems?: - description: The bonus discount line items of the line item container. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: The sales channel for the order. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - couponItems?: - description: The sorted array of coupon items. This array can be empty. - type: array - items: - type: CouponItem - creationDate?: - description: Returns the value of attribute "creationDate". - type: datetime - currency?: - description: The ISO 4217 mnemonic code of the currency. - type: string - customerInfo?: - description: The customer information for logged in customers. This property is part of basket checkout information only. - type: CustomerInfo - giftCertificateItems?: - description: The sorted array of gift certificate line items. This array can be empty. - type: array - items: - type: GiftCertificateItem - inventoryReservationExpiry?: - description: The expiry of the inventory reservation. - type: datetime - lastModified?: - description: Returns the value of attribute "lastModified". - type: datetime - merchandizeTotalTax?: - description: |- - The products total tax in the purchase currency. - Merchandize total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. - type: number - format: double - notes?: - description: The notes for the line item container. - type: SimpleLink - orderPriceAdjustments?: - description: The array of order level price adjustments. This array can be empty. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price of the order, including products, shipping, and tax. This property is part of basket checkout - information only. - type: number - format: double - paymentInstruments?: - description: The payment instruments list for the order. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: The sorted array of product items (up to a maximum of 50 items). This array can be empty. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all product items after all product discounts. - Depending on the taxation policy the returned price is net or gross. - type: number - format: double - productTotal?: - description: |- - The total price of all product items after all product and order discounts. - Depending on the taxation policy the returned price is net or gross. - type: number - format: double - shipments?: - description: The array of shipments. This property is part of basket checkout information only. - type: array - items: - type: Shipment - shippingItems?: - description: The sorted array of shipping items. This array can be empty. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total shipping price of the order after all shipping discounts. Excludes tax if the taxation policy is net. Includes - tax if the taxation policy is gross. This property is part of basket checkout information only. - type: number - format: double - shippingTotalTax?: - description: |- - The tax of all shipping line items of the line item container, before - shipping adjustments have been applied. - type: number - format: double - sourceCode?: - description: Gets the source code assigned to this basket. - type: string - taxTotal?: - description: The total tax amount of the order. This property is part of basket checkout information only. - type: number - format: double - taxation?: - description: The taxation the line item container is based on. - type: string - enum: - - gross - - net - BasketPaymentInstrumentRequest: - description: Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: The payment transaction amount. - type: number - format: double - bankRoutingNumber?: - description: The bank routing number. - maxLength: 256 - type: string - giftCertificateCode?: - description: The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: The payment method id. - maxLength: 256 - type: string - BasketsResult: - description: Result document containing an array of baskets. - properties: - baskets: - description: The list of baskets for a customer. - type: array - items: - type: Basket - total: - description: The total number of baskets. - type: integer - format: int32 - BonusDiscountLineItem: - description: Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: The list of links to the bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: The coupon code that triggered the promotion, if applicable. - type: string - id?: - description: The ID of the line item. - type: string - maxBonusItems?: - description: The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: The ID of the promotion which triggered the creation of the line item. - type: string - CouponItem: - description: Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: The coupon code. - maxLength: 256 - type: string - couponItemId?: - description: The coupon item ID. - type: string - statusCode?: - description: The status of the coupon item. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". - type: boolean - CustomerInfo: - description: Document representing information used to identify a customer. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: The customer's number (ID). - maxLength: 100 - type: string - customerName?: - description: The name of the customer. - type: string - customerNo?: - description: The customer's number (ID). - maxLength: 100 - type: string - email: - description: The customer's email address. - type: string - Discount: - description: Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: The amount that is used with the "amount" and "fixed" price types. - type: number - format: double - percentage?: - description: The percentage that is used with percentage types. - type: number - format: double - priceBookId?: - description: The price book ID that is used with some types. - type: string - type: - description: The type of discount. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - GiftCertificateItem: - description: A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: The certificate item amount. - type: number - format: double - giftCertificateItemId?: - description: ID used to identify this item - type: string - message?: - description: The certificate's message. - maxLength: 4000 - type: string - recipientEmail: - description: The recipient's email. - minLength: 1 - type: string - recipientName?: - description: The recipient's name. - type: string - senderName?: - description: The sender's name. - type: string - shipmentId?: - description: The shipment ID. - type: string - Note: - description: Document representing a note to an object. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: The author of the note. - type: string - creationDate?: - description: The creation date of the note. - type: datetime - id?: - description: The ID of the note. - type: string - subject?: - description: The note's subject. - maxLength: 256 - type: string - text?: - description: The note's text. - maxLength: 4000 - type: string - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: The notes for an object. - type: array - items: - type: Note - OptionItem: - description: Document representing an option item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: The tax of the product item after adjustments applying. - type: number - format: double - basePrice?: - description: |- - The base price for the line item, which is the - price of the unit before applying adjustments, in the purchase - currency. The base price may be net or gross of tax depending - on the configured taxation policy. - type: number - format: double - bonusDiscountLineItemId?: - description: The ID of the bonus discount line item this bonus product relates to. - type: string - bonusProductLineItem?: - description: A flag indicating whether the product item is a bonus. - type: boolean - bundledProductItems?: - description: The array of bundled product items. Can be empty. - type: array - items: - type: ProductItem - gift?: - description: Returns true if the item is a gift. - type: boolean - giftMessage?: - description: The gift message. - type: string - inventoryId?: - description: The inventory list ID associated with this item. - maxLength: 256 - type: string - itemId?: - description: |- - The item identifier. Use this to identify an item when updating the item quantity or creating a custom price - adjustment for an item. - type: string - itemText?: - description: The text describing the item in more detail. - type: string - optionId: - description: The ID of the option. - maxLength: 256 - type: string - optionItems?: - description: The array of option items. This array can be empty. - type: array - items: - type: OptionItem - optionValueId: - description: The ID of the option value. - maxLength: 256 - type: string - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: Array of price adjustments. Can be empty. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item after applying all product-level - adjustments. For net pricing the adjusted net price is returned. For gross pricing, the adjusted - gross price is returned. - type: number - format: double - priceAfterOrderDiscount?: - description: |- - The price of this product line item after considering all - dependent price adjustments, and prorating all order-level - price adjustments. For net pricing the net price is returned. For gross - pricing, the gross price is returned. - type: number - format: double - productId?: - description: The ID of the product - maxLength: 100 - type: string - productListItem?: - description: A reference to a product list item - type: ProductListItemReference - productName?: - description: The name of the product. - type: string - quantity?: - description: The quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - shipmentId?: - description: The ID of the shipment which includes the product item. - type: string - shippingItemId?: - description: |- - The reference to the related shipping item if it exists. This is the case when a surcharge is - defined for individual products using a particular shipping method. - type: string - tax?: - description: The tax of the product item before adjustments applying. - type: number - format: double - taxBasis?: - description: The price used to calculate the tax for this product item. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - Order: - description: Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The products tax after applying discounts, in the purchase currency. - Adjusted merchandize prices represent the sum of product prices before - services (such as shipping) have been added, but after adjustment from - promotions have been added. - type: number - format: double - adjustedShippingTotalTax?: - description: |- - The tax of all shipping line items of the line item container, after - shipping adjustments have been applied. - type: number - format: double - billingAddress?: - description: The billing address. This property is part of basket checkout information only. - type: OrderAddress - bonusDiscountLineItems?: - description: The bonus discount line items of the line item container. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: The sales channel for the order. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - confirmationStatus?: - description: The confirmation status of the order. - type: string - enum: - - not_confirmed - - confirmed - couponItems?: - description: The sorted array of coupon items. This array can be empty. - type: array - items: - type: CouponItem - createdBy?: - description: The name of the user who created the order. - type: string - creationDate?: - description: Returns the value of attribute "creationDate". - type: datetime - currency?: - description: The ISO 4217 mnemonic code of the currency. - type: string - customerInfo?: - description: The customer information for logged in customers. This property is part of basket checkout information only. - type: CustomerInfo - customerName?: - description: The name of the customer associated with this order. - type: string - exportStatus?: - description: The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - externalOrderStatus?: - description: The external status of the order. - type: string - giftCertificateItems?: - description: The sorted array of gift certificate line items. This array can be empty. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: globalPartyId is managed by Customer 360. Its value can be changed. - type: string - lastModified?: - description: Returns the value of attribute "lastModified". - type: datetime - merchandizeTotalTax?: - description: |- - The products total tax in the purchase currency. - Merchandize total prices represent the sum of product prices before - services such as shipping or adjustment from promotions have - been added. - type: number - format: double - notes?: - description: The notes for the line item container. - type: SimpleLink - orderNo?: - description: The order number of the order. - type: string - orderPriceAdjustments?: - description: The array of order level price adjustments. This array can be empty. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. - type: string - orderTotal?: - description: |- - The total price of the order, including products, shipping, and tax. This property is part of basket checkout - information only. - type: number - format: double - paymentInstruments?: - description: The payment instruments list for the order. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: The payment status of the order. - type: string - enum: - - not_paid - - part_paid - - paid - productItems?: - description: The sorted array of product items (up to a maximum of 50 items). This array can be empty. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all product items after all product discounts. - Depending on taxation policy the returned price is net or gross. - type: number - format: double - productTotal?: - description: |- - The total price of all product items after all product and order discounts. - Depending on taxation policy the returned price is net or gross. - type: number - format: double - shipments?: - description: The array of shipments. This property is part of basket checkout information only. - type: array - items: - type: Shipment - shippingItems?: - description: The sorted array of shipping items. This array can be empty. - type: array - items: - type: ShippingItem - shippingStatus?: - description: The shipping status of the order. - type: string - enum: - - not_shipped - - part_shipped - - shipped - shippingTotal?: - description: |- - The total shipping price of the order after all shipping discounts. Excludes tax if taxation policy is net. Includes - tax if taxation policy is gross. This property is part of basket checkout information only. - type: number - format: double - shippingTotalTax?: - description: |- - The tax of all shipping line items of the line item container before - shipping adjustments have been applied. - type: number - format: double - siteId?: - description: The site where the order resides. - type: string - sourceCode?: - description: Gets the source code assigned to this basket. - type: string - status?: - description: The status of the order. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - taxTotal?: - description: The total tax amount of the order. This property is part of basket checkout information only. - type: number - format: double - taxation?: - description: The taxation the line item container is based on. - type: string - enum: - - gross - - net - OrderAddress: - description: Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: The first address. - type: string - address2?: - description: The second address. - type: string - city?: - description: The city. - type: string - companyName?: - description: The company name. - type: string - countryCode?: - type: CommerceCloudStandards.CountryCode - firstName?: - description: The first name. - type: string - fullName?: - description: The full name. - type: string - id?: - description: ID used to identify this address. - type: string - jobTitle?: - description: The job title. - type: string - lastName?: - description: The last name. - type: string - phone?: - description: The phone number. - type: string - postBox?: - description: The post box. - type: string - postalCode?: - description: The postal code. - type: string - salutation?: - description: The salutation. - type: string - secondName?: - description: The second name. - type: string - stateCode?: - description: The state code. - type: string - suffix?: - description: The suffix. - type: string - suite?: - description: The suite. - type: string - title?: - description: The title. - type: string - OrderPaymentCardRequest: - description: Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: The type of the card. - maxLength: 256 - type: string - creditCardToken?: - description: The token of the payment card. - type: string - expirationMonth?: - description: The expiration month of the payment card. - type: integer - format: int32 - expirationYear?: - description: The expiration year of the payment card. - type: integer - format: int32 - holder?: - description: The holder of the payment card. - maxLength: 256 - type: string - issueNumber?: - description: The issue number of the payment card. - maxLength: 256 - type: string - maskedNumber?: - description: The masked number of the payment card. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - validFromMonth?: - description: The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - validFromYear?: - description: The year the payment card is valid from. - type: integer - format: int32 - OrderPaymentInstrument: - description: Document representing an order payment instrument. - properties: - amount?: - description: The payment transaction amount. - type: number - format: double - authorizationStatus?: - description: The authorization status of the payment transaction. - type: Status - bankRoutingNumber?: - description: The bank routing number. - maxLength: 256 - type: string - maskedGiftCertificateCode?: - description: The masked gift certificate code. - type: string - paymentCard?: - description: The payment card. - type: PaymentCard - paymentInstrumentId?: - description: The payment instrument ID. - type: string - paymentMethodId?: - description: The payment method ID. - maxLength: 256 - type: string - OrderPaymentInstrumentRequest: - description: Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: The payment transaction amount. - type: number - format: double - bankRoutingNumber?: - description: The bank routing number. - maxLength: 256 - type: string - giftCertificateCode?: - description: The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: The payment method ID. - maxLength: 256 - type: string - PaymentCard: - description: Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: The payment card type (for example - Visa). - maxLength: 256 - type: string - creditCardExpired?: - description: A flag indicating if the credit card is expired. - type: boolean - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data at the - token store. - type: string - expirationMonth?: - description: The month when the payment card expires. - type: integer - format: int32 - expirationYear?: - description: The year when the payment card expires. - type: integer - format: int32 - holder?: - description: The payment card holder. - maxLength: 256 - type: string - issueNumber?: - description: The payment card issue number. - maxLength: 256 - type: string - maskedNumber?: - description: The masked credit card number. - maxLength: 4000 - type: string - numberLastDigits?: - description: The last digits of credit card number. - maxLength: 4000 - type: string - validFromMonth?: - description: The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - validFromYear?: - description: The year the payment card is valid from. - type: integer - format: int32 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: The type of the payment card. - type: string - checksumVerificationEnabled?: - description: A flag indicating whether the card number is verified using the Luhn checksum algorithm. - type: boolean - description?: - description: The localized description of the payment card. - type: string - image?: - description: The URL to the image that represents the payment card. - type: string - name?: - description: The localized name of the payment card. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). - type: array - items: - type: string - PaymentMethod: - description: Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). - type: array - items: - type: PaymentCardSpec - description?: - description: The localized description of the payment method or card. - type: string - id: - description: The ID of the payment method or card. - maxLength: 256 - type: string - image?: - description: The URL to the image that represents the payment method or card. - type: string - name?: - description: The localized name of the payment method or card. - type: string - paymentProcessorId?: - description: The payment processor ID. - type: string - PaymentMethodResult: - description: Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: The applicable payment methods. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. They can be created by the - promotion engine (if the custom flag is set to false) or can be added by custom logic (if the custom - flag is set to true). For custom price adjustments created by a user, the manual flag should be - set to true; - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - A price adjustment that provides details of the discount that was applied. - This is null for custom price adjustments created - without discount details. - type: Discount - couponCode?: - description: |- - The coupon code that triggered the promotion, provided - the price adjustment was created as the result of a promotion - being triggered by a coupon. - type: string - createdBy?: - description: The user who created the price adjustment. - type: string - creationDate?: - description: Returns the value of attribute "creationDate". - type: datetime - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This flag is - set to true unless the price adjustment was created by the promotion engine. - type: boolean - itemText?: - description: The text describing the item in more detail. - type: string - lastModified?: - description: Returns the value of attribute "lastModified". - type: datetime - manual?: - description: |- - A flag indicating whether this price adjustment was created in a manual process. - For custom price adjustments created using the shop API, this always - returns true. - type: boolean - price?: - description: The adjustment price. - type: number - format: double - priceAdjustmentId?: - description: The price adjustment ID (UUID). - type: string - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: The URL addressing the related promotion. - type: string - reasonCode?: - description: The reason why this price adjustment was made. - type: string - PriceBookIds: - description: Array containing the PriceBookIds, which should be used for this basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: The description of the product. - type: string - productId: - description: The ID of the product. - type: string - productName?: - description: The name of the product. - type: string - title?: - description: The link title. - type: string - ProductItem: - description: Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: The tax of the product item after adjustments applying. - type: number - format: double - basePrice?: - description: |- - The base price for the line item, which is the - price of the unit before applying adjustments, in the purchase - currency. The base price may be net or gross of tax depending - on the configured taxation policy. - type: number - format: double - bonusDiscountLineItemId?: - description: The ID of the bonus discount line item this bonus product relates to. - type: string - bonusProductLineItem?: - description: A flag indicating whether the product item is a bonus. - type: boolean - bundledProductItems?: - description: The array of bundled product items. Can be empty. - type: array - items: - type: ProductItem - gift?: - description: Returns true if the item is a gift. - type: boolean - giftMessage?: - description: The gift message. - type: string - inventoryId?: - description: The inventory list ID associated with this item. - maxLength: 256 - type: string - itemId?: - description: |- - The item identifier. Use this to identify an item when updating the item quantity, or creating a custom price - adjustment for an item. - type: string - itemText?: - description: The text describing the item in more detail. - type: string - optionItems?: - description: The array of option items. This array can be empty. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: Array of price adjustments. Can be empty. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item after applying all product-level - adjustments. For net pricing the adjusted net price is returned. For gross pricing, the adjusted - gross price is returned. - type: number - format: double - priceAfterOrderDiscount?: - description: |- - The price of this product line item after considering all - dependent price adjustments, and prorating all order-level - price adjustments. For net pricing the net price is returned. For gross - pricing, the gross price is returned. - type: number - format: double - productId?: - description: The ID of the product. - maxLength: 100 - type: string - productListItem?: - description: A reference to a product list item. - type: ProductListItemReference - productName?: - description: The name of the product. - type: string - quantity?: - description: The quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - shipmentId?: - description: The ID of the shipment which includes the product item. - type: string - shippingItemId?: - description: |- - The reference to the related shipping item if it exists. This is the case when a surcharge is - defined for individual products using a particular shipping method. - type: string - tax?: - description: The tax of the product item before adjustments applying. - type: number - format: double - taxBasis?: - description: The price used to calculate the tax for this product item. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - ProductListItemReference: - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: The ID of the product list item. - type: string - priority?: - type: integer - format: int32 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: The link of the product list, the item is assigned to. - type: ProductListLink - public?: - type: boolean - purchasedQuantity?: - type: number - format: double - quantity?: - minimum: 0 - type: number - format: double - type?: - type: string - enum: - - product - - gift_certificate - ProductListLink: - description: Document representing a link to a product list. - properties: - description?: - description: The description of this product list. - type: string - name?: - description: The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. - type: boolean - title?: - description: The link title. - type: string - type?: - description: The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - PromotionLink: - description: Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: The localized call-out message of the promotion. - type: string - name?: - description: The localized name of the promotion. - type: string - promotionId?: - description: The unique ID of the promotion. - type: string - title?: - type: string - Shipment: - description: Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The products tax after applying discounts, in the purchase currency. Adjusted merchandize prices represent the sum of - product prices before services (such as shipping) have been added, but after adjustment from promotions have been - added. - - Note that order level adjustments are considered if Discount Taxation preference is set to - "Tax Products and Shipping Only Based on Adjusted Price". - type: number - format: double - adjustedShippingTotalTax?: - description: The tax of all shipping line items of the line item container, after shipping adjustments have been applied. - type: number - format: double - gift?: - description: A flag indicating whether the shipment is a gift. - type: boolean - giftMessage?: - description: The gift message. - type: string - merchandizeTotalTax?: - description: |- - The products total tax in purchase currency. Merchandize total prices represent the sum of product prices before - services such as shipping or adjustment from promotions have been added. - type: number - format: double - productSubTotal?: - description: |- - The total price of all product items after all product discounts. Depending on taxation policy the returned price - is net or gross. - type: number - format: double - productTotal?: - description: |- - The total price of all product items after all product and order discounts. Depending on taxation policy the - returned price is net or gross. - type: number - format: double - shipmentId?: - description: The order specific ID to identify the shipment. - type: string - shipmentNo?: - description: |- - Returns the shipment number for this shipment. - This number is automatically generated. - type: string - shipmentTotal?: - description: |- - The total price of the shipment, including products, shipping, and tax. - Note that order level adjustments are not considered. - type: number - format: double - shippingAddress?: - description: The shipping address. - type: OrderAddress - shippingMethod?: - description: The shipping method. - type: ShippingMethod - shippingStatus?: - description: The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - shippingTotal?: - description: |- - The total shipping price of the shipment after all shipping discounts. Excludes tax if taxation policy is net. - Includes tax if taxation policy is gross. - type: number - format: double - shippingTotalTax?: - description: The tax of all shipping line items of the line item container, before shipping adjustments have been applied. - type: number - format: double - taxTotal?: - description: |- - The total tax amount of the shipment. - Note that order level adjustments are considered if Discount Taxation preference is set to - "Tax Products and Shipping Only Based on Adjusted Price". - type: number - format: double - trackingNumber?: - description: The tracking number of the shipment. - type: string - ShippingItem: - description: Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: The tax of the product item after adjustments applying. - type: number - format: double - basePrice?: - description: |- - The base price for the line item, which is the - price of the unit before applying adjustments, in the purchase - currency. The base price may be net or gross of tax depending - on the configured taxation policy. - type: number - format: double - itemId?: - description: |- - The item identifier. Use this to identify an item when - updating the item quantity or creating a custom price adjustment for an - item. - type: string - itemText?: - description: The text describing the item in more detail. - type: string - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: Array of price adjustments. Can be empty. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item after applying all product-level - adjustments. For net pricing the adjusted net price is returned. For gross pricing, the adjusted - gross price is returned. - type: number - format: double - shipmentId?: - description: The identifier of the shipment to which this item belongs. - type: string - tax?: - description: The tax of the product item before adjustments applying. - type: number - format: double - taxBasis?: - description: The price used to calculate the tax for this product item. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - ShippingMethod: - description: Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: The localized description of the shipping method. - type: string - externalShippingMethod?: - description: The external shipping method. - type: string - id: - description: The shipping method ID. - maxLength: 256 - type: string - name?: - description: The localized name of the shipping method. - type: string - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. - type: number - format: double - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: The applicable shipping method documents. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: The default shipping method. - type: string - ShippingPromotion: - description: Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: The localized call-out message of the promotion. - type: string - promotionId?: - description: The unique ID of the promotion. - type: string - promotionName?: - description: The localized promotion name. - type: string - SimpleLink: - description: Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: Document representing a status of an object. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: The status code. - type: string - message?: - description: The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: Document representing the taxation for all items on a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - additionalProperties: false - TaxItems: - description: Taxation for a line item. - properties: - taxItems?: - description: The list of tax items. - type: array - items: - type: TaxItem - TaxItem: - description: Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: The taxation identifier. - type: string - rate: - description: The taxation rate. - type: number - format: double - value?: - description: The taxation value. - type: number - format: double \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/bad-request-auth.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/bad-request-example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/basket-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/forbidden.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/invalid-tax-mode.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/order-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/shipment-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/exchange.json deleted file mode 100644 index b63f56fe..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.53/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"checkout-data-types","version":"1.0.53","main":"checkout-data-types.raml","name":"Checkout Data Types","tags":[],"classifier":"raml-fragment","dependencies":[{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.15"}],"originalFormatVersion":"1.0","metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"master","commitId":"b65c4a88befa8fd7ee260a8193d6fb7a9f622664"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/checkout-data-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/checkout-data-types.raml deleted file mode 100644 index fd9a3627..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/checkout-data-types.raml +++ /dev/null @@ -1,2210 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not - including service charges such as shipping. If the Discount Taxation preference is set to Tax - Products and Shipping Only Based on Adjusted Price, this amount also includes prorated - order-level price adjustments. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. - type: number - format: double - example: - 0.30 - agentBasket?: - description: |- - Is the basket created by an agent? - type: boolean - example: - true - basketId?: - description: |- - The unique identifier for the basket. - type: string - example: - "e78aa5646a8efebdd9cdd38be7" - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - example: - "storefront" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - creationDate?: - description: |- - The timestamp when the basket was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information, if the customer is logged in. - type: CustomerInfo - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - inventoryReservationExpiry?: - description: |- - The expiration datetime of the inventory reservation. - type: datetime - example: - 2015-05-19T15:30:18.000Z - lastModified?: - description: |- - The timestamp when the basket was last modified. - type: datetime - example: - 2015-05-19T15:25:18.000Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. - Merchandise total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: SimpleLink - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and tax. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping - charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 88.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. - type: number - format: double - example: - 0.30 - sourceCode?: - description: |- - The source code assigned to the basket. - type: string - example: - "OUTDOOR1" - taxTotal?: - description: |- - The total tax amount. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). - type: string - enum: - - gross - - net - example: - "net" - BasketPaymentInstrumentRequest: - description: |- - Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - example: - "AFGRTUZ" - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - BasketsResult: - description: |- - Result document containing an array of baskets. - properties: - baskets: - description: |- - The list of baskets for a customer. - type: array - items: - type: Basket - total: - description: |- - The total number of baskets. - type: integer - format: int32 - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - example: - "5ties" - id?: - description: |- - The ID of the line item. - type: string - example: - "91f4dd8bfa0653d58b7783b04f" - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - example: - "Buy1Get2" - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: |- - The coupon code. - maxLength: 256 - type: string - example: - "5ties" - couponItemId?: - description: |- - The coupon item ID. - type: string - example: - "d4c9c0141e9c74c150225580f3" - statusCode?: - description: |- - The status of the coupon item. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - "no_applicable_promotion" - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". - type: boolean - example: - true - CustomerInfo: - description: |- - The customer information for guest or logged-in customers. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: |- - The customer ID. - maxLength: 100 - type: string - example: - "abMKqMaNYOBMnNdDNzyC5oNTi5" - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - customerNo?: - description: |- - The customer number. - maxLength: 100 - type: string - example: - "0002352" - email: - description: |- - The customer's email address. - type: string - example: - no-reply@salesforce.com - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. - type: number - format: double - example: - 130.88 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The price book ID that is used with some types. - type: string - example: - "usd-sale-prices" - type: - description: |- - The type of discount. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - "fixed_price" - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate item amount. - type: number - format: double - example: - 20.00 - giftCertificateItemId?: - description: |- - The item ID. - type: string - example: - "629dea6e7b61e58da629b57b21" - message?: - description: |- - The gift certificate message. - maxLength: 4000 - type: string - example: - "Birthday present." - recipientEmail: - description: |- - The recipient email. - minLength: 1 - type: string - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient's name. - type: string - example: - "Daniel Mustermann" - senderName?: - description: |- - The sender's name. - type: string - example: - "Max Mustermann" - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - Note: - description: |- - Document representing a note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The author of the note. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - id?: - description: |- - The ID of the note. - type: string - example: - "49b5c6c8340e432a7bfab9ff3a" - subject?: - description: |- - The note subject. - maxLength: 256 - type: string - example: - "Order was created." - text?: - description: |- - The note text. - maxLength: 4000 - type: string - example: - "Order was created." - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: |- - The notes. - type: array - items: - type: Note - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product - item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. - type: string - example: - "ba248414e3eee797f062162f8b" - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - false - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - example: - "The item text." - optionId: - description: |- - The ID of the option. - maxLength: 256 - type: string - example: - consoleWarranty - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - optionValueId: - description: |- - The ID of the option value. - maxLength: 256 - type: string - example: - "000" - price?: - description: |- - The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 150.99 - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or - shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not - including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. - type: number - format: double - example: - 40.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The ordered quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a - surcharge applied to individual products using a particular shipping method. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 50.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - example: - 0.19 - Order: - description: |- - Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as - shipping. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. - type: number - format: double - example: - 0.30 - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - example: - "storefront" - confirmationStatus?: - description: |- - The confirmation status. - type: string - enum: - - not_confirmed - - confirmed - example: - "confirmed" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. - If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. - type: string - example: - "Customer" - creationDate?: - description: |- - The timestamp when the order was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information for guest or logged-in customers. - type: CustomerInfo - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - exportStatus?: - description: |- - The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - example: - "exported" - externalOrderStatus?: - description: |- - The external status of the order. - type: string - example: - "Submitted" - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. - type: string - example: - "GP_1234" - lastModified?: - description: |- - The timestamp when the order was last modified. - type: datetime - example: - 2021-02-25T09:58:08.715Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices - not including shipping or adjustments. - type: number - format: double - example: - 1.50 - notes?: - description: |- - The notes. - type: SimpleLink - orderNo?: - description: |- - The order number. - type: string - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. - type: string - orderTotal?: - description: |- - The total price, including products, shipping, and tax. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: string - enum: - - not_paid - - part_paid - - paid - example: - "paid" - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: string - enum: - - not_shipped - - part_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. - type: number - format: double - example: - 0.30 - siteId?: - description: |- - The order's site. - type: string - example: - "ShoppingSite" - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. - type: string - example: - "OUTDOOR1" - status?: - description: |- - The status. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - example: - "created" - taxTotal?: - description: |- - The total tax amount. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). - type: string - enum: - - gross - - net - example: - "net" - OrderAddress: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - example: - "45 Main Rd." - address2?: - description: |- - The second address line. - type: string - example: - "Apartment 204" - city?: - description: |- - The city. - type: string - example: - "Boston" - companyName?: - description: |- - The company name. - type: string - example: - "Salesforce" - countryCode?: - description: |- - The ISO Country Code. - type: CommerceCloudStandards.CountryCode - example: - "US" - firstName?: - description: |- - The first name. - type: string - example: - "Max" - fullName?: - description: |- - The full name. - type: string - example: - "Max Mustermann" - id?: - description: |- - The ID of the address. - type: string - example: - "me" - jobTitle?: - description: |- - The job title. - type: string - example: - "Software Engineer" - lastName?: - description: |- - The last name. - type: string - example: - "Mustermann" - phone?: - description: |- - The phone number. - type: string - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - example: - "PO BOX 109" - postalCode?: - description: |- - The postal code. - type: string - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - example: - "Mr" - secondName?: - description: |- - The second name. - type: string - stateCode?: - description: |- - The state code. - type: string - example: - "MA" - suffix?: - description: |- - The suffix. - type: string - example: - "Sr" - suite?: - description: |- - The suite. - type: string - example: - "24A" - title?: - description: |- - The title. - type: string - example: - "Dr." - OrderPaymentCardRequest: - description: |- - Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - maxLength: 256 - type: string - example: - "Visa" - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - example: - "*********4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - OrderPaymentInstrument: - description: |- - Document representing an order payment instrument. - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. - type: Status - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the last 4 characters not masked. - type: string - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. - type: string - example: - "ba248424e3eee797f062162f8b" - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - OrderPaymentInstrumentRequest: - description: |- - Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - CREDIT_CARD - PaymentCard: - description: |- - Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type. - maxLength: 256 - type: string - example: - "Visa" - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. - type: boolean - example: - true - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - "Max Mustermann" - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 4000 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of the payment card number. - maxLength: 4000 - type: string - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2015 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: |- - The payment card type. - type: string - example: - "Visa" - checksumVerificationEnabled?: - description: |- - A flag indicating whether the card number is verified using the Luhn checksum algorithm. - type: boolean - example: - true - description?: - description: |- - The localized description of the payment card. - type: string - image?: - description: |- - The URL to the image that represents the payment card. - type: string - name?: - description: |- - The localized name of the payment card. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). - type: array - items: - type: string - PaymentMethod: - description: |- - Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: |- - The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). - type: array - items: - type: PaymentCardSpec - description?: - description: |- - The localized description of the payment method or card. - type: string - id: - description: |- - The ID of the payment method or card. - maxLength: 256 - type: string - image?: - description: |- - The URL to the image that represents the payment method or card. - type: string - name?: - description: |- - The localized name of the payment method or card. - type: string - paymentProcessorId?: - description: |- - The payment processor ID. - type: string - PaymentMethodResult: - description: |- - Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: |- - The applicable payment methods. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments - not based on a discount, this value is null. - type: Discount - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments - not based on a coupon, this value is null. - type: string - example: - "5ties" - createdBy?: - description: |- - The user who created the price adjustment. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the price adjustment was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This - flag is set to true unless the price adjustment was created by the promotion - engine. - type: boolean - example: - true - itemText?: - description: |- - The text describing the item. - type: string - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. - If the price adjustment was created by the promotion engine, this value is always - false. - type: boolean - example: - true - price?: - description: |- - The adjustment price. - type: number - format: double - example: - 120.88 - priceAdjustmentId?: - description: |- - The price adjustment ID. - type: string - example: - "ba248424e3eee797f062161f8b" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: |- - The URL addressing the related promotion. - type: string - reasonCode?: - description: |- - The reason why this price adjustment was made. - type: string - PriceBookIds: - description: |- - Array containing the PriceBookIds to use for this basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: |- - Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: |- - The description of the product. - type: string - example: - "Nintendo DS revolutionizes handheld gameplay." - productId: - description: |- - The ID of the product. - type: string - example: - "nintendo-ds-console" - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - title?: - description: |- - The link title. - type: string - example: - "Nintendo DS Game Console" - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including - adjustments. If the taxation policy is net, it doesn't include tax. If the - taxation policy is gross, it includes tax. - type: number - format: double - example: - 130.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. - type: string - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - true - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or - creating a custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not - including order-level adjustments or shipping charges. If the taxation policy is - net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 20.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation - policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. - type: number - format: double - example: - 15.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference - to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A - related shipping item represents a surcharge applied to individual products using - a particular shipping method. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax for the product item, not including price adjustments. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The price used to calculate the tax for this product item. - type: number - format: double - example: - 30.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - example: - 0.90 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The ID of the product list item. - type: string - example: - "ba248424e3fee797f062162f8b" - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - example: - 1 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: |- - A reference to the associated product list. - type: ProductListLink - public?: - type: boolean - example: - false - purchasedQuantity?: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0.00 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListLink: - description: |- - Document representing a link to a product list. - properties: - description?: - description: |- - The description of this product list. - type: string - name?: - description: |- - The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. - type: boolean - example: - true - title?: - description: |- - The link title. - type: string - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - "shopping_list" - PromotionLink: - description: |- - Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - name?: - description: |- - The localized name of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$50FixedProductsAmountAbove100" - title?: - description: |- - The title. - type: string - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including - service charges such as shipping. If the Discount Taxation preference is set to Tax Products and - Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as - shipping. - type: number - format: double - example: - 4.95 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If - the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - shipmentId?: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - example: - "me" - shipmentNo?: - description: |- - The shipment number of this shipment. This number is automatically generated. - type: string - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, - and tax. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: OrderAddress - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethod - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the - taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as - shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on - Adjusted Price, this amount also includes prorated order-level price adjustments. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.00 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a - custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the shipping item. - type: string - example: - "Shipping" - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level - adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - shipmentId?: - description: |- - The identifier of the shipment to which this item belongs. - type: string - example: - "me" - tax?: - description: |- - The tax on the product item, not including adjustments. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The price used to calculate the tax for this shipping item. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. - type: number - format: double - ShippingMethod: - description: |- - Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: |- - The localized description of the shipping method. - type: string - example: - "Order received within 7-10 business days" - externalShippingMethod?: - description: |- - The external shipping method. - type: string - id: - description: |- - The shipping method ID. - maxLength: 256 - type: string - example: - "001" - name?: - description: |- - The localized name of the shipping method. - type: string - example: - "Ground" - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. - type: number - format: double - example: - 15.00 - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: |- - Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: |- - The applicable shipping method documents. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: |- - The default shipping method. - type: string - example: - "me" - ShippingPromotion: - description: |- - Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$30FixedShippingAmountAbove150" - promotionName?: - description: |- - The localized promotion name. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - SimpleLink: - description: |- - Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: |- - Document representing an object status. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - message?: - description: |- - The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: |- - Document representing the tax rates and (optionally) amounts for all items in a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - TaxItems: - description: |- - Taxation for a line item. - properties: - taxItems?: - description: |- - The list of tax items. - type: array - items: - type: TaxItem - TaxItem: - description: |- - Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The taxation identifier. - type: string - rate: - description: |- - The taxation rate. - type: number - format: double - example: - 0.13 - value?: - description: |- - The tax amount. Will be computed if not set. - type: number - format: double \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/bad-request-auth.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/bad-request-example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/basket-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/forbidden.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/invalid-tax-mode.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/order-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/shipment-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/unsupported-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/unsupported-request.raml deleted file mode 100644 index 452c2569..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/examples/error/unsupported-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled", - "title": "Unsupported Request If SCAPI Hooks Enabled", - "detail": "You can't call this endpoint because Salesforce Commerce API hook execution is enabled." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/exchange.json deleted file mode 100644 index c61be19e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.60/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"checkout-data-types","version":"1.0.60","main":"checkout-data-types.raml","name":"Checkout Data Types","tags":[],"classifier":"raml-fragment","dependencies":[{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"}],"originalFormatVersion":"1.0","metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"master","commitId":"1680db689bacc3562be9f732df00ba431c2bc537"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/checkout-data-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/checkout-data-types.raml deleted file mode 100644 index 03fd7fb3..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/checkout-data-types.raml +++ /dev/null @@ -1,2293 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not - including service charges such as shipping. If the Discount Taxation preference is set to Tax - Products and Shipping Only Based on Adjusted Price, this amount also includes prorated - order-level price adjustments. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. - type: number - format: double - example: - 0.30 - agentBasket?: - description: |- - Is the basket created by an agent? - type: boolean - example: - true - basketId?: - description: |- - The unique identifier for the basket. - type: string - example: - "e78aa5646a8efebdd9cdd38be7" - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - creationDate?: - description: |- - The timestamp when the basket was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information, if the customer is logged in. - type: CustomerInfo - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - inventoryReservationExpiry?: - description: |- - The expiration datetime of the inventory reservation. - type: datetime - example: - 2015-05-19T15:30:18.000Z - lastModified?: - description: |- - The timestamp when the basket was last modified. - type: datetime - example: - 2015-05-19T15:25:18.000Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. - Merchandise total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: SimpleLink - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and tax. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping - charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 88.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. - type: number - format: double - example: - 0.30 - sourceCode?: - description: |- - The source code assigned to the basket. - type: string - example: - "OUTDOOR1" - taxTotal?: - description: |- - The total tax amount. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). - type: string - enum: - - gross - - net - example: - "net" - BasketPaymentInstrumentRequest: - description: |- - Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - example: - "AFGRTUZ" - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - BasketsResult: - description: |- - Result document containing an array of baskets. - properties: - baskets: - description: |- - The list of baskets for a customer. - type: array - items: - type: Basket - total: - description: |- - The total number of baskets. - type: integer - format: int32 - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - example: - "5ties" - id?: - description: |- - The ID of the line item. - type: string - example: - "91f4dd8bfa0653d58b7783b04f" - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - example: - "Buy1Get2" - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: |- - The coupon code. - maxLength: 256 - type: string - example: - "5ties" - couponItemId?: - description: |- - The coupon item ID. - type: string - example: - "d4c9c0141e9c74c150225580f3" - statusCode?: - description: |- - The status of the coupon item. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - "no_applicable_promotion" - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". - type: boolean - example: - true - CustomerInfo: - description: |- - The customer information for guest or logged-in customers. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: |- - The customer ID. - maxLength: 100 - type: string - example: - "abMKqMaNYOBMnNdDNzyC5oNTi5" - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - customerNo?: - description: |- - The customer number. - maxLength: 100 - type: string - example: - "0002352" - email: - description: |- - The customer's email address. - type: string - example: - no-reply@salesforce.com - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. - type: number - format: double - example: - 130.88 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The price book ID that is used with some types. - type: string - example: - "usd-sale-prices" - type: - description: |- - The type of discount. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - "fixed_price" - DiscountRequest: - description: |- - Request that represents a discount to be applied to a custom price adjustment. - type: - CommerceCloudStandards.ClosedObject - properties: - type: - description: |- - The type of discount. - - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. - - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. - - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. - type: string - enum: - - percentage - - fixed_price - - amount - example: - "percentage" - value: - description: |- - The amount of the discount. - type: number - format: double - example: - 20.00 - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate item amount. - type: number - format: double - example: - 20.00 - giftCertificateItemId?: - description: |- - The item ID. - type: string - example: - "629dea6e7b61e58da629b57b21" - message?: - description: |- - The gift certificate message. - maxLength: 4000 - type: string - example: - "Birthday present." - recipientEmail: - description: |- - The recipient email. - minLength: 1 - type: string - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient's name. - type: string - example: - "Daniel Mustermann" - senderName?: - description: |- - The sender's name. - type: string - example: - "Max Mustermann" - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - Note: - description: |- - Document representing a note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The author of the note. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - id?: - description: |- - The ID of the note. - type: string - example: - "49b5c6c8340e432a7bfab9ff3a" - subject?: - description: |- - The note subject. - maxLength: 256 - type: string - example: - "Order was created." - text?: - description: |- - The note text. - maxLength: 4000 - type: string - example: - "Order was created." - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: |- - The notes. - type: array - items: - type: Note - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product - item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. - type: string - example: - "ba248414e3eee797f062162f8b" - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - false - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - example: - "The item text." - optionId: - description: |- - The ID of the option. - maxLength: 256 - type: string - example: - consoleWarranty - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - optionValueId: - description: |- - The ID of the option value. - maxLength: 256 - type: string - example: - "000" - price?: - description: |- - The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 150.99 - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or - shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not - including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. - type: number - format: double - example: - 40.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The ordered quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a - surcharge applied to individual products using a particular shipping method. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 50.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - example: - 0.19 - Order: - description: |- - Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as - shipping. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. - type: number - format: double - example: - 0.30 - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - confirmationStatus?: - description: |- - The confirmation status. - type: string - enum: - - not_confirmed - - confirmed - example: - "confirmed" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. - If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. - type: string - example: - "Customer" - creationDate?: - description: |- - The timestamp when the order was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information for guest or logged-in customers. - type: CustomerInfo - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - exportStatus?: - description: |- - The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - example: - "exported" - externalOrderStatus?: - description: |- - The external status of the order. - type: string - example: - "Submitted" - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. - type: string - example: - "GP_1234" - lastModified?: - description: |- - The timestamp when the order was last modified. - type: datetime - example: - 2021-02-25T09:58:08.715Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices - not including shipping or adjustments. - type: number - format: double - example: - 1.50 - notes?: - description: |- - The notes. - type: SimpleLink - orderNo?: - description: |- - The order number. - type: string - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. - type: string - orderTotal?: - description: |- - The total price, including products, shipping, and tax. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: string - enum: - - not_paid - - part_paid - - paid - example: - "paid" - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: string - enum: - - not_shipped - - part_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. - type: number - format: double - example: - 0.30 - siteId?: - description: |- - The order's site. - type: string - example: - "ShoppingSite" - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. - type: string - example: - "OUTDOOR1" - status?: - description: |- - The status. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - example: - "created" - taxTotal?: - description: |- - The total tax amount. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). - type: string - enum: - - gross - - net - example: - "net" - OrderAddress: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - example: - "45 Main Rd." - address2?: - description: |- - The second address line. - type: string - example: - "Apartment 204" - city?: - description: |- - The city. - type: string - example: - "Boston" - companyName?: - description: |- - The company name. - type: string - example: - "Salesforce" - countryCode?: - description: |- - The ISO Country Code. - type: CommerceCloudStandards.CountryCode - example: - "US" - firstName?: - description: |- - The first name. - type: string - example: - "Max" - fullName?: - description: |- - The full name. - type: string - example: - "Max Mustermann" - id?: - description: |- - The ID of the address. - type: string - example: - "me" - jobTitle?: - description: |- - The job title. - type: string - example: - "Software Engineer" - lastName?: - description: |- - The last name. - type: string - example: - "Mustermann" - phone?: - description: |- - The phone number. - type: string - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - example: - "PO BOX 109" - postalCode?: - description: |- - The postal code. - type: string - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - example: - "Mr" - secondName?: - description: |- - The second name. - type: string - stateCode?: - description: |- - The state code. - type: string - example: - "MA" - suffix?: - description: |- - The suffix. - type: string - example: - "Sr" - suite?: - description: |- - The suite. - type: string - example: - "24A" - title?: - description: |- - The title. - type: string - example: - "Dr." - OrderPaymentCardRequest: - description: |- - Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - maxLength: 256 - type: string - example: - "Visa" - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - example: - "*********4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - OrderPaymentInstrument: - description: |- - Document representing an order payment instrument. - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. - type: Status - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the last 4 characters not masked. - type: string - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. - type: string - example: - "ba248424e3eee797f062162f8b" - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - OrderPaymentInstrumentRequest: - description: |- - Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - CREDIT_CARD - PaymentCard: - description: |- - Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type. - maxLength: 256 - type: string - example: - "Visa" - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. - type: boolean - example: - true - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - "Max Mustermann" - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 4000 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of the payment card number. - maxLength: 4000 - type: string - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2015 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: |- - The payment card type. - type: string - example: - "Visa" - checksumVerificationEnabled?: - description: |- - A flag indicating whether the card number is verified using the Luhn checksum algorithm. - type: boolean - example: - true - description?: - description: |- - The localized description of the payment card. - type: string - image?: - description: |- - The URL to the image that represents the payment card. - type: string - name?: - description: |- - The localized name of the payment card. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). - type: array - items: - type: string - PaymentMethod: - description: |- - Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: |- - The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). - type: array - items: - type: PaymentCardSpec - description?: - description: |- - The localized description of the payment method or card. - type: string - id: - description: |- - The ID of the payment method or card. - maxLength: 256 - type: string - image?: - description: |- - The URL to the image that represents the payment method or card. - type: string - name?: - description: |- - The localized name of the payment method or card. - type: string - paymentProcessorId?: - description: |- - The payment processor ID. - type: string - PaymentMethodResult: - description: |- - Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: |- - The applicable payment methods. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments - not based on a discount, this value is null. - type: Discount - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments - not based on a coupon, this value is null. - type: string - example: - "5ties" - createdBy?: - description: |- - The user who created the price adjustment. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the price adjustment was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This - flag is set to true unless the price adjustment was created by the promotion - engine. - type: boolean - example: - true - itemText?: - description: |- - The text describing the item. - type: string - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. - If the price adjustment was created by the promotion engine, this value is always - false. - type: boolean - example: - true - price?: - description: |- - The adjustment price. - type: number - format: double - example: - 120.88 - priceAdjustmentId?: - description: |- - The price adjustment ID. - type: string - example: - "ba248424e3eee797f062161f8b" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: |- - The URL addressing the related promotion. - type: string - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - PriceAdjustmentRequest: - description: |- - Request that represents a price adjustment. - type: - CommerceCloudStandards.OpenObject - properties: - discount?: - description: |- - A discount that can be specified instead of a price. - type: DiscountRequest - itemId?: - description: |- - The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. - type: string - example: - "93196fae953cbedbe54d67e760" - itemText?: - description: |- - The text describing the item in more detail. - type: string - example: - "A discounted item" - level: - description: |- - The level at which the adjustment is applied. - - `order` indicates that the price adjustment should be added directly to basket. - - `product` indicates that the price adjustment should be added to the product item. - - `shipping` indicates that the price adjustment is added to the shipping item. - type: string - enum: - - product - - shipping - - order - example: - "order" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. - type: string - example: - "Shipping100" - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - example: - "Shipping promotion on order above $1,000 USD" - PriceBookIds: - description: |- - Array of price book IDs to use for the basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: |- - Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: |- - The description of the product. - type: string - example: - "Nintendo DS revolutionizes handheld gameplay." - productId: - description: |- - The ID of the product. - type: string - example: - "nintendo-ds-console" - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - title?: - description: |- - The link title. - type: string - example: - "Nintendo DS Game Console" - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including - adjustments. If the taxation policy is net, it doesn't include tax. If the - taxation policy is gross, it includes tax. - type: number - format: double - example: - 130.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. - type: string - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - true - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or - creating a custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not - including order-level adjustments or shipping charges. If the taxation policy is - net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 20.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation - policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. - type: number - format: double - example: - 15.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference - to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A - related shipping item represents a surcharge applied to individual products using - a particular shipping method. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax for the product item, not including price adjustments. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The price used to calculate the tax for this product item. - type: number - format: double - example: - 30.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - example: - 0.90 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The ID of the product list item. - type: string - example: - "ba248424e3fee797f062162f8b" - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - example: - 1 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: |- - A reference to the associated product list. - type: ProductListLink - public?: - type: boolean - example: - false - purchasedQuantity?: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0.00 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListLink: - description: |- - Document representing a link to a product list. - properties: - description?: - description: |- - The description of this product list. - type: string - name?: - description: |- - The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. - type: boolean - example: - true - title?: - description: |- - The link title. - type: string - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - "shopping_list" - PromotionLink: - description: |- - Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - name?: - description: |- - The localized name of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$50FixedProductsAmountAbove100" - title?: - description: |- - The title. - type: string - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including - service charges such as shipping. If the Discount Taxation preference is set to Tax Products and - Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as - shipping. - type: number - format: double - example: - 4.95 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If - the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - shipmentId?: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - example: - "me" - shipmentNo?: - description: |- - The shipment number of this shipment. This number is automatically generated. - type: string - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, - and tax. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: OrderAddress - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethod - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the - taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as - shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on - Adjusted Price, this amount also includes prorated order-level price adjustments. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.00 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a - custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the shipping item. - type: string - example: - "Shipping" - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level - adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - shipmentId?: - description: |- - The identifier of the shipment to which this item belongs. - type: string - example: - "me" - tax?: - description: |- - The tax on the product item, not including adjustments. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The price used to calculate the tax for this shipping item. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. - type: number - format: double - ShippingMethod: - description: |- - Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: |- - The localized description of the shipping method. - type: string - example: - "Order received within 7-10 business days" - externalShippingMethod?: - description: |- - The external shipping method. - type: string - id: - description: |- - The shipping method ID. - maxLength: 256 - type: string - example: - "001" - name?: - description: |- - The localized name of the shipping method. - type: string - example: - "Ground" - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. - type: number - format: double - example: - 15.00 - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: |- - Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: |- - The applicable shipping method documents. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: |- - The default shipping method. - type: string - example: - "me" - ShippingPromotion: - description: |- - Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$30FixedShippingAmountAbove150" - promotionName?: - description: |- - The localized promotion name. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - SimpleLink: - description: |- - Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: |- - Document representing an object status. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - message?: - description: |- - The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: |- - Document representing the tax rates and (optionally) amounts for all items in a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - TaxItems: - description: |- - Taxation for a line item. - properties: - taxItems?: - description: |- - The list of tax items. - type: array - items: - type: TaxItem - TaxItem: - description: |- - Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The taxation identifier. - type: string - rate: - description: |- - The taxation rate. - type: number - format: double - example: - 0.13 - value?: - description: |- - The tax amount. Will be computed if not set. - type: number - format: double \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/bad-request-auth.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/bad-request-example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/basket-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/forbidden.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/invalid-tax-mode.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/order-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/shipment-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/unsupported-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/unsupported-request.raml deleted file mode 100644 index 452c2569..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/examples/error/unsupported-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled", - "title": "Unsupported Request If SCAPI Hooks Enabled", - "detail": "You can't call this endpoint because Salesforce Commerce API hook execution is enabled." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/exchange.json deleted file mode 100644 index 059bed38..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.66/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"checkout-data-types","version":"1.0.66","main":"checkout-data-types.raml","name":"Checkout Data Types","tags":[],"classifier":"raml-fragment","dependencies":[{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.26"}],"originalFormatVersion":"1.0","apiVersion":"v1","metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"master","commitId":"4fb1bf43e39b135bebb620f39ae35f9ec63d642b"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/checkout-data-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/checkout-data-types.raml deleted file mode 100644 index b58055fd..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/checkout-data-types.raml +++ /dev/null @@ -1,2320 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not - including service charges such as shipping. If the Discount Taxation preference is set to Tax - Products and Shipping Only Based on Adjusted Price, this amount also includes prorated - order-level price adjustments. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. - type: number - format: double - example: - 0.30 - agentBasket?: - description: |- - Is the basket created by an agent? - type: boolean - example: - true - basketId?: - description: |- - The unique identifier for the basket. - type: string - example: - "e78aa5646a8efebdd9cdd38be7" - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - creationDate?: - description: |- - The timestamp when the basket was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information, if the customer is logged in. - type: CustomerInfo - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - inventoryReservationExpiry?: - description: |- - The expiration datetime of the inventory reservation. - type: datetime - example: - 2015-05-19T15:30:18.000Z - lastModified?: - description: |- - The timestamp when the basket was last modified. - type: datetime - example: - 2015-05-19T15:25:18.000Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. - Merchandise total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: SimpleLink - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and tax. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping - charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 88.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. - type: number - format: double - example: - 0.30 - sourceCode?: - description: |- - The source code assigned to the basket. - type: string - example: - "OUTDOOR1" - taxTotal?: - description: |- - The total tax amount. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). - type: string - enum: - - gross - - net - example: - "net" - BasketPaymentInstrumentRequest: - description: |- - Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - example: - "AFGRTUZ" - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - BasketsResult: - description: |- - Result document containing an array of baskets. - properties: - baskets: - description: |- - The list of baskets for a customer. - type: array - items: - type: Basket - total: - description: |- - The total number of baskets. - type: integer - format: int32 - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - example: - "5ties" - id?: - description: |- - The ID of the line item. - type: string - example: - "91f4dd8bfa0653d58b7783b04f" - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - example: - "Buy1Get2" - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: |- - The coupon code. - maxLength: 256 - type: string - example: - "5ties" - couponItemId?: - description: |- - The coupon item ID. - type: string - example: - "d4c9c0141e9c74c150225580f3" - statusCode?: - description: |- - The status of the coupon item. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - "no_applicable_promotion" - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". - type: boolean - example: - true - CustomerInfo: - description: |- - The customer information for guest or logged-in customers. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: |- - The customer ID. - maxLength: 100 - type: string - example: - "abMKqMaNYOBMnNdDNzyC5oNTi5" - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - customerNo?: - description: |- - The customer number. - maxLength: 100 - type: string - example: - "0002352" - email: - description: |- - The customer's email address. - type: string - example: - no-reply@salesforce.com - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. - type: number - format: double - example: - 130.88 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The price book ID that is used with some types. - type: string - example: - "usd-sale-prices" - type: - description: |- - The type of discount. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - "fixed_price" - DiscountRequest: - description: |- - Request that represents a discount to be applied to a custom price adjustment. - type: - CommerceCloudStandards.ClosedObject - properties: - type: - description: |- - The type of discount. - - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. - - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. - - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. - type: string - enum: - - percentage - - fixed_price - - amount - example: - "percentage" - value: - description: |- - The amount of the discount. - type: number - format: double - example: - 20.00 - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate item amount. - type: number - format: double - example: - 20.00 - giftCertificateItemId?: - description: |- - The item ID. - type: string - example: - "629dea6e7b61e58da629b57b21" - message?: - description: |- - The gift certificate message. - maxLength: 4000 - type: string - example: - "Birthday present." - recipientEmail: - description: |- - The recipient email. - minLength: 1 - type: string - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient's name. - type: string - example: - "Daniel Mustermann" - senderName?: - description: |- - The sender's name. - type: string - example: - "Max Mustermann" - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - Note: - description: |- - Document representing a note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The author of the note. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - id?: - description: |- - The ID of the note. - type: string - example: - "49b5c6c8340e432a7bfab9ff3a" - subject?: - description: |- - The note subject. - maxLength: 256 - type: string - example: - "Order was created." - text?: - description: |- - The note text. - maxLength: 4000 - type: string - example: - "Order was created." - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: |- - The notes. - type: array - items: - type: Note - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product - item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. - type: string - example: - "ba248414e3eee797f062162f8b" - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - false - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - example: - "The item text." - optionId: - description: |- - The ID of the option. - maxLength: 256 - type: string - example: - consoleWarranty - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - optionValueId: - description: |- - The ID of the option value. - maxLength: 256 - type: string - example: - "000" - price?: - description: |- - The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 150.99 - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or - shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not - including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. - type: number - format: double - example: - 40.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The ordered quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a - surcharge applied to individual products using a particular shipping method. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax on the line item before applying any adjustments. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. - type: number - format: double - example: - 50.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - example: - 0.19 - Order: - description: |- - Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as - shipping. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. - type: number - format: double - example: - 0.30 - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - confirmationStatus?: - description: |- - The confirmation status. - type: string - enum: - - not_confirmed - - confirmed - example: - "confirmed" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. - If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. - type: string - example: - "Customer" - creationDate?: - description: |- - The timestamp when the order was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information for guest or logged-in customers. - type: CustomerInfo - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - exportStatus?: - description: |- - The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - example: - "exported" - externalOrderStatus?: - description: |- - The external status of the order. - type: string - example: - "Submitted" - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. - type: string - example: - "GP_1234" - lastModified?: - description: |- - The timestamp when the order was last modified. - type: datetime - example: - 2021-02-25T09:58:08.715Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices - not including shipping or adjustments. - type: number - format: double - example: - 1.50 - notes?: - description: |- - The notes. - type: SimpleLink - orderNo?: - description: |- - The order number. - type: string - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. - type: string - orderTotal?: - description: |- - The total price, including products, shipping, and tax. - type: number - format: double - example: - 110.24 - orderViewCode?: - description: |- - The order view code used to secure the order lookup of an order using Order Lookup API. - The order view code contains only URL safe characters. - Warning : Do not expose the order view code in the URL. The order view code can only be displayed to the shopper or sent as an email. Do not log the order view code in the code. - type: string - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: string - enum: - - not_paid - - part_paid - - paid - example: - "paid" - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: string - enum: - - not_shipped - - part_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. - type: number - format: double - example: - 0.30 - siteId?: - description: |- - The order's site. - type: string - example: - "ShoppingSite" - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. - type: string - example: - "OUTDOOR1" - status?: - description: |- - The status. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - example: - "created" - taxTotal?: - description: |- - The total tax amount. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). - type: string - enum: - - gross - - net - example: - "net" - OrderAddress: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - example: - "45 Main Rd." - address2?: - description: |- - The second address line. - type: string - example: - "Apartment 204" - city?: - description: |- - The city. - type: string - example: - "Boston" - companyName?: - description: |- - The company name. - type: string - example: - "Salesforce" - countryCode?: - description: |- - The ISO Country Code. - type: CommerceCloudStandards.CountryCode - example: - "US" - firstName?: - description: |- - The first name. - type: string - example: - "Max" - fullName?: - description: |- - The full name. - type: string - example: - "Max Mustermann" - id?: - description: |- - The ID of the address. - type: string - example: - "me" - jobTitle?: - description: |- - The job title. - type: string - example: - "Software Engineer" - lastName?: - description: |- - The last name. - type: string - example: - "Mustermann" - phone?: - description: |- - The phone number. - type: string - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - example: - "PO BOX 109" - postalCode?: - description: |- - The postal code. - type: string - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - example: - "Mr" - secondName?: - description: |- - The second name. - type: string - stateCode?: - description: |- - The state code. - type: string - example: - "MA" - suffix?: - description: |- - The suffix. - type: string - example: - "Sr" - suite?: - description: |- - The suite. - type: string - example: - "24A" - title?: - description: |- - The title. - type: string - example: - "Dr." - OrderLookupRequest: - description: |- - Document representing an order lookup request. - type: - CommerceCloudStandards.ClosedObject - properties: - email: - description: |- - The shopper's email address associated with the order to be looked up. If email is not provided on the order, the field can be left blank. Please include an additional verification of an order attribute, for example, a postal code or mobile number, in the custom implementation of Order lookup API. - type: string - example: - no-reply@salesforce.com - orderViewCode: - description: |- - The order view code associated with the order to be looked up. - type: string - OrderPaymentCardRequest: - description: |- - Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - maxLength: 256 - type: string - example: - "Visa" - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - example: - "*********4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - OrderPaymentInstrument: - description: |- - Document representing an order payment instrument. - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. - type: Status - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the last 4 characters not masked. - type: string - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. - type: string - example: - "ba248424e3eee797f062162f8b" - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - OrderPaymentInstrumentRequest: - description: |- - Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - CREDIT_CARD - PaymentCard: - description: |- - Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type. - maxLength: 256 - type: string - example: - "Visa" - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. - type: boolean - example: - true - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - "Max Mustermann" - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 4000 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of the payment card number. - maxLength: 4000 - type: string - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2015 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: |- - The payment card type. - type: string - example: - "Visa" - checksumVerificationEnabled?: - description: |- - A flag indicating whether the card number is verified using the Luhn checksum algorithm. - type: boolean - example: - true - description?: - description: |- - The localized description of the payment card. - type: string - image?: - description: |- - The URL to the image that represents the payment card. - type: string - name?: - description: |- - The localized name of the payment card. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). - type: array - items: - type: string - securityCodeLength?: - description: |- - The length of the security code for this card. - type: integer - format: int32 - PaymentMethod: - description: |- - Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: |- - The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). - type: array - items: - type: PaymentCardSpec - description?: - description: |- - The localized description of the payment method or card. - type: string - id: - description: |- - The ID of the payment method or card. - maxLength: 256 - type: string - image?: - description: |- - The URL to the image that represents the payment method or card. - type: string - name?: - description: |- - The localized name of the payment method or card. - type: string - paymentProcessorId?: - description: |- - The payment processor ID. - type: string - PaymentMethodResult: - description: |- - Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: |- - The applicable payment methods. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments - not based on a discount, this value is null. - type: Discount - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments - not based on a coupon, this value is null. - type: string - example: - "5ties" - createdBy?: - description: |- - The user who created the price adjustment. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the price adjustment was created. - type: datetime - example: - 2015-05-19T15:23:18.000Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This - flag is set to true unless the price adjustment was created by the promotion - engine. - type: boolean - example: - true - itemText?: - description: |- - The text describing the item. - type: string - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. - If the price adjustment was created by the promotion engine, this value is always - false. - type: boolean - example: - true - price?: - description: |- - The adjustment price. - type: number - format: double - example: - 120.88 - priceAdjustmentId?: - description: |- - The price adjustment ID. - type: string - example: - "ba248424e3eee797f062161f8b" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: |- - The URL addressing the related promotion. - type: string - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - PriceAdjustmentRequest: - description: |- - Request that represents a price adjustment. - type: - CommerceCloudStandards.OpenObject - properties: - discount?: - description: |- - A discount that can be specified instead of a price. - type: DiscountRequest - itemId?: - description: |- - The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. - type: string - example: - "93196fae953cbedbe54d67e760" - itemText?: - description: |- - The text describing the item in more detail. - type: string - example: - "A discounted item" - level: - description: |- - The level at which the adjustment is applied. - - `order` indicates that the price adjustment should be added directly to basket. - - `product` indicates that the price adjustment should be added to the product item. - - `shipping` indicates that the price adjustment is added to the shipping item. - type: string - enum: - - product - - shipping - - order - example: - "order" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. - type: string - example: - "Shipping100" - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - example: - "Shipping promotion on order above $1,000 USD" - PriceBookIds: - description: |- - Array of price book IDs to use for the basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: |- - Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: |- - The description of the product. - type: string - example: - "Nintendo DS revolutionizes handheld gameplay." - productId: - description: |- - The ID of the product. - type: string - example: - "nintendo-ds-console" - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - title?: - description: |- - The link title. - type: string - example: - "Nintendo DS Game Console" - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including - adjustments. If the taxation policy is net, it doesn't include tax. If the - taxation policy is gross, it includes tax. - type: number - format: double - example: - 130.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. - type: string - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - true - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or - creating a custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not - including order-level adjustments or shipping charges. If the taxation policy is - net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 20.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation - policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. - type: number - format: double - example: - 15.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference - to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A - related shipping item represents a surcharge applied to individual products using - a particular shipping method. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax for the product item, not including price adjustments. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The price used to calculate the tax for this product item. - type: number - format: double - example: - 30.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - example: - 0.90 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The ID of the product list item. - type: string - example: - "ba248424e3fee797f062162f8b" - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - example: - 1 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: |- - A reference to the associated product list. - type: ProductListLink - public?: - type: boolean - example: - false - purchasedQuantity?: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0.00 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListLink: - description: |- - Document representing a link to a product list. - properties: - description?: - description: |- - The description of this product list. - type: string - name?: - description: |- - The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. - type: boolean - example: - true - title?: - description: |- - The link title. - type: string - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - "shopping_list" - PromotionLink: - description: |- - Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - name?: - description: |- - The localized name of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$50FixedProductsAmountAbove100" - title?: - description: |- - The title. - type: string - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including - service charges such as shipping. If the Discount Taxation preference is set to Tax Products and - Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as - shipping. - type: number - format: double - example: - 4.95 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If - the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 99.00 - shipmentId?: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - example: - "me" - shipmentNo?: - description: |- - The shipment number of this shipment. This number is automatically generated. - type: string - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, - and tax. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: OrderAddress - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethod - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the - taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as - shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on - Adjusted Price, this amount also includes prorated order-level price adjustments. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. - type: number - format: double - example: - 50.00 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a - custom price adjustment for it. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the shipping item. - type: string - example: - "Shipping" - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level - adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. - type: number - format: double - shipmentId?: - description: |- - The identifier of the shipment to which this item belongs. - type: string - example: - "me" - tax?: - description: |- - The tax on the product item, not including adjustments. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The price used to calculate the tax for this shipping item. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. - type: string - taxRate?: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. - type: number - format: double - ShippingMethod: - description: |- - Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: |- - The localized description of the shipping method. - type: string - example: - "Order received within 7-10 business days" - externalShippingMethod?: - description: |- - The external shipping method. - type: string - id: - description: |- - The shipping method ID. - maxLength: 256 - type: string - example: - "001" - name?: - description: |- - The localized name of the shipping method. - type: string - example: - "Ground" - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. - type: number - format: double - example: - 15.00 - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: |- - Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: |- - The applicable shipping method documents. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: |- - The default shipping method. - type: string - example: - "me" - ShippingPromotion: - description: |- - Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$30FixedShippingAmountAbove150" - promotionName?: - description: |- - The localized promotion name. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - SimpleLink: - description: |- - Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: |- - Document representing an object status. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - message?: - description: |- - The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: |- - Document representing the tax rates and (optionally) amounts for all items in a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - TaxItems: - description: |- - Taxation for a line item. - properties: - taxItems?: - description: |- - The list of tax items. - type: array - items: - type: TaxItem - TaxItem: - description: |- - Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The taxation identifier. - type: string - rate: - description: |- - The taxation rate. - type: number - format: double - example: - 0.13 - value?: - description: |- - The tax amount. Will be computed if not set. - type: number - format: double \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/bad-request-auth.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/bad-request-example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/basket-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/forbidden.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/invalid-tax-mode.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/order-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/shipment-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/unsupported-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/unsupported-request.raml deleted file mode 100644 index 452c2569..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/examples/error/unsupported-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled", - "title": "Unsupported Request If SCAPI Hooks Enabled", - "detail": "You can't call this endpoint because Salesforce Commerce API hook execution is enabled." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/exchange.json deleted file mode 100644 index 1731fd78..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/1.0.70/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"checkout-data-types","version":"1.0.70","main":"checkout-data-types.raml","name":"Checkout Data Types","tags":[],"classifier":"raml-fragment","dependencies":[{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.26"}],"originalFormatVersion":"1.0","apiVersion":"v1","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"master","commitId":"5fcdf0d7ee59168416a5f8328c35aa41819b6eff"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/checkout-data-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/checkout-data-types.raml deleted file mode 100644 index e4968e2c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/checkout-data-types.raml +++ /dev/null @@ -1,2366 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not - including service charges such as shipping. If the Discount Taxation preference is set to Tax - Products and Shipping Only Based on Adjusted Price, this amount also includes prorated - order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - agentBasket?: - description: |- - Is the basket created by an agent? It is read only. - type: boolean - example: - true - basketId?: - description: |- - The unique identifier for the basket. It is read only. - type: string - example: - "e78aa5646a8efebdd9cdd38be7" - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - creationDate?: - description: |- - The timestamp when the basket was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information, if the customer is logged in. - type: CustomerInfo - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - inventoryReservationExpiry?: - description: |- - The expiration datetime of the inventory reservation. It is read only. - type: datetime - example: - 2015-05-19T15:30:18.000Z - lastModified?: - description: |- - The timestamp when the basket was last modified. It is read only. - type: datetime - example: - 2015-05-19T15:25:18.000Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. - Merchandise total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. It is read only. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: SimpleLink - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and tax. It is read only. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping - charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 88.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - sourceCode?: - description: |- - The source code assigned to the basket. It is read only. - type: string - example: - "OUTDOOR1" - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. - type: boolean - example: - true - temporaryBasket?: - description: |- - If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. It is read only. - type: boolean - example: - true - BasketPaymentInstrumentRequest: - description: |- - Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - example: - "AFGRTUZ" - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - example: - "5ties" - id?: - description: |- - The ID of the line item. It is read only. - type: string - example: - "91f4dd8bfa0653d58b7783b04f" - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - example: - "Buy1Get2" - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: |- - The coupon code. - maxLength: 256 - type: string - example: - "5ties" - couponItemId?: - description: |- - The coupon item ID. It is read only. - type: string - example: - "d4c9c0141e9c74c150225580f3" - statusCode?: - description: |- - The status of the coupon item. It is read only. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - "no_applicable_promotion" - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". It is read only. - type: boolean - example: - true - CustomerInfo: - description: |- - The customer information for guest or logged-in customers. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: |- - The customer ID. It is read only. - maxLength: 100 - type: string - example: - "abMKqMaNYOBMnNdDNzyC5oNTi5" - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - customerNo?: - description: |- - The customer number. - maxLength: 100 - type: string - example: - "0002352" - email: - description: |- - The customer's email address. - type: string - example: - no-reply@salesforce.com - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. It is read only. - type: number - format: double - example: - 130.88 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. It is read only. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The price book ID that is used with some types. It is read only. - type: string - example: - "usd-sale-prices" - type: - description: |- - The type of discount. It is read only. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - "fixed_price" - DiscountRequest: - description: |- - Request that represents a discount to be applied to a custom price adjustment. - type: - CommerceCloudStandards.ClosedObject - properties: - type: - description: |- - The type of discount. - - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. - - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. - - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. - type: string - enum: - - percentage - - fixed_price - - amount - example: - "percentage" - value: - description: |- - The amount of the discount. - type: number - format: double - example: - 20.00 - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate item amount. - type: number - format: double - example: - 20.00 - giftCertificateItemId?: - description: |- - The item ID. It is read only. - type: string - example: - "629dea6e7b61e58da629b57b21" - message?: - description: |- - The gift certificate message. - maxLength: 4000 - type: string - example: - "Birthday present." - recipientEmail: - description: |- - The recipient email. - minLength: 1 - type: string - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient's name. - type: string - example: - "Daniel Mustermann" - senderName?: - description: |- - The sender's name. - type: string - example: - "Max Mustermann" - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - GroupedTaxItem: - description: |- - Document representing the grouped tax item. - type: - CommerceCloudStandards.ClosedObject - properties: - taxRate?: - description: |- - The tax rate. It is read only. - type: number - format: double - example: - 0.10 - taxValue?: - description: |- - The summed up tax total for the tax rate. It is read only. - type: number - format: double - example: - 10.03 - Note: - description: |- - Document representing a note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The author of the note. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - id?: - description: |- - The ID of the note. - type: string - example: - "49b5c6c8340e432a7bfab9ff3a" - subject?: - description: |- - The note subject. - maxLength: 256 - type: string - example: - "Order was created." - text?: - description: |- - The note text. - maxLength: 4000 - type: string - example: - "Order was created." - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: |- - The notes. It is read only. - type: array - items: - type: Note - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product - item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - example: - "ba248414e3eee797f062162f8b" - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. It is read only. - type: boolean - example: - false - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. It is read only. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - example: - "The item text." - optionId: - description: |- - The ID of the option. It is read only. - maxLength: 256 - type: string - example: - consoleWarranty - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - optionValueId: - description: |- - The ID of the option value. It is read only. - maxLength: 256 - type: string - example: - "000" - price?: - description: |- - The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 150.99 - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or - shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not - including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 40.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The ordered quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a - surcharge applied to individual products using a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax on the line item before applying any adjustments. It is read only. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. It is read only. - type: number - format: double - example: - 50.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.19 - Order: - description: |- - Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as - shipping. It is read only. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. It is read only. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - confirmationStatus?: - description: |- - The confirmation status. - type: string - enum: - - not_confirmed - - confirmed - example: - "confirmed" - couponItems?: - description: |- - The coupon items. It is read only. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. - If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. It is read only. - type: string - example: - "Customer" - creationDate?: - description: |- - The timestamp when the order was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. It is read only. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information for guest or logged-in customers. It is read only. - type: CustomerInfo - customerName?: - description: |- - The customer name. It is read only. - type: string - example: - "Max Mustermann" - exportStatus?: - description: |- - The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - example: - "exported" - externalOrderStatus?: - description: |- - The external status of the order. - type: string - example: - "Submitted" - giftCertificateItems?: - description: |- - The gift certificate line items. It is read only. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. It is read only. - type: string - example: - "GP_1234" - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - guest?: - description: |- - The registration status of the customer. It is read only. - type: boolean - example: - true - lastModified?: - description: |- - The timestamp when the order was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices - not including shipping or adjustments. It is read only. - type: number - format: double - example: - 1.50 - notes?: - description: |- - The notes. - type: SimpleLink - orderNo?: - description: |- - The order number. - type: string - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. It is read only. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. It is read only. - type: string - orderTotal?: - description: |- - The total price, including products, shipping, and tax. It is read only. - type: number - format: double - example: - 110.24 - orderViewCode?: - description: |- - The order view code used to secure the order lookup of an order using Order Lookup API. - The order view code contains only URL safe characters. - Warning : Order view code must not be exposed in the URL and must only be displayed to the shopper or sent as an email. - Order view code must not be logged in the code. It is read only. - type: string - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: string - enum: - - not_paid - - part_paid - - paid - example: - "paid" - productItems?: - description: |- - The product items. It is read only. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipments?: - description: |- - The shipments. It is read only. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. It is read only. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: string - enum: - - not_shipped - - part_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - siteId?: - description: |- - The order's site. It is read only. - type: string - example: - "ShoppingSite" - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. It is read only. - type: string - example: - "OUTDOOR1" - status?: - description: |- - The status. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - example: - "created" - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. - type: boolean - example: - true - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - OrderAddress: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - example: - "45 Main Rd." - address2?: - description: |- - The second address line. - type: string - example: - "Apartment 204" - city?: - description: |- - The city. - type: string - example: - "Boston" - companyName?: - description: |- - The company name. - type: string - example: - "Salesforce" - countryCode?: - description: |- - The ISO Country Code. - type: CommerceCloudStandards.CountryCode - example: - "US" - firstName?: - description: |- - The first name. - type: string - example: - "Max" - fullName?: - description: |- - The full name. - type: string - example: - "Max Mustermann" - id?: - description: |- - The ID of the address. - type: string - example: - "me" - jobTitle?: - description: |- - The job title. - type: string - example: - "Software Engineer" - lastName?: - description: |- - The last name. - type: string - example: - "Mustermann" - phone?: - description: |- - The phone number. - type: string - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - example: - "PO BOX 109" - postalCode?: - description: |- - The postal code. - type: string - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - example: - "Mr" - secondName?: - description: |- - The second name. - type: string - stateCode?: - description: |- - The state code. - type: string - example: - "MA" - suffix?: - description: |- - The suffix. - type: string - example: - "Sr" - suite?: - description: |- - The suite. - type: string - example: - "24A" - title?: - description: |- - The title. - type: string - example: - "Dr." - OrderLookupRequest: - description: |- - Document representing an order lookup request. - type: - CommerceCloudStandards.ClosedObject - properties: - email: - description: |- - The customer's email address associated with order to be looked up. - type: string - example: - no-reply@salesforce.com - orderViewCode: - description: |- - The order view code associated with the order to be looked up. - type: string - OrderPaymentCardRequest: - description: |- - Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - maxLength: 256 - type: string - example: - "Visa" - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - example: - "*********4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - OrderPaymentInstrument: - description: |- - Document representing an order payment instrument. - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. It is read only. - type: Status - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the last 4 characters not masked. - type: string - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. It is read only. - type: string - example: - "ba248424e3eee797f062162f8b" - paymentMethodId?: - description: |- - The payment method ID. It is read only. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - OrderPaymentInstrumentRequest: - description: |- - Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - CREDIT_CARD - PaymentCard: - description: |- - Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type. - maxLength: 256 - type: string - example: - "Visa" - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. It is read only. - type: boolean - example: - true - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. It is read only. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - "Max Mustermann" - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 4000 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of the payment card number. It is read only. - maxLength: 4000 - type: string - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2015 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: |- - The payment card type. It is read only. - type: string - example: - "Visa" - checksumVerificationEnabled?: - description: |- - A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. - type: boolean - example: - true - description?: - description: |- - The localized description of the payment card. It is read only. - type: string - image?: - description: |- - The URL to the image that represents the payment card. It is read only. - type: string - name?: - description: |- - The localized name of the payment card. It is read only. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). It is read only. - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). It is read only. - type: array - items: - type: string - securityCodeLength?: - description: |- - The length of the security code for this card. It is read only. - type: integer - format: int32 - PaymentMethod: - description: |- - Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: |- - The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. - type: array - items: - type: PaymentCardSpec - description?: - description: |- - The localized description of the payment method or card. It is read only. - type: string - id: - description: |- - The ID of the payment method or card. It is read only. - maxLength: 256 - type: string - image?: - description: |- - The URL to the image that represents the payment method or card. It is read only. - type: string - name?: - description: |- - The localized name of the payment method or card. It is read only. - type: string - paymentProcessorId?: - description: |- - The payment processor ID. It is read only. It is read only. - type: string - PaymentMethodResult: - description: |- - Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: |- - The applicable payment methods. It is read only. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments - not based on a discount, this value is null. - type: Discount - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments - not based on a coupon, this value is null. It is read only. - type: string - example: - "5ties" - createdBy?: - description: |- - The user who created the price adjustment. It is read only. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the price adjustment was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This - flag is set to true unless the price adjustment was created by the promotion - engine. - type: boolean - example: - true - itemText?: - description: |- - The text describing the item. - type: string - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. - If the price adjustment was created by the promotion engine, this value is always - false. - type: boolean - example: - true - price?: - description: |- - The adjustment price. It is read only. - type: number - format: double - example: - 120.88 - priceAdjustmentId?: - description: |- - The price adjustment ID. It is read only. - type: string - example: - "ba248424e3eee797f062161f8b" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: |- - The URL addressing the related promotion. It is read only. - type: string - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - PriceAdjustmentRequest: - description: |- - Request that represents a price adjustment. - type: - CommerceCloudStandards.OpenObject - properties: - discount?: - description: |- - A discount that can be specified instead of a price. - type: DiscountRequest - itemId?: - description: |- - The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. - type: string - example: - "93196fae953cbedbe54d67e760" - itemText?: - description: |- - The text describing the item in more detail. - type: string - example: - "A discounted item" - level: - description: |- - The level at which the adjustment is applied. - - `order` indicates that the price adjustment should be added directly to basket. - - `product` indicates that the price adjustment should be added to the product item. - - `shipping` indicates that the price adjustment is added to the shipping item. - type: string - enum: - - product - - shipping - - order - example: - "order" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. - type: string - example: - "Shipping100" - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - example: - "Shipping promotion on order above $1,000 USD" - PriceBookIds: - description: |- - Array of price book IDs to use for the basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: |- - Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: |- - The description of the product. - type: string - example: - "Nintendo DS revolutionizes handheld gameplay." - productId: - description: |- - The ID of the product. - type: string - example: - "nintendo-ds-console" - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - title?: - description: |- - The link title. - type: string - example: - "Nintendo DS Game Console" - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including - adjustments. If the taxation policy is net, it doesn't include tax. If the - taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 130.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - true - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or - creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not - including order-level adjustments or shipping charges. If the taxation policy is - net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 20.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation - policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 15.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference - to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The quantity of the products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A - related shipping item represents a surcharge applied to individual products using - a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax for the product item, not including price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The price used to calculate the tax for this product item. It is read only. - type: number - format: double - example: - 30.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.90 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The ID of the product list item. It is read only. - type: string - example: - "ba248424e3fee797f062162f8b" - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - example: - 1 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: |- - A reference to the associated product list. It is read only. - type: ProductListLink - public?: - type: boolean - example: - false - purchasedQuantity?: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0.00 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListLink: - description: |- - Document representing a link to a product list. - properties: - description?: - description: |- - The description of this product list. - type: string - name?: - description: |- - The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. It is read only. - type: boolean - example: - true - title?: - description: |- - The link title. - type: string - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - "shopping_list" - PromotionLink: - description: |- - Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - name?: - description: |- - The localized name of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$50FixedProductsAmountAbove100" - title?: - description: |- - The title. - type: string - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including - service charges such as shipping. If the Discount Taxation preference is set to Tax Products and - Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as - shipping. It is read only. - type: number - format: double - example: - 4.95 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If - the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipmentId?: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - example: - "me" - shipmentNo?: - description: |- - The shipment number of this shipment. This number is automatically generated. It is read only. - type: string - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, - and tax. It is read only. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: OrderAddress - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethod - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the - taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as - shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on - Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a - custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the shipping item. - type: string - example: - "Shipping" - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level - adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - shipmentId?: - description: |- - The identifier of the shipment to which this item belongs. - type: string - example: - "me" - tax?: - description: |- - The tax on the product item, not including adjustments. It is read only. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The price used to calculate the tax for this shipping item. It is read only. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. - type: number - format: double - ShippingMethod: - description: |- - Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: |- - The localized description of the shipping method. - type: string - example: - "Order received within 7-10 business days" - externalShippingMethod?: - description: |- - The external shipping method. - type: string - id: - description: |- - The shipping method ID. - maxLength: 256 - type: string - example: - "001" - name?: - description: |- - The localized name of the shipping method. - type: string - example: - "Ground" - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. It is read only. - type: number - format: double - example: - 15.00 - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: |- - Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: |- - The applicable shipping method documents. It is read only. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: |- - The default shipping method. It is read only. - type: string - example: - "me" - ShippingPromotion: - description: |- - Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$30FixedShippingAmountAbove150" - promotionName?: - description: |- - The localized promotion name. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - SimpleLink: - description: |- - Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: |- - Document representing an object status. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - message?: - description: |- - The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: |- - Document representing the tax rates and (optionally) amounts for all items in a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - TaxItems: - description: |- - Taxation for a line item. - properties: - taxItems?: - description: |- - The list of tax items. It is read only. - type: array - items: - type: TaxItem - TaxItem: - description: |- - Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The taxation identifier. - type: string - rate: - description: |- - The taxation rate. - type: number - format: double - example: - 0.13 - value?: - description: |- - The tax amount. Will be computed if not set. - type: number - format: double diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/bad-request-auth.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/bad-request-example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/basket-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/forbidden.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/invalid-tax-mode.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/order-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/shipment-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/unsupported-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/unsupported-request.raml deleted file mode 100644 index 452c2569..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/examples/error/unsupported-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled", - "title": "Unsupported Request If SCAPI Hooks Enabled", - "detail": "You can't call this endpoint because Salesforce Commerce API hook execution is enabled." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/exchange.json deleted file mode 100644 index 16baa6df..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.4/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"dependencies":[{"version":"1.0.27","assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"}],"version":"2.0.4","originalFormatVersion":"1.0","apiVersion":"v1","descriptorVersion":"0.1.0","classifier":"raml-fragment","main":"checkout-data-types.raml","assetId":"checkout-data-types","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","name":"Checkout Data Types","tags":[],"metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"v2","commitId":"564dc4ce4a8b5cfea6c133fccc59b51964b0b69f"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml deleted file mode 100644 index 9e059569..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml +++ /dev/null @@ -1,2364 +0,0 @@ -#%RAML 1.0 Library -#In C4E review -usage: This library provides all shopper baskets orders data types - -uses: - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Basket: - description: |- - Document representing a basket. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not - including service charges such as shipping. If the Discount Taxation preference is set to Tax - Products and Shipping Only Based on Adjusted Price, this amount also includes prorated - order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - agentBasket?: - description: |- - Is the basket created by an agent? It is read only. - type: boolean - example: - true - basketId?: - description: |- - The unique identifier for the basket. It is read only. - type: string - example: - "e78aa5646a8efebdd9cdd38be7" - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - couponItems?: - description: |- - The coupon items. - type: array - items: - type: CouponItem - creationDate?: - description: |- - The timestamp when the basket was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information, if the customer is logged in. - type: CustomerInfo - giftCertificateItems?: - description: |- - The gift certificate line items. - type: array - items: - type: GiftCertificateItem - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - inventoryReservationExpiry?: - description: |- - The expiration datetime of the inventory reservation. It is read only. - type: datetime - example: - 2015-05-19T15:30:18.000Z - lastModified?: - description: |- - The timestamp when the basket was last modified. It is read only. - type: datetime - example: - 2015-05-19T15:25:18.000Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. - Merchandise total price represents the sum of the product prices before - services (such as shipping) or adjustments from promotions have - been added. It is read only. - type: number - format: double - example: - 4.95 - notes?: - description: |- - The notes. - type: SimpleLink - orderPriceAdjustments?: - description: |- - The order-level price adjustments. - type: array - items: - type: PriceAdjustment - orderTotal?: - description: |- - The total price, including products, shipping and tax. It is read only. - type: number - format: double - example: - 110.24 - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - productItems?: - description: |- - The product items. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including order-level adjustments or shipping - charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 88.00 - shipments?: - description: |- - The shipments. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. - type: array - items: - type: ShippingItem - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - sourceCode?: - description: |- - The source code assigned to the basket. It is read only. - type: string - example: - "OUTDOOR1" - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. - type: boolean - example: - true - temporaryBasket?: - description: |- - If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. It is read only. - type: boolean - example: - true - BasketPaymentInstrumentRequest: - description: |- - Document representing a basket payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - example: - "AFGRTUZ" - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - BonusDiscountLineItem: - description: |- - Document representing a bonus discount line item. - type: - CommerceCloudStandards.OpenObject - properties: - bonusProducts?: - description: |- - The bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode?: - description: |- - The coupon code that triggered the promotion, if applicable. - type: string - example: - "5ties" - id?: - description: |- - The ID of the line item. It is read only. - type: string - example: - "91f4dd8bfa0653d58b7783b04f" - maxBonusItems?: - description: |- - The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - promotionId?: - description: |- - The ID of the promotion that triggered the creation of the line item. - type: string - example: - "Buy1Get2" - CouponItem: - description: |- - Document representing a coupon item. - type: - CommerceCloudStandards.OpenObject - properties: - code: - description: |- - The coupon code. - maxLength: 256 - type: string - example: - "5ties" - couponItemId?: - description: |- - The coupon item ID. It is read only. - type: string - example: - "d4c9c0141e9c74c150225580f3" - statusCode?: - description: |- - The status of the coupon item. It is read only. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - example: - "no_applicable_promotion" - valid?: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is "applied" or "no_applicable_promotion". It is read only. - type: boolean - example: - true - CustomerInfo: - description: |- - The customer information for guest or logged-in customers. - type: - CommerceCloudStandards.OpenObject - properties: - customerId?: - description: |- - The customer ID. It is read only. - maxLength: 100 - type: string - example: - "abMKqMaNYOBMnNdDNzyC5oNTi5" - customerName?: - description: |- - The customer name. - type: string - example: - "Max Mustermann" - customerNo?: - description: |- - The customer number. - maxLength: 100 - type: string - example: - "0002352" - email: - description: |- - The customer's email address. - type: string - example: - no-reply@salesforce.com - Discount: - description: |- - Document representing a discount. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The discount amount for discount types that define specific discount amounts. It is read only. - type: number - format: double - example: - 130.88 - percentage?: - description: |- - The discount percent for discount types that define percentage discounts. It is read only. - type: number - format: double - example: - 0.19 - priceBookId?: - description: |- - The price book ID that is used with some types. It is read only. - type: string - example: - "usd-sale-prices" - type: - description: |- - The type of discount. It is read only. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: - "fixed_price" - DiscountRequest: - description: |- - Request that represents a discount to be applied to a custom price adjustment. - type: - CommerceCloudStandards.ClosedObject - properties: - type: - description: |- - The type of discount. - - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. - - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. - - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. - type: string - enum: - - percentage - - fixed_price - - amount - example: - "percentage" - value: - description: |- - The amount of the discount. - type: number - format: double - example: - 20.00 - GiftCertificateItem: - description: |- - A gift certificate item. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate item amount. - type: number - format: double - example: - 20.00 - giftCertificateItemId?: - description: |- - The item ID. It is read only. - type: string - example: - "629dea6e7b61e58da629b57b21" - message?: - description: |- - The gift certificate message. - maxLength: 4000 - type: string - example: - "Birthday present." - recipientEmail: - description: |- - The recipient email. - minLength: 1 - type: string - example: - no-reply@salesforce.com - recipientName?: - description: |- - The recipient's name. - type: string - example: - "Daniel Mustermann" - senderName?: - description: |- - The sender's name. - type: string - example: - "Max Mustermann" - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - GroupedTaxItem: - description: |- - Document representing the grouped tax item. - type: - CommerceCloudStandards.ClosedObject - properties: - taxRate?: - description: |- - The tax rate. It is read only. - type: number - format: double - example: - 0.10 - taxValue?: - description: |- - The summed up tax total for the tax rate. It is read only. - type: number - format: double - example: - 10.03 - Note: - description: |- - Document representing a note. - type: - CommerceCloudStandards.ClosedObject - properties: - createdBy?: - description: |- - The author of the note. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the note was created. - type: datetime - example: - 2021-02-25T09:58:04.691Z - id?: - description: |- - The ID of the note. - type: string - example: - "49b5c6c8340e432a7bfab9ff3a" - subject?: - description: |- - The note subject. - maxLength: 256 - type: string - example: - "Order was created." - text?: - description: |- - The note text. - maxLength: 4000 - type: string - example: - "Order was created." - NotesResult: - description: |- - A result of a note request. - Contains notes for an object - for example, for a basket. - properties: - notes?: - description: |- - The notes. It is read only. - type: array - items: - type: Note - OptionItem: - description: |- - An option item represents an optional purchase related to a product item, and is always associated with that parent product - item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - example: - "ba248414e3eee797f062162f8b" - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. It is read only. - type: boolean - example: - false - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - false - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. It is read only. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - example: - "The item text." - optionId: - description: |- - The ID of the option. It is read only. - maxLength: 256 - type: string - example: - consoleWarranty - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - optionValueId: - description: |- - The ID of the option value. It is read only. - maxLength: 256 - type: string - example: - "000" - price?: - description: |- - The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 150.99 - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not including order-level adjustments or - shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated order-level adjustments, but not - including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 40.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The ordered quantity of the products represented by this item. - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A related shipping item represents a - surcharge applied to individual products using a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax on the line item before applying any adjustments. It is read only. - type: number - format: double - example: - 0.00 - taxBasis?: - description: |- - The amount used to calculate the tax for this item. It is read only. - type: number - format: double - example: - 50.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.19 - Order: - description: |- - Document representing an order. - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the order, including price adjustments, but not including service charges such as - shipping. It is read only. - type: number - format: double - example: - 1.50 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the order, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - billingAddress?: - description: |- - The billing address. - type: OrderAddress - bonusDiscountLineItems?: - description: |- - The bonus discount line items. It is read only. - type: array - items: - type: BonusDiscountLineItem - channelType?: - description: |- - The sales channel. It is read only. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - - tiktok - - snapchat - - google - - whatsapp - - youtube - example: - "storefront" - confirmationStatus?: - description: |- - The confirmation status. - type: string - enum: - - not_confirmed - - confirmed - example: - "confirmed" - couponItems?: - description: |- - The coupon items. It is read only. - type: array - items: - type: CouponItem - createdBy?: - description: |- - This value depends on how the order was created. If a shopper created the order, this value is Customer. - If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. It is read only. - type: string - example: - "Customer" - creationDate?: - description: |- - The timestamp when the order was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - currency?: - description: |- - The ISO 4217 mnemonic code of the currency. It is read only. - type: string - example: - "USD" - customerInfo?: - description: |- - The customer information for guest or logged-in customers. It is read only. - type: CustomerInfo - customerName?: - description: |- - The customer name. It is read only. - type: string - example: - "Max Mustermann" - exportStatus?: - description: |- - The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - example: - "exported" - externalOrderStatus?: - description: |- - The external status of the order. - type: string - example: - "Submitted" - giftCertificateItems?: - description: |- - The gift certificate line items. It is read only. - type: array - items: - type: GiftCertificateItem - globalPartyId?: - description: |- - The Customer 360 Global Party ID associated with the shopper. It is read only. - type: string - example: - "GP_1234" - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - guest?: - description: |- - The registration status of the customer. It is read only. - type: boolean - example: - true - lastModified?: - description: |- - The timestamp when the order was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - merchandizeTotalTax?: - description: |- - The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices - not including shipping or adjustments. It is read only. - type: number - format: double - example: - 1.50 - notes?: - description: |- - The notes. - type: SimpleLink - orderNo?: - description: |- - The order number. - type: string - example: - "00000410" - orderPriceAdjustments?: - description: |- - The order-level price adjustments. It is read only. - type: array - items: - type: PriceAdjustment - orderToken?: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. It is read only. - type: string - orderTotal?: - description: |- - The total price, including products, shipping, and tax. It is read only. - type: number - format: double - example: - 110.24 - orderViewCode?: - description: |- - The order view code used to secure the order lookup of an order using Order Lookup API. - The order view code contains only URL safe characters. - Warning : Order view code must not be exposed in the URL and must only be displayed to the shopper or sent as an email. - Order view code must not be logged in the code. It is read only. - type: string - paymentInstruments?: - description: |- - The payment instruments list. - type: array - items: - type: OrderPaymentInstrument - paymentStatus?: - description: |- - The payment status. - type: string - enum: - - not_paid - - part_paid - - paid - example: - "paid" - productItems?: - description: |- - The product items. It is read only. - type: array - items: - type: ProductItem - productSubTotal?: - description: |- - The total price of all products including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipments?: - description: |- - The shipments. It is read only. - type: array - items: - type: Shipment - shippingItems?: - description: |- - The shipping items. It is read only. - type: array - items: - type: ShippingItem - shippingStatus?: - description: |- - The shipping status. - type: string - enum: - - not_shipped - - part_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, - it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on all shipping charges, not including shipping adjustments. It is read only. - type: number - format: double - example: - 0.30 - siteId?: - description: |- - The order's site. It is read only. - type: string - example: - "ShoppingSite" - sourceCode?: - description: |- - The source code assigned to the basket from which this order was created. It is read only. - type: string - example: - "OUTDOOR1" - status?: - description: |- - The status. - type: string - enum: - - created - - new - - completed - - cancelled - - replaced - - failed - example: - "created" - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. - type: boolean - example: - true - taxTotal?: - description: |- - The total tax amount. It is read only. - type: number - format: double - example: - 5.25 - taxation?: - description: |- - The taxation policy (gross or net). It is read only. - type: string - enum: - - gross - - net - example: - "net" - OrderAddress: - description: |- - Document representing an order address. - type: - CommerceCloudStandards.OpenObject - properties: - address1?: - description: |- - The first address line. - type: string - example: - "45 Main Rd." - address2?: - description: |- - The second address line. - type: string - example: - "Apartment 204" - city?: - description: |- - The city. - type: string - example: - "Boston" - companyName?: - description: |- - The company name. - type: string - example: - "Salesforce" - countryCode?: - description: |- - The ISO Country Code. - type: CommerceCloudStandards.CountryCode - example: - "US" - firstName?: - description: |- - The first name. - type: string - example: - "Max" - fullName?: - description: |- - The full name. - type: string - example: - "Max Mustermann" - id?: - description: |- - The ID of the address. - type: string - example: - "me" - jobTitle?: - description: |- - The job title. - type: string - example: - "Software Engineer" - lastName?: - description: |- - The last name. - type: string - example: - "Mustermann" - phone?: - description: |- - The phone number. - type: string - example: - "6175555555" - postBox?: - description: |- - The post office box. - type: string - example: - "PO BOX 109" - postalCode?: - description: |- - The postal code. - type: string - example: - "05408" - salutation?: - description: |- - The salutation. - type: string - example: - "Mr" - secondName?: - description: |- - The second name. - type: string - stateCode?: - description: |- - The state code. - type: string - example: - "MA" - suffix?: - description: |- - The suffix. - type: string - example: - "Sr" - suite?: - description: |- - The suite. - type: string - example: - "24A" - title?: - description: |- - The title. - type: string - example: - "Dr." - OrderLookupRequest: - description: |- - Document representing an order lookup request. - type: - CommerceCloudStandards.ClosedObject - properties: - email: - description: |- - The customer's email address associated with order to be looked up. - type: string - example: - no-reply@salesforce.com - orderViewCode: - description: |- - The order view code associated with the order to be looked up. - type: string - OrderPaymentCardRequest: - description: |- - Document representing an order payment card request. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type (for example: Visa). - maxLength: 256 - type: string - example: - "Visa" - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - Max Mustermann - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 25 - type: string - pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' - example: - "*********4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2019 - OrderPaymentInstrument: - description: |- - Document representing an order payment instrument. - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - authorizationStatus?: - description: |- - The authorization status of the payment transaction. It is read only. - type: Status - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - maskedGiftCertificateCode?: - description: |- - The gift certificate code with the last 4 characters not masked. - type: string - example: - "******Gzzy" - paymentCard?: - description: |- - The payment card. - type: PaymentCard - paymentInstrumentId?: - description: |- - The payment instrument ID. It is read only. - type: string - example: - "ba248424e3eee797f062162f8b" - paymentMethodId?: - description: |- - The payment method ID. It is read only. - maxLength: 256 - type: string - example: - "CREDIT_CARD" - OrderPaymentInstrumentRequest: - description: |- - Document representing an order payment instrument request. - type: - CommerceCloudStandards.OpenObject - properties: - amount?: - description: |- - The payment transaction amount. - type: number - format: double - example: - 130.88 - bankRoutingNumber?: - description: |- - The bank routing number. - maxLength: 256 - type: string - example: - "12030000" - giftCertificateCode?: - description: |- - The gift certificate code. - maxLength: 256 - type: string - paymentCard?: - description: |- - The payment card. - type: OrderPaymentCardRequest - paymentMethodId?: - description: |- - The payment method ID. - maxLength: 256 - type: string - example: - CREDIT_CARD - PaymentCard: - description: |- - Document representing a payment card. - type: - CommerceCloudStandards.ClosedObject - properties: - cardType?: - description: |- - The payment card type. - maxLength: 256 - type: string - example: - "Visa" - creditCardExpired?: - description: |- - A flag indicating if the credit card is expired. It is read only. - type: boolean - example: - true - creditCardToken?: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. It is read only. - type: string - example: - "E67TY8GQ27X" - expirationMonth?: - description: |- - The month when the payment card expires. - type: integer - format: int32 - example: - 3 - expirationYear?: - description: |- - The year when the payment card expires. - type: integer - format: int32 - example: - 2025 - holder?: - description: |- - The payment card holder. - maxLength: 256 - type: string - example: - "Max Mustermann" - issueNumber?: - description: |- - The payment card issue number. - maxLength: 256 - type: string - example: - "2" - maskedNumber?: - description: |- - The masked payment card number. - maxLength: 4000 - type: string - example: - "*********4422" - numberLastDigits?: - description: |- - The last digits of the payment card number. It is read only. - maxLength: 4000 - type: string - example: - "4422" - validFromMonth?: - description: |- - The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: - 5 - validFromYear?: - description: |- - The year the payment card is valid from. - type: integer - format: int32 - example: - 2015 - PaymentCardSpec: - description: |- - Document representing the specification for a payment card. - type: - CommerceCloudStandards.OpenObject - properties: - cardType?: - description: |- - The payment card type. It is read only. - type: string - example: - "Visa" - checksumVerificationEnabled?: - description: |- - A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. - type: boolean - example: - true - description?: - description: |- - The localized description of the payment card. It is read only. - type: string - image?: - description: |- - The URL to the image that represents the payment card. It is read only. - type: string - name?: - description: |- - The localized name of the payment card. It is read only. - type: string - numberLengths?: - description: |- - The sorted list of number lengths (individual lengths as well as - length ranges). It is read only. - type: array - items: - type: string - numberPrefixes?: - description: |- - The sorted list of number prefixes (individual prefixes as well - as prefix ranges). It is read only. - type: array - items: - type: string - securityCodeLength?: - description: |- - The length of the security code for this card. It is read only. - type: integer - format: int32 - PaymentMethod: - description: |- - Document representing a payment method. - type: - CommerceCloudStandards.OpenObject - properties: - cards?: - description: |- - The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. - type: array - items: - type: PaymentCardSpec - description?: - description: |- - The localized description of the payment method or card. It is read only. - type: string - id: - description: |- - The ID of the payment method or card. It is read only. - maxLength: 256 - type: string - image?: - description: |- - The URL to the image that represents the payment method or card. It is read only. - type: string - name?: - description: |- - The localized name of the payment method or card. It is read only. - type: string - paymentProcessorId?: - description: |- - The payment processor ID. It is read only. It is read only. - type: string - PaymentMethodResult: - description: |- - Result document of payment methods applicable for a basket. - properties: - applicablePaymentMethods?: - description: |- - The applicable payment methods. It is read only. - type: array - items: - type: PaymentMethod - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - can be assigned at the order, product, or shipping level. - type: - CommerceCloudStandards.OpenObject - properties: - appliedDiscount?: - description: |- - Details describing the discount this price adjustment is based on. For adjustments - not based on a discount, this value is null. - type: Discount - couponCode?: - description: |- - The coupon code of the coupon this price adjustment is based on. For adjustments - not based on a coupon, this value is null. It is read only. - type: string - example: - "5ties" - createdBy?: - description: |- - The user who created the price adjustment. It is read only. - type: string - example: - "Support" - creationDate?: - description: |- - The timestamp when the price adjustment was created. It is read only. - type: datetime - example: - 2015-05-19T15:23:18.000Z - custom?: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This - flag is set to true unless the price adjustment was created by the promotion - engine. - type: boolean - example: - true - itemText?: - description: |- - The text describing the item. - type: string - lastModified?: - description: |- - The timestamp when the price adjustment was last modified. It is read only. - type: datetime - example: - 2021-02-25T09:58:08.715Z - manual?: - description: |- - A flag indicating whether this price adjustment was created by a manual process. - If the price adjustment was created by the promotion engine, this value is always - false. - type: boolean - example: - true - price?: - description: |- - The adjustment price. It is read only. - type: number - format: double - example: - 120.88 - priceAdjustmentId?: - description: |- - The price adjustment ID. It is read only. - type: string - example: - "ba248424e3eee797f062161f8b" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - promotionLink?: - description: |- - The URL addressing the related promotion. It is read only. - type: string - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - PriceAdjustmentRequest: - description: |- - Request that represents a price adjustment. - type: - CommerceCloudStandards.OpenObject - properties: - discount?: - description: |- - A discount that can be specified instead of a price. - type: DiscountRequest - itemId?: - description: |- - The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. - type: string - example: - "93196fae953cbedbe54d67e760" - itemText?: - description: |- - The text describing the item in more detail. - type: string - example: - "A discounted item" - level: - description: |- - The level at which the adjustment is applied. - - `order` indicates that the price adjustment should be added directly to basket. - - `product` indicates that the price adjustment should be added to the product item. - - `shipping` indicates that the price adjustment is added to the shipping item. - type: string - enum: - - product - - shipping - - order - example: - "order" - promotionId?: - description: |- - The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. - type: string - example: - "Shipping100" - reasonCode?: - description: |- - The reason for the price adjustment. - type: string - example: - "Shipping promotion on order above $1,000 USD" - PriceBookIds: - description: |- - Array of price book IDs to use for the basket calculation. - type: array - maxItems: 10 - items: - type: string - maxLength: 256 - ProductDetailsLink: - description: |- - Document representing a link to the resource for product details. - type: - CommerceCloudStandards.ClosedObject - properties: - productDescription?: - description: |- - The description of the product. - type: string - example: - "Nintendo DS revolutionizes handheld gameplay." - productId: - description: |- - The ID of the product. - type: string - example: - "nintendo-ds-console" - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - title?: - description: |- - The link title. - type: string - example: - "Nintendo DS Game Console" - ProductItem: - description: |- - Document representing a product item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax on the line item, including any adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the line item, which is the unit price not including - adjustments. If the taxation policy is net, it doesn't include tax. If the - taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 130.00 - bonusDiscountLineItemId?: - description: |- - The ID of the bonus discount line item this bonus product relates to. It is read only. - type: string - bonusProductLineItem?: - description: |- - A flag indicating whether the product item is a bonus. - type: boolean - example: - true - bundledProductItems?: - description: |- - The bundled product items. - type: array - items: - type: ProductItem - gift?: - description: |- - Returns true if the item is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - inventoryId?: - description: |- - The inventory list ID associated with this item. - maxLength: 256 - type: string - example: - "inventory" - itemId?: - description: |- - The product item ID. Use it to identify this item when updating its quantity or - creating a custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the item. - type: string - optionItems?: - description: |- - The option items. - type: array - items: - type: OptionItem - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the product line item including item-level adjustments, but not - including order-level adjustments or shipping charges. If the taxation policy is - net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 20.99 - priceAfterOrderDiscount?: - description: |- - The price of the product line item including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation - policy is net, it doesn't include tax. If the taxation policy is gross, it - includes tax. It is read only. - type: number - format: double - example: - 15.50 - productId?: - description: |- - The ID of the product. - maxLength: 100 - type: string - example: - "nintendo-ds-console" - productListItem?: - description: |- - If this product line item was added from a product list, this value is a reference - to the corresponding product list item. - type: ProductListItemReference - productName?: - description: |- - The name of the product. - type: string - example: - "Nintendo DS Game Console" - quantity?: - description: |- - The quantity of the products represented by this item. - minimum: 0 - type: number - format: double - example: - 1 - shipmentId?: - description: |- - The ID of the shipment this item belongs to. - type: string - example: - "me" - shippingItemId?: - description: |- - If the product line item has a related shipping item, this value is its ID. A - related shipping item represents a surcharge applied to individual products using - a particular shipping method. It is read only. - type: string - example: - "006490dcc338feeafc71c964bf" - tax?: - description: |- - The tax for the product item, not including price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxBasis?: - description: |- - The price used to calculate the tax for this product item. It is read only. - type: number - format: double - example: - 30.00 - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. It is read only. - type: number - format: double - example: - 0.90 - ProductListItemReference: - description: |- - Document representing product list item details. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The ID of the product list item. It is read only. - type: string - example: - "ba248424e3fee797f062162f8b" - priority?: - description: |- - The priority of the product list item. - type: integer - format: int32 - example: - 1 - productDetailsLink?: - type: ProductDetailsLink - productList?: - description: |- - A reference to the associated product list. It is read only. - type: ProductListLink - public?: - type: boolean - example: - false - purchasedQuantity?: - description: |- - The total quantity of this item purchased from the product list. - type: number - format: double - example: - 0.00 - quantity?: - description: |- - The number of products or gift certificates that get shipped when purchasing this product list item. - minimum: 0 - type: number - format: double - example: - 1.0 - type?: - description: |- - Specifies whether the item is a product or a gift certificate. - type: string - enum: - - product - - gift_certificate - example: - product - ProductListLink: - description: |- - Document representing a link to a product list. - properties: - description?: - description: |- - The description of this product list. - type: string - name?: - description: |- - The name of this product list. - type: string - public?: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. It is read only. - type: boolean - example: - true - title?: - description: |- - The link title. - type: string - type?: - description: |- - The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: - "shopping_list" - PromotionLink: - description: |- - Document representing a promotion link. - type: - CommerceCloudStandards.ClosedObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - name?: - description: |- - The localized name of the promotion. - type: string - example: - "$50 Fixed Products Amount Above 100" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$50FixedProductsAmountAbove100" - title?: - description: |- - The title. - type: string - Shipment: - description: |- - Document representing a shipment. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedMerchandizeTotalTax?: - description: |- - The total tax on products in the shipment, including item-level price adjustments but not including - service charges such as shipping. If the Discount Taxation preference is set to Tax Products and - Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 4.95 - adjustedShippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - gift?: - description: |- - A flag indicating whether the shipment is a gift. It is read only. - type: boolean - example: - true - giftMessage?: - description: |- - The gift message. - type: string - example: - "Happy Birthday" - merchandizeTotalTax?: - description: |- - The total tax on products in the shipment, not including price adjustments or service charges such as - shipping. It is read only. - type: number - format: double - example: - 4.95 - productSubTotal?: - description: |- - The total price of all products in the shipment, including item-level adjustments, but not including - order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If - the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - productTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments and prorated - order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't - include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 99.00 - shipmentId?: - description: |- - The order-specific ID of the shipment. The default value is 'me'. - type: string - example: - "me" - shipmentNo?: - description: |- - The shipment number of this shipment. This number is automatically generated. It is read only. - type: string - shipmentTotal?: - description: |- - The total price of all products in the shipment including item-level adjustments, shipping charges, - and tax. It is read only. - type: number - format: double - example: - 39.99 - shippingAddress?: - description: |- - The shipping address. - type: OrderAddress - shippingMethod?: - description: |- - The shipping method. - type: ShippingMethod - shippingStatus?: - description: |- - The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: - "shipped" - shippingTotal?: - description: |- - The total price of all shipping charges in the shipment, including shipping adjustments. If the - taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 5.99 - shippingTotalTax?: - description: |- - The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. - type: number - format: double - example: - 0.30 - taxTotal?: - description: |- - The total tax on the shipment, including item-level price adjustments and service charges such as - shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on - Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. - type: number - format: double - example: - 1.80 - trackingNumber?: - description: |- - The tracking number of the shipment. - type: string - example: - "1Z204E380338943508" - ShippingItem: - description: |- - Document representing a shipping item. - type: - CommerceCloudStandards.OpenObject - properties: - adjustedTax?: - description: |- - The tax for the shipping item, including price adjustments. It is read only. - type: number - format: double - example: - 19.00 - basePrice?: - description: |- - The base price of the shipping item, which is the unit price not including adjustments. - If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - example: - 50.00 - itemId?: - description: |- - The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a - custom price adjustment for it. It is read only. - type: string - example: - "430ef5aad3a24de59378458434" - itemText?: - description: |- - The text describing the shipping item. - type: string - example: - "Shipping" - price?: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. It is read only. - type: number - format: double - priceAdjustments?: - description: |- - The price adjustments. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount?: - description: |- - The price of the shipping item including item-level adjustments, but not including order-level - adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. - If the taxation policy is gross, it includes tax. It is read only. - type: number - format: double - shipmentId?: - description: |- - The identifier of the shipment to which this item belongs. - type: string - example: - "me" - tax?: - description: |- - The tax on the product item, not including adjustments. It is read only. - type: number - format: double - example: - 0.19 - taxBasis?: - description: |- - The price used to calculate the tax for this shipping item. It is read only. - type: number - format: double - taxClassId?: - description: |- - The tax class ID for the product item, or null - if no tax class ID is associated with the product item. It is read only. - type: string - taxRate?: - description: |- - The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. - type: number - format: double - ShippingMethod: - description: |- - Document representing a shipping method. - type: - CommerceCloudStandards.OpenObject - properties: - description?: - description: |- - The localized description of the shipping method. - type: string - example: - "Order received within 7-10 business days" - externalShippingMethod?: - description: |- - The external shipping method. - type: string - id: - description: |- - The shipping method ID. - maxLength: 256 - type: string - example: - "001" - name?: - description: |- - The localized name of the shipping method. - type: string - example: - "Ground" - price?: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. It is read only. - type: number - format: double - example: - 15.00 - shippingPromotions?: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - ShippingMethodResult: - description: |- - Result document containing shipping methods. - properties: - applicableShippingMethods?: - description: |- - The applicable shipping method documents. It is read only. - type: array - items: - type: ShippingMethod - defaultShippingMethodId?: - description: |- - The default shipping method. It is read only. - type: string - example: - "me" - ShippingPromotion: - description: |- - Document representing a shipping promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg?: - description: |- - The localized callout message of the promotion. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - promotionId?: - description: |- - The unique ID of the promotion. - type: string - example: - "$30FixedShippingAmountAbove150" - promotionName?: - description: |- - The localized promotion name. - type: string - example: - "$30 Fixed Shipping Amount Above 150" - SimpleLink: - description: |- - Document representing a link to another resource. - type: - CommerceCloudStandards.ClosedObject - properties: - Status: - description: |- - Document representing an object status. - type: - CommerceCloudStandards.ClosedObject - properties: - code?: - description: |- - The status code. - type: string - message?: - description: |- - The status message. - type: string - status?: - description: |- - The status. - For more information on the status values see Status.OK and Status.ERROR. - type: integer - format: int32 - Taxes: - description: |- - Document representing the tax rates and (optionally) amounts for all items in a basket. - type: - CommerceCloudStandards.ClosedObject - properties: - taxes: - description: |- - Map containing the TaxItems for the line item ids: Map - properties: - /^\w{10,100}$/?: - type: TaxItems - TaxItems: - description: |- - Taxation for a line item. - properties: - taxItems?: - description: |- - The list of tax items. It is read only. - type: array - items: - type: TaxItem - TaxItem: - description: |- - Object representing the taxation. - type: - CommerceCloudStandards.ClosedObject - properties: - id: - description: |- - The taxation identifier. - type: string - rate: - description: |- - The taxation rate. - type: number - format: double - example: - 0.13 - value?: - description: |- - The tax amount. Will be computed if not set. - type: number - format: double diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml deleted file mode 100644 index 0a106775..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "The customer is invalid." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml deleted file mode 100644 index 46200fa6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", - "title": "Bad Request", - "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml deleted file mode 100644 index ded387a8..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", - "title": "Basket Not Found", - "detail": "No basket with ID '123' could be found." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/forbidden.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/forbidden.raml deleted file mode 100644 index 76757e1c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/forbidden.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml deleted file mode 100644 index 2fd5287c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", - "title": "Invalid Tax Mode", - "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml deleted file mode 100644 index ab6a2fd1..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", - "title": "Order Not Found", - "detail": "No order with number '123' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/shipment-not-found.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/shipment-not-found.raml deleted file mode 100644 index 498f5b5d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/shipment-not-found.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", - "title": "Shipment Not Found", - "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml deleted file mode 100644 index 452c2569..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled", - "title": "Unsupported Request If SCAPI Hooks Enabled", - "detail": "You can't call this endpoint because Salesforce Commerce API hook execution is enabled." - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/exchange.json deleted file mode 100644 index 25886b6a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"dependencies":[{"version":"2.0.1","assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"}],"version":"2.0.5","originalFormatVersion":"1.0","apiVersion":"v1","descriptorVersion":"0.1.0","classifier":"raml-fragment","main":"checkout-data-types.raml","assetId":"checkout-data-types","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","name":"Checkout Data Types","tags":[],"metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"v2","commitId":"e7cad8834ddd908357c9160b31f3f9de2939fa01"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml deleted file mode 100644 index 1fe2d231..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml deleted file mode 100644 index 419c821f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml +++ /dev/null @@ -1,358 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int32 - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json deleted file mode 100644 index 9012e41c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.15","metadata":{"projectId":"b14c2b6a-2d86-46c1-9038-7cbedc656132","branchId":"master","commitId":"f6d54dade2b1aeed39ef12b62e6f8e8b9d0b48cd"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Filter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Query.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/attribute-definition-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/error-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/search-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/commerce-cloud-standards.raml deleted file mode 100644 index 1fe86a0a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/commerce-cloud-standards.raml +++ /dev/null @@ -1,109 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/exchange.json deleted file mode 100644 index 932bbb97..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.26/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.26"} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml deleted file mode 100644 index 99e06ea0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml +++ /dev/null @@ -1,120 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml deleted file mode 100644 index f9abcef7..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml +++ /dev/null @@ -1,69 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json deleted file mode 100644 index fbeb9213..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.27","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/order-lookup-description.md b/testIntegration/stagingApis/checkout/shopper-orders/order-lookup-description.md deleted file mode 100644 index 8c9455b9..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/order-lookup-description.md +++ /dev/null @@ -1,9 +0,0 @@ -Use this endpoint to lookup a guest order. - -**Important**: This endpoint uses the [ShopperTokenTsob](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=security%3AShopperTokenTsob) security scheme. Always check the Security section of the endpoint documentation, which is hidden by default. - -The API uses the `orderViewCode` generated during the order creation and the `email` of the order customer to lookup a guest order. If email is not provided on the order, the field can be left blank in the lookup request. -**Note**: In the no email on order scenario, the custom implementation must include an additional verification of an order attribute. For example, a postal code or mobile number. - -This API can also be used for looking up an order for a registered customer. In addition to the verification steps used for guest order lookup, the API also verifies that the customer ID of the order matches with the customer ID supplied in the `ShopperTokenTsob`. - diff --git a/testIntegration/stagingApis/checkout/shopper-orders/shopper-orders-description.md b/testIntegration/stagingApis/checkout/shopper-orders/shopper-orders-description.md deleted file mode 100644 index ab1cbc46..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/shopper-orders-description.md +++ /dev/null @@ -1,18 +0,0 @@ -# API Overview - -The Shopper Orders API enables you to: - -- Create orders based on baskets prepared using the Shopper Baskets API. -- Add a customer's payment instrument to an order. - -You can choose to supply the full payment information or supply only a customer payment instrument ID and amount. If the customer payment instrument ID is set, all the other properties (except amount) are ignored and the payment data is resolved from the stored customer payment information. - -**Note:** The API doesn’t allow the storage of credit card numbers. The endpoint provides the storage of masked credit card numbers only. - -To update the payment status, use the Orders API. - -## Use Cases - -### Use Hooks - -For details on working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/shopper-orders-traits.raml b/testIntegration/stagingApis/checkout/shopper-orders/shopper-orders-traits.raml deleted file mode 100644 index 4140ddcc..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/shopper-orders-traits.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 Library - -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -traits: - LocaleSpecific: - usage: This trait should be used whenever a resource uses the context of a locale associated with its request. This will add a locale query parameter. - queryParameters: - locale?: - type: CommerceCloudStandards.LocaleCode - description: |- - A descriptor to provide locale context for a geographical region by both a language and/or country code. The locale pattern in the query param follows the ISO 639-1 for the language code (e.g. en, de, fr) and ISO 3166-1 for the country code (e.g. US, DE, AT). The param can be a combination of language code and country code or can just refer to the language code. - Below are some valid examples: - - en-US - - de-AT - - de - - default - example: - en-US \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-orders/shopper-orders.raml b/testIntegration/stagingApis/checkout/shopper-orders/shopper-orders.raml deleted file mode 100644 index 1ca41a26..00000000 --- a/testIntegration/stagingApis/checkout/shopper-orders/shopper-orders.raml +++ /dev/null @@ -1,345 +0,0 @@ -#%RAML 1.0 -#In C4E review -title: Shopper Orders - -version: v1 -description: !include shopper-orders-description.md -protocols: [HTTPS] -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-orders/{version} -baseUriParameters: - shortCode: - description: Region-specific merchant identifier. - example: fd4gt8 - -uses: - OrderTraits: shopper-orders-traits.raml - dataTypes: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - ErrorResponse: ApiStandards.ErrorResponse - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /orders: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - OrderTraits.LocaleSpecific: - description: |- - Submits an order based on a prepared basket. The only considered value from the request body is basketId. - displayName: createOrder - responses: - '200': - description: |- - Success, the response body contains the submitted order. - body: - type: dataTypes.Order - examples: - dataTypes.Order: !include examples/order/order-post-response.raml - '400': - description: |- - Possible reasons: - - a failure during the creation of a gift certificate - for a gift certificate item. - - the basket ID in the request body is null or - empty. - - an invalid product item. - - an option with the specified option ID is - unknown. - - an option with the specified option value ID - is unknown. - - a product item is not available. - - the customer assigned to the basket does not - match the verified customer represented by the JWT token. - - the basket contains flashes. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml - '404': - description: |- - The basket with the given basket ID is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml - body: - type: dataTypes.Basket - examples: - dataTypes.Basket: !include examples/order/order-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{orderNo}': - type: CommerceCloudStandards.Organization - uriParameters: - orderNo: - description: The order number of the order to be modified. - minLength: 1 - type: string - example: "00000410" - get: - is: - - CommerceCloudStandards.SiteSpecific: - - OrderTraits.LocaleSpecific: - description: |- - Gets information for an order. - displayName: getOrder - responses: - '200': - description: |- - Success, the response body contains the order. - body: - type: dataTypes.Order - examples: - dataTypes.Order: !include examples/order/order-get-response.raml - '404': - description: |- - The order with the given order number is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - /lookup: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - OrderTraits.LocaleSpecific: - description: !include order-lookup-description.md - displayName: guestOrderLookup - responses: - '200': - description: |- - Success, the response body contains the order found with the order view code. - body: - type: dataTypes.Order - examples: - dataTypes.Order: !include examples/order/order-post-response.raml - '400': - description: |- - Possible reasons: - - order view code or email is missing. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml - '404': - description: |- - Order was not found. Possible reasons: - - the order with the given order no is unknown. - - the given order view code does not match the one in the order. - - the given email does not match the one in the order. - - the authorized customer of a registered customer order lookup does not match the customer in the order. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml - body: - type: dataTypes.OrderLookupRequest - examples: !include examples/order/order-lookup-request.raml - securedBy: - - CommerceCloudStandards.ShopperTokenTsob: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - /payment-instruments: - type: CommerceCloudStandards.Organization - post: - is: - - CommerceCloudStandards.SiteSpecific: - - OrderTraits.LocaleSpecific: - description: |- - Adds a payment instrument to an order. - - Details: - - The payment instrument is added with the provided details. The payment method must be applicable for the order see GET - /baskets/{basketId}/payment-methods, if the payment method is 'CREDIT_CARD' a paymentCard must be specified in the request. - - displayName: createPaymentInstrumentForOrder - responses: - '200': - description: |- - Success, the response body contains the order with the added payment instrument. - body: - type: dataTypes.Order - examples: - dataTypes.Order: !include examples/order/payment-instrument-post-response.raml - '400': - description: |- - Possible reasons: - - the given order number is invalid. - - the provided payment method is invalid or not applicable. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml - '404': - description: |- - The order with the given order number is unknown. - - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml - body: - type: dataTypes.OrderPaymentInstrumentRequest - examples: - dataTypes.OrderPaymentInstrumentRequest: !include examples/order/payment-instrument-post-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - '/{paymentInstrumentId}': - type: CommerceCloudStandards.Organization - delete: - is: - - CommerceCloudStandards.SiteSpecific: - - OrderTraits.LocaleSpecific: - description: |- - Removes a payment instrument of an order. - displayName: removePaymentInstrumentFromOrder - responses: - '200': - description: Success, the response body contains the order without the deleted payment instrument. - body: - type: dataTypes.Order - '404': - description: |- - Possible reasons: - - The order with the given order number is unknown. - - The payment instrument with the given order payment - instrument ID is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - patch: - is: - - CommerceCloudStandards.SiteSpecific: - - OrderTraits.LocaleSpecific: - description: |- - Updates a payment instrument of an order. - - Details: - - The payment instrument is updated with the provided details. The payment method must be applicable for the - order see GET /baskets/{basketId}/payment-methods, if the payment method is 'CREDIT_CARD' a - paymentCard must be specified in the request. - - displayName: updatePaymentInstrumentForOrder - responses: - '200': - description: |- - Success, the response body contains the order with the updated payment instrument. - body: - type: dataTypes.Order - examples: - dataTypes.Order: !include examples/order/payment-instrument-patch-response.raml - '400': - description: |- - Possible reasons: - - the basket payment instrument with the given - ID already is permanently masked. - - the provided payment method is invalid or not applicable. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml - '404': - description: |- - Possible reasons: - - The order with the given order number is unknown. - - The payment instrument with the given payment - instrument ID is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml - body: - type: dataTypes.OrderPaymentInstrumentRequest - examples: - dataTypes.Order: !include examples/order/payment-instrument-patch-request.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } - uriParameters: - paymentInstrumentId: - description: |- - The ID of the payment instrument to be updated. - minLength: 1 - type: string - example: b7679bea661819b2de78b9de7d - /payment-methods: - type: CommerceCloudStandards.Organization - get: - is: - - CommerceCloudStandards.SiteSpecific: - - OrderTraits.LocaleSpecific: - description: |- - Gets the applicable payment methods for an existing order considering the open payment amount only. - displayName: getPaymentMethodsForOrder - responses: - '200': - description: |- - Success, the response body contains the applicable payment methods for the order. - body: - type: dataTypes.PaymentMethodResult - examples: - dataTypes.PaymentMethodResult: !include examples/order/payment-methods-get-response.raml - '400': - description: |- - The customer assigned to the order does not - match the verified customer represented by the JSON Web Token (JWT). - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml - '404': - description: |- - The order with the given order number is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } - /taxes: - type: CommerceCloudStandards.Organization - get: - is: - - CommerceCloudStandards.SiteSpecific: - description: |- - This method gives you the external taxation data of the order transferred from the basket during - order creation. This endpoint can be called only if external taxation was used. See POST /baskets - for more information. - displayName: getTaxesFromOrder - responses: - '200': - description: |- - Success, the response body contains the external taxation from all items from the referenced - order. - body: - type: dataTypes.Taxes - examples: - dataTypes.Taxes: !include examples/order/order-tax-get-response.raml - '404': - description: |- - The order with the given order number is unknown. - body: - type: ErrorResponse - examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml - '409': - description: |- - Possible Reasons: - - The tax mode of the referenced basket is not set to EXTERNAL. - body: - type: ErrorResponse - examples: - dataTypes.InvalidTaxMode: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml - dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/.metadata.json b/testIntegration/stagingApis/customer/customers/.metadata.json deleted file mode 100644 index bab2c6f9..00000000 --- a/testIntegration/stagingApis/customer/customers/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/customers/0.0.29", - "name": "Customers", - "description": "Manage customer information within a customer list.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "customers", - "version": "0.0.29", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Customer" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/customer/customers/Examples/address-get.raml b/testIntegration/stagingApis/customer/customers/Examples/address-get.raml deleted file mode 100644 index b6b44cd3..00000000 --- a/testIntegration/stagingApis/customer/customers/Examples/address-get.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "address1": "123 Trailblazer Ave.", - "address2": "", - "addressId": "HomeAddress", - "city": "San Francisco", - "companyName": "", - "countryCode": "US", - "firstName": "Wei", - "fullName": "Wei Leung", - "jobTitle": "", - "lastName": "Leung", - "phone": "", - "postalCode": "", - "postBox": "", - "salutation": "Ms.", - "secondName": "", - "state_code": "CA", - "suffix": "", - "suite": "", - "title": "" - } diff --git a/testIntegration/stagingApis/customer/customers/Examples/addresses-body.raml b/testIntegration/stagingApis/customer/customers/Examples/addresses-body.raml deleted file mode 100644 index 4f5a30b4..00000000 --- a/testIntegration/stagingApis/customer/customers/Examples/addresses-body.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "addressId": "2", - "address1": "123 Trailblazer Ave.", - "postalCode": "94105", - "lastName": "Leung", - "title": "", - "salutation": "Ms", - "companyName": "Ursa Major Solar", - "secondName": "", - "phone": "415-555-1212", - "countryCode": "US", - "city": "San Francisco", - "address2": "", - "firstName": "Wei", - "jobTitle": "", - "stateCode": "CA" - } - diff --git a/testIntegration/stagingApis/customer/customers/Examples/addresses-get.raml b/testIntegration/stagingApis/customer/customers/Examples/addresses-get.raml deleted file mode 100644 index eaacb8d8..00000000 --- a/testIntegration/stagingApis/customer/customers/Examples/addresses-get.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 1, - "data": [ - { - "addressId": "1", - "city": "San Francisco", - "companyName": "Ursa Major Solar", - "countryCode": "US", - "creationDate": "2019-09-23T16:14:07.000Z", - "etag": "d288bfd83f75b23640b4bbab2b0d3f65a5c5e934dab818f2246b7c1aed5672f8", - "firstName": "Wei", - "fullName": "Leung", - "jobTitle": "", - "lastModified": "2019-09-23T16:23:19.000Z", - "lastName": "Leung", - "phone": "415-555-1212", - "postalCode": "94105", - "salutation": "Ms", - "secondName": "", - "stateCode": "CA" - } - ], - "offset": 0, - "total": 1 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/Examples/addresses-post.raml b/testIntegration/stagingApis/customer/customers/Examples/addresses-post.raml deleted file mode 100644 index 95835d82..00000000 --- a/testIntegration/stagingApis/customer/customers/Examples/addresses-post.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "addressId": "3", - "city": "San Francisco", - "companyName": "Ursa Major Solar", - "countryCode": "US", - "creationDate": "2019-09-23T20:49:38.370Z", - "etag": "8772fd1c59fed8313a6c1ad260544c116dc0af4bc13941957173244edba47d31", - "firstName": "Wei", - "fullName": "Wei Leung", - "jobTitle": "", - "lastModified": "2019-09-23T20:49:38.372Z", - "lastName": "Leung", - "phone": "415-555-1212", - "postalCode": "94105", - "salutation": "Ms", - "secondName": "", - "stateCode": "CA" - } diff --git a/testIntegration/stagingApis/customer/customers/Examples/customer-list-get.raml b/testIntegration/stagingApis/customer/customers/Examples/customer-list-get.raml deleted file mode 100644 index dcf65cc3..00000000 --- a/testIntegration/stagingApis/customer/customers/Examples/customer-list-get.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "SiteGenesis" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/Examples/customerGroupSearchResult.raml b/testIntegration/stagingApis/customer/customers/Examples/customerGroupSearchResult.raml deleted file mode 100644 index 42d4219e..00000000 --- a/testIntegration/stagingApis/customer/customers/Examples/customerGroupSearchResult.raml +++ /dev/null @@ -1,29 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 1, - "hits": [ - { - "creationDate": "2020-01-09T16:50:32.000Z", - "description": "Big Spenders", - "id": "Big Spenders", - "inDeletion": false, - "lastModified": "2020-01-09T16:50:32.000Z", - "memberCount": 109, - "rule": { - "description": "Customers who spend more than $1000 in the last month" - }, - "type": "dynamic" - } - ], - "query": { - "textQuery": { - "fields": [ - "id" - ], - "searchPhrase": "Big" - } - }, - "offset": 0, - "total": 1 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/Examples/customerSearchBody.raml b/testIntegration/stagingApis/customer/customers/Examples/customerSearchBody.raml deleted file mode 100644 index 14beeec6..00000000 --- a/testIntegration/stagingApis/customer/customers/Examples/customerSearchBody.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 2, - "offset": 50, - "query": { - "textQuery": { - "fields": [ - "credentials.login" - ], - "searchPhrase": "wleung" - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/Examples/customerSearchResult.raml b/testIntegration/stagingApis/customer/customers/Examples/customerSearchResult.raml deleted file mode 100644 index 1f398ea5..00000000 --- a/testIntegration/stagingApis/customer/customers/Examples/customerSearchResult.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 1, - "hits": [ - { - "data": { - "customerNo": "00004501", - "lastName": "Leung" - }, - "relevance": 4.075775146484375 - } - ], - "query": { - "textQuery": { - "fields": [ - "credentials.login" - ], - "searchPhrase": "wleung" - } - }, - "offset": 0, - "total": 1 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/Examples/post-customer-body.raml b/testIntegration/stagingApis/customer/customers/Examples/post-customer-body.raml deleted file mode 100644 index 3bd1310d..00000000 --- a/testIntegration/stagingApis/customer/customers/Examples/post-customer-body.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "credentials": { - "enabled": true, - "locked": false, - "login": "wleung", - "passwordQuestion": "" - }, - "lastName": "Leung", - "customerNo": "00005002" - } - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/Examples/post-customers.raml b/testIntegration/stagingApis/customer/customers/Examples/post-customers.raml deleted file mode 100644 index 81affc85..00000000 --- a/testIntegration/stagingApis/customer/customers/Examples/post-customers.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "creationDate": "2019-09-23T19:46:07.412Z", - "credentials": { - "enabled": true, - "locked": false, - "login": "wleung" - }, - "customerId": "adg2p1zObo8JDt3iXZCNIZBcai", - "customerNo": "00005001", - "lastModified": "2019-09-23T19:46:07.417Z", - "lastName": "Leung" - } - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/Traits/AlreadyExists.raml b/testIntegration/stagingApis/customer/customers/Traits/AlreadyExists.raml deleted file mode 100644 index b94d287f..00000000 --- a/testIntegration/stagingApis/customer/customers/Traits/AlreadyExists.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 409 conflict in Data Customer Groups API. -responses: - '409': - description: Conflict. This error is thrown when attempting to create a record that already exists. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Customer Group Already Exists", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-group-already-exits", - "detail": "The customer group with ID 'test_customergroup' already exists", - "customerGroupId": "test_customergroup" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/Traits/BadRequest.raml b/testIntegration/stagingApis/customer/customers/Traits/BadRequest.raml deleted file mode 100644 index b7c23fd3..00000000 --- a/testIntegration/stagingApis/customer/customers/Traits/BadRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Customers API. -responses: - 400: - description: | - Bad Request. Thrown in case a specified parameter value is unknown. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Bad Request", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-query-parameter", - "detail": "offset-BAD-REQUEST parameters are not defined in RAML." - } diff --git a/testIntegration/stagingApis/customer/customers/Traits/CustomerGroupSearchBadRequest.raml b/testIntegration/stagingApis/customer/customers/Traits/CustomerGroupSearchBadRequest.raml deleted file mode 100644 index 6c778326..00000000 --- a/testIntegration/stagingApis/customer/customers/Traits/CustomerGroupSearchBadRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Customer Search API. -responses: - 400: - description: | - Bad Request. Thrown if the search term in term query does not match any of the customer group or if the query is ill-formed. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Customer Group Type Invalid", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-query-parameter", - "detail": "The customer group type 'stat' is invalid." - } diff --git a/testIntegration/stagingApis/customer/customers/Traits/Forbidden.raml b/testIntegration/stagingApis/customer/customers/Traits/Forbidden.raml deleted file mode 100644 index f9992084..00000000 --- a/testIntegration/stagingApis/customer/customers/Traits/Forbidden.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 403 forbidden in Data Customer Groups API. -responses: - '403': - description: Forbidden. This error is thrown when attempting to delete a system customer group. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "System Customer Group Create Forbidden", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/system-customer-group-create-forbidden", - "detail": "The creation of system customer group with ID 'test_customergroup' is not allowed", - "customerGroupId": "test_customergroup" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/Traits/NotFound.raml b/testIntegration/stagingApis/customer/customers/Traits/NotFound.raml deleted file mode 100644 index c35db0b3..00000000 --- a/testIntegration/stagingApis/customer/customers/Traits/NotFound.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 not found in Data Customer Groups API. -responses: - '404': - description: Not Found. This error is thrown if the ID does not match any of the customer group sites or if the ID is ill-formed. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Customer List Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/customer-list-not-found", - "detail": "No customer list with ID 'SiteGenesis-NOT-FOUND' could be found.", - "customerListId": "SiteGenesis-NOT-FOUND" - } diff --git a/testIntegration/stagingApis/customer/customers/Traits/Unauthorized.raml b/testIntegration/stagingApis/customer/customers/Traits/Unauthorized.raml deleted file mode 100644 index 8fee692d..00000000 --- a/testIntegration/stagingApis/customer/customers/Traits/Unauthorized.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 401 response in Data Catalogs when an invalid client_id is passed. - - - -responses: - 401: - description: | - Unauthorized. Your Client ID is invalid, or you are not allowed to access - the content provided by the requested URL. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "hbGciOiJIUzI1NiIsInR5cCI6Ikp" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/customers-description.md b/testIntegration/stagingApis/customer/customers/customers-description.md deleted file mode 100644 index 5fb4b874..00000000 --- a/testIntegration/stagingApis/customer/customers/customers-description.md +++ /dev/null @@ -1,9 +0,0 @@ -# API Overview - -The Customers API enables you to search for and manage customer information within a customer list. It also enables you to search for customer groups. - -Once you find the customer, you can also use the API to manage customer addresses. - -The `customerNo` is created when you create a shopper record. You can create a shopper record using the Customers API or Business Manager. For details, see [registerCustomer](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-customers?meta=registerCustomer) and [Create and Manage Customer Records](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-customer-records.html?q=create%20customer). - -![b2c-commerce-customers-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-customers-screenshot-1.png) diff --git a/testIntegration/stagingApis/customer/customers/customers.raml b/testIntegration/stagingApis/customer/customers/customers.raml deleted file mode 100644 index 997d554a..00000000 --- a/testIntegration/stagingApis/customer/customers/customers.raml +++ /dev/null @@ -1,744 +0,0 @@ -#%RAML 1.0 -title: Customers -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/customer/customers/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include customers-description.md - -uses: - CustomerListsTraits: data-customer-traits-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Credentials: - description: Document representing the credentials of a customer. - properties: - enabled: - description: A flag indicating whether the customer is enabled and can log in. - type: boolean - required: false - example: true - locked: - description: A flag indicating whether the customer account is locked. - type: boolean - required: false - example: false - login: - description: The login of the customer. - maxLength: 256 - type: string - example: "wleung" - passwordQuestion: - description: The password question. - maxLength: 256 - type: string - required: false - example: "Pet Name?" - Customer: - description: Person or entity who shops on Commerce Cloud storefronts by creating a shopper account in Commerce Cloud. - properties: - birthday: - description: The customer's birthday. - type: date-only - required: false - example: 1999-12-31 - companyName: - description: The customer's company name. - maxLength: 256 - type: string - required: false - example: "Ursa Major Solar" - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - credentials: - description: The customer's credentials. - type: Credentials - required: false - customerId: - description: |- - The customer's ID. Both registered and guest customers have a - customer ID. - maxLength: 28 - type: string - required: false - example: "wleung" - customerNo: - description: The customer's number. - maxLength: 100 - type: string - example: "D100201" - email: - description: The customer's email address. - maxLength: 256 - type: string - required: false - example: "wleung@example.com" - fax: - description: |- - The customer's fax number. - The length is restricted to 32 characters. - maxLength: 32 - type: string - required: false - example: "415-555-1213" - firstName: - description: The customer's first name. - maxLength: 256 - type: string - required: false - example: "Wei" - gender: - description: The customer's gender. - type: integer - format: int32 - required: false - example: 2 - jobTitle: - description: The customer's job title. - maxLength: 256 - type: string - required: false - example: "" - lastLoginTime: - description: The last login time of the customer. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - lastName: - description: The customer's last name. - maxLength: 256 - type: string - example: "Leung" - lastVisitTime: - description: The last visit time of the customer. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - phoneBusiness: - description: The customer's business phone number. - maxLength: 32 - type: string - required: false - example: "" - phoneHome: - description: The customer's home phone number. - maxLength: 32 - type: string - required: false - example: "415-555-1211" - phoneMobile: - description: The customer's mobile phone number. - maxLength: 32 - type: string - required: false - example: "415-555-1212" - preferredLocale: - description: The customer's preferred locale. - type: string - required: false - example: "en_US" - previousLoginTime: - description: The time when the customer previously logged in. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - previousVisitTime: - description: The time when the customer previously visited the store. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - primaryAddress: - description: The customers primary or default address. - type: CustomerAddress - required: false - salutation: - description: The customer's salutation. - maxLength: 256 - type: string - required: false - example: "Ms." - secondName: - description: The customer's second name. - maxLength: 256 - type: string - required: false - example: "Leung" - suffix: - description: The customer's suffix (for example, "Jr." or "Sr."). - maxLength: 256 - type: string - required: false - example: "" - title: - description: The customer's title (for example, "Mrs" or "Mr"). - maxLength: 256 - type: string - required: false - example: "" - CustomerAddress: - description: Any address that is associated with a customer (billing, shipping, mailing, and so on). - properties: - address1: - description: The customer's first address. - maxLength: 256 - type: string - required: false - example: "123 Trailblazer Ave." - address2: - description: The customer's second address value. - maxLength: 256 - type: string - required: false - example: "" - addressId: - description: The customer address ID. - maxLength: 256 - type: string - example: "Home" - city: - description: The customer's city. - maxLength: 256 - type: string - required: false - example: "San Francisco" - companyName: - description: The customer's company name. - maxLength: 256 - type: string - required: false - example: "Ursa Major Solar" - countryCode: - description: The customer's two-character country code per ISO 3166-1 alpha-2. - maxLength: 2 - type: string - example: "US" - pattern: ^([A-Z][A-Z])$ - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - etag: - description: The generated eTag representing the state of the customer address. - type: string - required: false - firstName: - description: The customer's first name. - maxLength: 256 - type: string - required: false - example: "Wei" - fullName: - description: The concatenation of the customer's first, middle, last names, and suffix. - type: string - required: false - example: "Wei Leung" - jobTitle: - description: The customer's job title. - maxLength: 256 - type: string - required: false - example: "" - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - lastName: - description: The customer's last name. - maxLength: 256 - type: string - example: "Leung" - phone: - description: The customer's phone number. - maxLength: 32 - type: string - required: false - example: "415-555-1212" - postBox: - description: The customer's post box. - maxLength: 256 - type: string - required: false - example: "" - postalCode: - description: The customer's postal code. - maxLength: 256 - type: string - required: false - example: "94105" - salutation: - description: The customer's salutation. - maxLength: 256 - type: string - required: false - example: "Ms." - secondName: - description: The customer's second name. - maxLength: 256 - type: string - required: false - example: "Leung" - stateCode: - description: The customer's state. - maxLength: 256 - type: string - required: false - example: "CA" - suffix: - description: The customer's suffix. - maxLength: 256 - type: string - required: false - example: "" - suite: - description: The customer's suite. - maxLength: 32 - type: string - required: false - example: "" - title: - description: The customer's title. - maxLength: 256 - type: string - required: false - example: "" - CustomerAddressResult: - description: Result document containing an array of customer addresses. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - required: false - example: 10 - data: - description: The array of customer address documents. - type: CustomerAddress[] - required: false - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - required: false - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - required: false - example: 10 - CustomerList: - description: Document representing a customer list. - properties: - id: - description: The ID of the customer list. - minLength: 1 - type: string - example: "Site1CustomerList" - CustomerSearchHit: - description: Document representing a customer search hit. - properties: - data: - description: List of found customers. - type: Customer - relevance: - description: The hit's relevance score. - type: number - format: double - example: 1.0 - CustomerSearchResult: - description: Document representing a customer search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of search hits. Can be empty. - type: CustomerSearchHit[] - CustomerGroupRule: - description: Customer Group Rule - properties: - description: - description: Customer Group Rule description. Describing its conditions in natural language. - type: string - example: "Customers who spend more than $1000 in the last month" - CustomerGroup: - description: Document representing a customer group. - properties: - creationDate: - description: The date the customer group was created. - type: string - description: - description: Customer Group description. - type: string - example: "Customers who spent more than $1000 in last month" - id: - description: Customer Group id. - type: string - example: "Big Spenders" - inDeletion: - description: Boolean to indicate if the customer group is marked for deletion. - type: boolean - example: false - memberCount: - description: Number of members in the customer group - type: integer - example: 109 - rule: - description: Customer Group Rule - type: CustomerGroupRule - type: - description: Customer Group Type. - type: string - enum: - - system - - dynamic - - static - example: "static" - CustomerGroupSearchResult: - description: Document representing a customer group search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of search hits. Can be empty. - type: CustomerGroup[] -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /customer-lists: - /{customerListId}/customer-search: - post: - description: |- - Action to search for customers in a customer list. - The query attribute specifies a complex query that can be used to narrow down the search. These are the list - of searchable attributes: - - | Attribute | Type | - |-----------|--------| - | customerNo| String | - | firstName | String | - | secondName | String | - | lastName | String | - | suffix | String | - | salutation | String | - | title | String | - | fax| String | - | phoneHome | String | - | phoneBusiness | String | - | phoneMobile | String | - | email | String | - | gender | Integer | - | companyName | String | - | credentials.login | String | - | credentials.enabled | Boolean | - - - displayName: searchCustomerInCustomerList - is: - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.BadRequest - - CustomerListsTraits.NotFound - responses: - '200': - description: Success - body: - application/json: - type: CustomerSearchResult - examples: - result: !include Examples/customerSearchResult.raml - body: - application/json: - type: CommerceCloudStandards.SearchRequest - examples: - result: !include Examples/customerSearchBody.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists,sfcc.customerlists.rw] } - uriParameters: - customerListId: - description: The customer list ID to search in. - maxLength: 256 - minLength: 1 - type: string - example: "Site1CustomerList" - /{listId}/customers: - post: - description: | - Action to create a new customer. The customer is created using the specified credentials and customer - information. This action verifies the following: - - - Login acceptance criteria and uniqueness. - - Mandatory customer properties. - - If the action fails to create the customer, it returns a 400 fault with an appropriate message. - displayName: createCustomerList - is: - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - - CustomerListsTraits.BadRequest - responses: - '200': - description: Success - body: - application/json: - type: Customer - examples: - customers-result: !include Examples/post-customers.raml - body: - application/json: - type: Customer - examples: - body: !include Examples/post-customer-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists.rw] } - /{customerNo}: - delete: - description: Deletes the customer, including all related information like the customer addresses. - displayName: deleteCustomerFromCustomerList - is: - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - - CustomerListsTraits.BadRequest - responses: - '204': - description: No Content - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists.rw] } - get: - description: Action to get customer information. - displayName: getCustomerFromCustomerList - is: - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - - CustomerListsTraits.BadRequest - responses: - '200': - description: Success - body: - application/json: - type: Customer - examples: - get-customer: !include Examples/post-customers.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists,sfcc.customerlists.rw] } - patch: - description: |- - Updates the customer with the specified information. The customer number is allowed to be updated but results in a - CustomerNumberAlreadyInUseException if there is another customer with the same customer number existing. - displayName: updateCustomerInCustomerList - is: - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - - CustomerListsTraits.BadRequest - responses: - '200': - description: Success - body: - application/json: - type: Customer - examples: - patch-example: !include Examples/post-customers.raml - body: - application/json: - type: Customer - examples: - patch-body: !include Examples/post-customer-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists.rw] } - put: - description: | - Action to create a new customer. The customer is created using the specified customer number, credentials, and - customer information. This action verifies the following: - - - Login acceptance criteria and uniqueness. - - Mandatory customer properties. - - If the action fails to create the customer, it returns a 400 fault with an appropriate message. - displayName: createCustomerInCustomerList - is: - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - - CustomerListsTraits.BadRequest - responses: - '201': - description: Created - body: - application/json: - type: Customer - examples: - put-example: !include Examples/post-customers.raml - '200': - description: Success - body: - application/json: - type: Customer - examples: - put-example: !include Examples/post-customers.raml - body: - application/json: - type: Customer - examples: - put-body: !include Examples/post-customer-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists.rw] } - uriParameters: - customerNo: - description: The customer number. - minLength: 1 - type: string - example: "D100201" - /addresses: - get: - description: |- - Action that returns a pageable list of all customer addresses. The - default page size is 10 customer addresses. - displayName: getAddressesForCustomerFromCustomerList - is: - - CustomerListsTraits.BadRequest - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - - CustomerListsTraits.offset-paginated: - maxLimit: 50 - defaultSize: 25 - responses: - '200': - description: Success - body: - application/json: - type: CustomerAddressResult - examples: - address-example: !include Examples/addresses-get.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists,sfcc.customerlists.rw] } - post: - description: |- - The action creates a new customer address with the given address - information. - displayName: createAddressForCustomerInCustomerList - is: - - CustomerListsTraits.BadRequest - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - responses: - '200': - description: Success - body: - application/json: - type: CustomerAddress - examples: - address-example: !include Examples/addresses-post.raml - body: - application/json: - type: CustomerAddress - examples: - address-body: !include Examples/addresses-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists.rw] } - /{addressId}: - get: - description: |- - Action that returns a single customer address from a customer list. - displayName: getAddressForCustomerFromCustomerList - is: - - CustomerListsTraits.BadRequest - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - responses: - '200': - description: Success - body: - application/json: - type: CustomerAddress - examples: - address-example: !include Examples/address-get.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists,sfcc.customerlists.rw] } - delete: - description: Action which deletes a customer address. - displayName: removeAddressForCustomerInCustomerList - is: - - CustomerListsTraits.BadRequest - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - responses: - '204': - description: No Content - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists.rw] } - patch: - description: Action which updates an address of a customer with the given address information. - displayName: updateAddressForCustomerInCustomerList - is: - - CustomerListsTraits.BadRequest - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.NotFound - responses: - '200': - description: Success - body: - application/json: - type: CustomerAddress - examples: - address: !include Examples/addresses-post.raml - body: - application/json: - type: CustomerAddress - examples: - address-body: !include Examples/addresses-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customerlists.rw] } - uriParameters: - addressId: - description: The address ID. - minLength: 1 - type: string - example: "Home" - /customer-group-search: - post: - description: |- - Search for customer groups in a given Site Id. - The query attribute specifies a complex query that can be used to narrow down the search. These are the list - of searchable attributes: - - | Attribute | Type | - |-----------|--------| - | id| String | - | description | String | - | type | String | - - Note: This endpoint is available with the B2C Commerce release 24.2. - - displayName: searchCustomerGroup - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerListsTraits.Unauthorized - - CustomerListsTraits.CustomerGroupSearchBadRequest - responses: - '200': - description: Success - body: - application/json: - type: CustomerGroupSearchResult - examples: - result: !include Examples/customerGroupSearchResult.raml - body: - application/json: - type: CommerceCloudStandards.SearchRequest - examples: - result: !include Examples/customerSearchBody.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.customergroups,sfcc.customergroups.rw] } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/data-customer-traits-library.raml b/testIntegration/stagingApis/customer/customers/data-customer-traits-library.raml deleted file mode 100644 index ce829faa..00000000 --- a/testIntegration/stagingApis/customer/customers/data-customer-traits-library.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml -types: - ErrorResponse: ApiStandards.ErrorResponse - -traits: - AlreadyExists: !include Traits/AlreadyExists.raml - Unauthorized: !include Traits/Unauthorized.raml - BadRequest: !include Traits/BadRequest.raml - NotFound: !include Traits/NotFound.raml - Forbidden: !include Traits/Forbidden.raml - offset-paginated: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml - CustomerGroupSearchBadRequest: !include Traits/CustomerGroupSearchBadRequest.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange.json b/testIntegration/stagingApis/customer/customers/exchange.json deleted file mode 100644 index 4f798d2d..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "0.0.29", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "customers.raml", - "backwardsCompatible": false, - "assetId": "customers", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Customers", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml deleted file mode 100644 index 1f282c6d..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - -uses: - Pagination: dataTypes/pagination-types.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml deleted file mode 100644 index 40ff7f98..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml deleted file mode 100644 index 240efb3e..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml +++ /dev/null @@ -1,92 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json deleted file mode 100644 index 43604496..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.8","apiVersion":"v1","dependencies":[],"metadata":{"projectId":"3ca896ab-161d-4b74-aac8-2ad01f3f8e57","branchId":"master","commitId":"8cb35217b287a4dab4e2031fcd6fbe34fb83caf1"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml deleted file mode 100644 index 3afcaaf8..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml deleted file mode 100644 index 9dde8bcd..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: number - description: The starting offset returned. - SFDC-Pagination-Limit: - type: number - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: number - description: The total number of records available. - SFDC-Pagination-Result-Count?: - type: number - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index 4463d386..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml deleted file mode 100644 index 1fe2d231..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml deleted file mode 100644 index 419c821f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml +++ /dev/null @@ -1,358 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int32 - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json deleted file mode 100644 index 9012e41c..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.15","metadata":{"projectId":"b14c2b6a-2d86-46c1-9038-7cbedc656132","branchId":"master","commitId":"f6d54dade2b1aeed39ef12b62e6f8e8b9d0b48cd"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 86f76c76..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index f29a317f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 9517ea0e..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml deleted file mode 100644 index b00dcea6..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml deleted file mode 100644 index 5f1a0bcb..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`ShopperTokenTsob`:** a security scheme for endpoints that only allow the ShopperTokenTsob token type (tsob = Trusted system on behalf). - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json deleted file mode 100644 index 89dcc88a..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.20"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json deleted file mode 100644 index 3b7dd050..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/customer/customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/.metadata.json b/testIntegration/stagingApis/customer/shopper-context/.metadata.json deleted file mode 100644 index 46aa3bf5..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/.metadata.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-context/0.0.30", - "name": "Shopper Context", - "description": "The Shopper Context API enables developers to build highly contextualized shopping experiences for shoppers.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-context", - "version": "0.0.30", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Customer" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-400-example.raml b/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-400-example.raml deleted file mode 100644 index 151bc149..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-400-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/usid-not-matching-with-token", - "detail": "Usid in incoming request does not match Usid in token.", - "title": "Usid not matching with token" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-401-example.raml b/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-401-example.raml deleted file mode 100644 index dc8c564a..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-401-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized", - "title": "Unauthorized", - "detail": "Your shopper JWT is invalid and could not be used to identify the API client." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-403-example.raml b/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-403-example.raml deleted file mode 100644 index 4142bef5..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-403-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", - "title": "Forbidden", - "detail": "Your shopper JWT is valid, but you have no permissions to access the resource." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-404-example.raml b/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-404-example.raml deleted file mode 100644 index 15f05df2..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-404-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shopper-context-no-found", - "detail": "Shopper Context for ORGANIZATION_ID: f_ecom_bhbv_prd and USID: 7e1f65fb-185c-4788-8cec-05fef8dac77d not found in Repository.", - "title": "Shopper Context Not Found" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-example.raml b/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-example.raml deleted file mode 100644 index 9292f3d2..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-example.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample -# This example is for shopper context request/response -value: - { - "effectiveDateTime": "2020-12-20T00:00:00Z", - "sourceCode": "wii1-98", - "customQualifiers" : - { - "deviceType": "mobile", - "ipAddress": "189.0.0.0", - "operatingSystem": "Android" - }, - "assignmentQualifiers" : - { - "store": "boston" - }, - "customerGroupIds" : [ "BigSpenders","MobileUsers" ], - "clientIp": "12.12.12.1" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-update-request-example.raml b/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-update-request-example.raml deleted file mode 100644 index 1cf686b9..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-update-request-example.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 NamedExample -# This example is for shopper context request/response -value: - { - "effectiveDateTime": null, - "customQualifiers" : - { - "deviceType": "iPad", - "operatingSystem": null, - "storeId": "SLC1", - }, - "assignmentQualifiers" : - { - "store": "london" - }, - "clientIp": "12.12.12.1", - "geoLocation": { - "countryCode": "US", - "country": "United States of America", - "city": "Boston", - "postalCode": "01730", - "metroCode": "M234", - "region": "NA", - "regionCode": "12345", - "latitude": 10.11, - "longitude": 198.34 - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-update-response-example.raml b/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-update-response-example.raml deleted file mode 100644 index f14bc0e7..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-update-response-example.raml +++ /dev/null @@ -1,29 +0,0 @@ -#%RAML 1.0 NamedExample -# This example is for shopper context request/response -value: - { - "sourceCode": "wii1-98", - "customQualifiers" : - { - "deviceType": "iPad", - "ipAddress": "189.0.0.0", - "storeId": "SLC1" - }, - "assignmentQualifiers" : - { - "store": "london" - }, - "customerGroupIds" : [ "BigSpenders","MobileUsers" ], - "clientIp": "12.12.12.1", - "geoLocation": { - "countryCode": "US", - "country": "United States of America", - "city": "Boston", - "postalCode": "01730", - "metroCode": "M234", - "region": "NA", - "regionCode": "12345", - "latitude": 10.11, - "longitude": 198.34 - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange.json b/testIntegration/stagingApis/customer/shopper-context/exchange.json deleted file mode 100644 index 45ae5e0d..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "0.0.30", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-context.raml", - "assetId": "shopper-context", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Context", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml deleted file mode 100644 index 4530d24e..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml deleted file mode 100644 index 0a2aefa8..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml +++ /dev/null @@ -1,111 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/example.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json deleted file mode 100644 index b7967978..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.17"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json deleted file mode 100644 index 3b7dd050..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/shopper-context-description.md b/testIntegration/stagingApis/customer/shopper-context/shopper-context-description.md deleted file mode 100644 index a2b212ce..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/shopper-context-description.md +++ /dev/null @@ -1,35 +0,0 @@ -# API Overview - -With the Shopper Context API, you can set any context information as a key/value pair and use it to retrieve personalized promotions, payment methods, and shipping methods. The context information that is set is evaluated against the customer group definitions to determine a customer group (shopper segment) and is then used to activate the experiences that are associated with a particular segment, such as promotions. - -You can also get personalized API responses using Shopper Context in the [Open Commerce API](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/OCAPI/current/usage/OpenCommerceAPI.html) (OCAPI). Support for both the B2C Commerce API and OCAPI allows shopper context to be used in hybrid deployments. - -**Warning** -Access tokens whose scope includes the Shopper Context API are powerful: they can activate specific promotions and be used to see how a storefront would appear in the future. - -Recommended usage of Shopper Context is setting context using a secure backend channel with a private client. Do not make direct calls through a browser or similar client in which the data can be viewed. - -If you attempt to add a Shopper Context scope for a tenant when creating a new public client in SLAS, a warning message is displayed. - -**Note**: - -For guest shoppers, the context is valid for 1 day and for registered shoppers, 7 days. To extend the context set, create a new context. As a best practice, periodically refresh your contexts to ensure that the right personalized experience is rendered for your shoppers. - -With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` is required for all new customers, and a bad request response code is returned for requests without a `siteId`. - -## Authentication & Authorization - -To use the Shopper Context API, you must: - -- Get a JSON Web Token (JWT) for the Shopper Login and API Access Service (SLAS). -- Add `sfcc.shopper-context.rw` to the scopes configuration for the SLAS API client. - -For more information, see [Authorization for Shopper APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) in the Get Started guides. - -**Warning**: As with all APIs, never store access tokens in the browser because this creates a security vulnerability. - -## Use Cases - -To integrate Shopper Context API geolocation features with your storefront, see [Shopper Geolocation](https://developer.salesforce.com/docs/commerce/commerce-api/guide/shopper-context-geolocation.html). - -For additional usage information, see the [Shopper Context Guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/shopper-context-api.html). diff --git a/testIntegration/stagingApis/customer/shopper-context/shopper-context.raml b/testIntegration/stagingApis/customer/shopper-context/shopper-context.raml deleted file mode 100644 index 3dd90155..00000000 --- a/testIntegration/stagingApis/customer/shopper-context/shopper-context.raml +++ /dev/null @@ -1,382 +0,0 @@ -#%RAML 1.0 -title: Shopper Context -description: !include shopper-context-description.md -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/shopper/shopper-context/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -traits: -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml -types: - ShopperContext: - description: A shoppers' context represented as key-value string pairs. - type: object - properties: - effectiveDateTime: - required: false - type: datetime | nil - description: Qualifier to set the effective date time for the context to apply. For example, "Shop the Future" use cases. If not provided, the current dateTime will be assumed. - sourceCode: - required: false - type: string | nil - description: Qualifier to set the source code for the context to apply. Set the source code to evaluate source code group that triggers the promotion (campaign assignment) and Price books (assigned to Source code group). - customerGroupIds: - required: false - type: array - description: Qualifier to set the Customer Group Ids for the context to apply. Set the Customer Group Ids to evaluate customer groups that trigger the promotions (campaign assignment) assigned to the customer groups. - items: - type: string - maxLength: 256 - customQualifiers: - type: object - description: Map of custom qualifiers for the shopper context. Set this object to trigger pricing and promotion experiences using a dynamic session-based customer group. Object size is limited to 20 key-value pairs (properties). - properties: - //: - type: string | nil - required: false - assignmentQualifiers: - type: object - description: Map of assignment qualifiers for the shopper context. Set this object when using the assignment framework to activate experiences based on assignment qualifiers. Currently, only pricing and promotion experiences are supported. Object size is limited to 20 key-value pairs (properties). - properties: - //: - type: string | nil - required: false - clientIp: - type: string - description: |- - The IP Address of the client. If the client IP is not a valid IPv4 address, a Bad Request (400) error is thrown. This property is available with B2C Commerce version 24.7. - - When `clientIp` is set, the geolocation based on the `clientIp` is returned in the `X-Geolocation` header in the response. Note: Use/retrieve this header in a case insensitive manner. - - However, if the `geoLocation` attribute is also set in the context, it takes precedence over the `clientIp`, and the `X-Geolocation` header returns the geolocation based on the `geoLocation` attribute. - - The query parameter `evaluateContextWithClientIp` determines whether to evaluate the context using the provided `clientIp`. - - If `evaluateContextWithClientIp` is set to `true`: - - The `clientIp` is saved and used in subsequent requests. - - Note: If `geoLocation` is also saved in the context, it takes precedence over the `clientIp`. - - If `evaluateContextWithClientIp` is set to `false`: - - The `clientIp` is not saved and is not used in subsequent requests. - required: false - geoLocation: - type: object - description: The geographic location of the client. When you set a geolocation, it is saved as context for subsequent requests. This overrides any geolocation context previously saved using `clientIp`. This property is available with B2C Commerce version 24.7. - required: false - properties: - city: - description: The city name associated with this location. - type: string - required: false - country: - description: The country name associated with this location. - type: string - required: false - countryCode: - description: The ISO country code associated with this location. - type: string - required: false - latitude: - description: The latitude coordinate, which is a number between -90.0 and +90.0, associated with this location. - type: number - format: double - required: false - longitude: - description: The longitude coordinate, which is a number between -180.0 and +180.0, associated with this location. - type: number - format: double - required: false - metroCode: - description: The metro code associated with this location. - type: string - required: false - postalCode: - description: The postal code associated with this location. - type: string - required: false - region: - description: The region (subdivision) name for this location. Corresponds with "state" in the USA. - type: string - required: false - regionCode: - description: The region (province or state) code for this location. - type: string - required: false - example: !include Examples/shopper-context-example.raml - - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /shopper-context/{usid}: - get: - description: |- - Gets the shopper's context based on the shopperJWT. - - With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. - displayName: getShopperContext - queryParameters: - siteId: - description: The identifier of the site to which the request is being sent. With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting January 2025, `siteId` will be required for all customers, and a bad request response code will be returned for requests without a `siteId`. - example: - SiteGenesis - type: string - required: false - minLength: 1 - responses: - '200': - description: Success retrieving Shopper Context. - headers: - X-Geolocation: - description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set `geoLocation` takes precedence. - type: string - required: false - example: "CountryCode: US; Country: United States; MetroCode: 0; Latitude: 37.751; Longitude: -97.822" - body: - application/json: - type: ShopperContext - examples: - shopperContext: !include Examples/shopper-context-example.raml - '400': - description: Usid in incoming request does not match Usid in token. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-400-example.raml - '401': - description: Your shopper JWT is invalid and could not be used to identify the API client. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-401-example.raml - '403': - description: Your shopper JWT is valid, but you have no permissions to access the resource. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-403-example.raml - '404': - description: Shopper Context for ORGANIZATION_ID - f_ecom_bhbv_prd and USID - 7e1f65fb-185c-4788-8cec-05fef8dac77d not found in Repository. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-404-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-context, sfcc.shopper-context.rw] } - put: - description: |- - Creates the shopper's context based on shopperJWT. If a shopper context already exists, it replaces the entire existing context. - - With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. - displayName: createShopperContext - queryParameters: - siteId: - description: The identifier of the site to which the request is being sent. With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` will be required for all customers, and a bad request response code will be returned for requests without a `siteId`. - example: - SiteGenesis - type: string - required: false - minLength: 1 - evaluateContextWithClientIp: - description: | - Determines whether to evaluate the context using the provided `clientIp`. This property is available with B2C Commerce version 24.7. - - If `evaluateContextWithClientIp` is set to `true`: - - The `clientIp` is saved and used in subsequent requests. If `geoLocation` is also saved in the context, it takes precedence over the `clientIp`. - - - If `evaluateContextWithClientIp` is set to `false`: - - The `clientIp` is not saved and will not be used in subsequent requests. - example: - false - type: boolean - required: false - body: - application/json: - type: ShopperContext - examples: - shopperContext: !include Examples/shopper-context-example.raml - responses: - '201': - description: Created Shopper Context. - headers: - X-Geolocation: - description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set, `geoLocation` takes precedence. - type: string - required: false - example: "CountryCode: US; Country: United States; MetroCode: 0; Latitude: 37.751; Longitude: -97.822" - '200': - description: Updated Shopper Context. - headers: - X-Geolocation: - description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set `geoLocation` takes precedence. - type: string - required: false - example: "CountryCode: US; Country: United States; MetroCode: 0; Latitude: 37.751; Longitude: -97.822" - '400': - description: Usid in incoming request does not match Usid in token. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-400-example.raml - '401': - description: Your shopper JWT is invalid and could not be used to identify the API client. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-401-example.raml - '403': - description: Your shopper JWT is valid, but you have no permissions to access the resource. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-403-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-context.rw] } - delete: - description: |- - Gets the shopper's context based on the shopperJWT. - - With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. - displayName: deleteShopperContext - queryParameters: - siteId: - description: The identifier of the site to which the request is being sent. With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` will be required for all customers, and a bad request response code will be returned for requests without a `siteId`. - example: - SiteGenesis - type: string - required: false - minLength: 1 - responses: - '204': - description: Delete successfull. - '400': - description: Usid in incoming request does not match Usid in token. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-400-example.raml - '401': - description: Your shopper JWT is invalid and could not be used to identify the API client. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-401-example.raml - '403': - description: Your shopper JWT is valid, but you have no permissions to access the resource. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-403-example.raml - '404': - description: Shopper Context for ORGANIZATION_ID - f_ecom_bhbv_prd and USID - 7e1f65fb-185c-4788-8cec-05fef8dac77d not found in Repository. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-404-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-context.rw] } - patch: - description: |- - Updates an existing shopper's context based on the Shopper JWT. If the shopper context exists, it's updated with the patch body. - - If a new attribute that does not exist in the existing shopper context is present, it is added to the context. - -If an attribute is already present in the existing shopper context, its value is replaced by the corresponding value from the new shopper context in the request body as follows: - - `custom qualifiers` or `assignment qualifiers`: - - If the individual qualifier key exists, it is overwritten with the new value. - - If the value of the key is set to null, it is deleted from the existing shopper context. - - If an empty `custom qualifiers` or `assignment qualifiers` object `{}` is passed, the entire qualifier object is deleted. - - `effectiveDateTime` or `sourceCode` or `clientIp`: - - If the new value is set to an empty string (""), it is deleted from the existing shopper context. - - If the new value is set to null, it is ignored. - - If the new value is not empty or null, it overwrites the existing value. - - - `customerGroupIds`: - - If a list of `customerGroupIds` exists, it is replaced by the new list of customer group IDs from the request. - - If `customerGroupIds` is set to an empty array [], the existing list in the shopper context is deleted. - - - `geoLocation`: - - If it exists, the entire `geoLocation` object is replaced with the new value. - - If the new value is set to null, it is ignored. - - If an empty `geoLocation` object `{}` is passed, it is deleted. - - With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. - displayName: updateShopperContext - queryParameters: - siteId: - description: The identifier of the site to which the request is being sent. With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` will be required for all customers, and a bad request response code will be returned for requests without a `siteId`. - example: - SiteGenesis - type: string - required: false - minLength: 1 - evaluateContextWithClientIp: - description: | - Determines whether to evaluate the context using the provided `clientIp`. This property is available with B2C Commerce version 24.7. - - If `evaluateContextWithClientIp` is set to `true`: - - The `clientIP` is saved and used in subsequent requests. - - - If `evaluateContextWithClientIp` is set to `false`: - - The `clientIP` is not saved and will not be used in subsequent requests. - example: - false - type: boolean - required: false - body: - application/json: - type: ShopperContext - examples: - shopperContext: !include Examples/shopper-context-update-request-example.raml - responses: - '200': - description: Updated Shopper Context. - headers: - X-Geolocation: - type: string - required: false - example: "CountryCode: US; Country: United States of America; City: Boston; PostalCode: 01730; MetroCode: M234; Region: NA; RegionCode: 12345; Latitude: 10.11; Longitude: 198.34" - body: - application/json: - type: ShopperContext - examples: - shopperContext: !include Examples/shopper-context-update-response-example.raml - '400': - description: Usid in incoming request does not match Usid in token. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-400-example.raml - '401': - description: Your shopper JWT is invalid and could not be used to identify the API client. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-401-example.raml - '403': - description: Your shopper JWT is valid, but you have no permissions to access the resource. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/shopper-context-403-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-context.rw] } - uriParameters: - usid: - description: The Shopper's unique identifier. It is a required parameter and is part of the response from the Guest or Registered User Shopper Login (SLAS) API call. - type: string - required: true - example: "54ad2c5a-91f0-44ab-817c-73d6b86872d9" - diff --git a/testIntegration/stagingApis/customer/shopper-customers/.metadata.json b/testIntegration/stagingApis/customer/shopper-customers/.metadata.json deleted file mode 100644 index 89dfdc90..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-customers/0.0.50", - "name": "Shopper Customers", - "description": "Allow customers to manage their own profiles and product lists.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-customers", - "version": "0.0.50", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Customer" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/customer/shopper-customers/Customer-traits-library.raml b/testIntegration/stagingApis/customer/shopper-customers/Customer-traits-library.raml deleted file mode 100644 index 7895750c..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Customer-traits-library.raml +++ /dev/null @@ -1,18 +0,0 @@ - -#%RAML 1.0 Library -usage: Use the following traits for the request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -types: - ErrorResponse: ApiStandards.ErrorResponse - -traits: - Unauthorized: !include Traits/Unauthorized.raml - NotFound: !include Traits/NotFound.raml - BadRequest: !include Traits/BadRequest.raml - CustomerExtProfileNotFound: !include Traits/ExternalProfileNotFound.raml - CustomerExtProfileBadRequest: !include Traits/ExternalProfileBadRequest.raml - CustomerAuthenticationFailed: !include Traits/CustomerAuthenticationFailed.raml - OffsetPaginated: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/Basket.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/Basket.raml deleted file mode 100644 index 30248db8..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/Basket.raml +++ /dev/null @@ -1,381 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "basketId" : "bccO1aOjgEnuIaaadk7pYO2rFE", - "adjustedMerchandizeTotalTax": 0, - "adjustedShippingTotalTax": 0, - "agentBasket": true, - "billingAddress": { - "address1": "10 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "John", - "fullName": "John M. Smith", - "id": "abfTEMDZOgi3JPrkHjv9IhoziM", - "lastName": "Smith", - "phone": "123450003", - "postalCode": "01827", - "salutation": "Mr.", - "stateCode": "MA" - }, - "bonusDiscountLineItems": [ - { - "bonusProducts": [ - { - "link": "bonus product link", - "productDescription": "Bonus Product", - "productId": "34984327448", - "productName": "Extra Fluffy Bonus Product", - "title": "Bonus Product" - } - ], - "couponCode": "BONUS", - "id": "qhegj345ruhrfkj", - "maxBonusItems": 1, - "promotionId": "basds98295jsafi" - } - ], - "channelType": "storefront", - "couponItems": [ - { - "code": "5634573", - "couponItemId": "100-89038", - "statusCode": "coupon_code_already_in_basket", - "valid": true - } - ], - "creationDate": "2019-09-05T17:12:56.670Z", - "currency": "USD", - "customerInfo": { - "c_familyStatus": "string", - "customerId": "abfTEMDZOgi3JPrkHjv9IhoziM", - "customerName": "John Smith", - "customerNo": "00010009", - "email": "jsmith@demandware.com" - }, - "giftCertificateItems": [ - { - "amount": 0, - "giftCertificateItemId": "901", - "message": "Preferred Customer", - "recipientEmail": "jsmith@demandware.com", - "recipientName": "John Smith", - "senderName": "Jane Smith", - "shipmentId": "678934jsadLHY5" - } - ], - "inventoryReservationExpiry": "2019-09-05T17:12:56.670Z", - "lastModified": "2019-09-05T17:12:56.670Z", - "merchandizeTotalTax": 0, - "notes": { - "link": "Link to Notes" - }, - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "asdfgh4567", - "type": "percentage" - }, - "couponCode": "2345-009", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.670Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.670Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "324545673fgjghj", - "promotionId": "1000-7654", - "promotionLink": "link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "orderTotal": 0, - "paymentInstruments": [ - { - "amount": 0, - "authorizationStatus": { - "code": "AUTH", - "message": "Authorizing", - "status": 0 - }, - "bankRoutingNumber": "string", - "maskedGiftCertificateCode": "string", - "paymentBankAccount": { - "driversLicenseLastDigits": "6374", - "driversLicenseStateCode": "MA", - "holder": "John", - "maskedDriversLicense": "***************74", - "maskedNumber": "***********52", - "numberLastDigits": "2345" - }, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false, - "creditCardToken": "sadjklfajkgae", - "expirationMonth": 12, - "expirationYear": 2019, - "holder": "John", - "issueNumber": "389342643978", - "maskedNumber": "**************53", - "numberLastDigits": "8753", - "validFromMonth": 4, - "validFromYear": 2015 - }, - "paymentInstrumentId": "creditCard", - "paymentMethodId": "credit" - } - ], - "productItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusDiscountLineItemId": "string", - "bonusProductLineItem": true, - "bundledProductItems": [ - { - "quantity": 10 - } - ], - "gift": true, - "giftMessage": "string", - "inventoryId": "string", - "itemId": "string", - "itemText": "string", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 110, - "bonusDiscountLineItemId": "dsklgladsjkq349857", - "bonusProductLineItem": true, - "bundledProductItems": [ - { - "quantity": 10 - } - ], - "gift": true, - "giftMessage": "Happy Birthday", - "inventoryId": "258963", - "itemId": "apple-ipod-classic", - "itemText": "Apple iPod Classic", - "optionId": "34526hjyuGGH56", - "optionItems": [ - { - "optionId": "sdiughsdjkfgoqtuy", - "optionValueId": "1564897654" - } - ], - "optionValueId": "string", - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "34526hjyuGGH56", - "type": "percentage" - }, - "couponCode": "109475", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.670Z", - "custom": true, - "itemText": "", - "lastModified": "2019-09-05T17:12:56.670Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "1597563", - "promotionId": "963852", - "promotionLink": "link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "apple-ipod-classic", - "productListItem": { - "id": "2345245e654utjSSDFfdhh", - "priority": 0, - "productDetailsLink": { - "link": "link to product details", - "productDescription": "apple-ipod-classic", - "productId": "apple-ipod-classic", - "productName": "Apple iPod Classic", - "title": "Apple iPod Classic Silver" - }, - "productList": { - "description": "My Product List", - "link": "Link to product list", - "name": "Electronics", - "public": true, - "title": "My Electronics Wish List", - "type": "wish_list" - }, - "public": true, - "purchasedQuantity": 0, - "quantity": 0, - "type": "product" - }, - "productName": "Apple iPod Classic", - "quantity": 0, - "shipmentId": "12345rdsghfjh", - "shippingItemId": "47568ghfhjgkg", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "string", - "type": "percentage" - }, - "couponCode": "sadfghgjw4e56r7", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.672Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.672Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "asdgfhg5463798453", - "promotionId": "100-7345", - "promotionLink": "Link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "string", - "productListItem": { - "id": "string", - "priority": 0, - "productDetailsLink": { - "link": "link to product details", - "productDescription": "apple-ipod-classic", - "productId": "apple-ipod-classic", - "productName": "Apple iPod Classic", - "title": "Apple iPod Classic Silver" - }, - "productList": { - "description": "My Product List", - "link": "Link to product list", - "name": "Electronics", - "public": true, - "title": "My Electronics Wish List", - "type": "wish_list" - }, - "public": true, - "purchasedQuantity": 0, - "quantity": 0, - "type": "product" - }, - "productName": "Apple iPod Classic", - "quantity": 0, - "shipmentId": "12345rdsghfjh", - "shippingItemId": "47568ghfhjgkg", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "productSubTotal": 0, - "productTotal": 0, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 0, - "adjustedShippingTotalTax": 0, - "gift": true, - "giftMessage": "Happy Birthday", - "merchandizeTotalTax": 0, - "productSubTotal": 0, - "productTotal": 0, - "shipmentId": "1200", - "shipmentNo": "3", - "shipmentTotal": 0, - "shippingAddress": { - "address1": "10 Presidential Way", - "city": "string", - "countryCode": "US", - "firstName": "John", - "fullName": "John M. Smith", - "id": "abfTWMDZOgi3JPzkHjv9IhmziI", - "lastName": "Smith", - "phone": "123450003", - "postalCode": "01827", - "salutation": "Mr.", - "stateCode": "MA" - }, - "shippingMethod": { - "c_storePickupEnabled": true, - "description": "Ship using FEDEX", - "externalShippingMethod": "FEDEX", - "id": "1200", - "name": "John Smith", - "price": 0, - "shippingPromotions": [ - { - "calloutMsg": "Callout Message", - "link": "link to shipping promotions", - "promotionId": "123452768sdfgh", - "promotionName": "Special Promotion" - } - ] - }, - "shippingStatus": "not_shipped", - "shippingTotal": 0, - "shippingTotalTax": 0, - "taxTotal": 0, - "trackingNumber": "89e980-562489-54ifsdgj" - } - ], - "shippingItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "itemId": "2345245e654utjSSDFfdhh", - "itemText": "apple-iPod-classic", - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "string", - "type": "percentage" - }, - "couponCode": "sadfghgjw4e56r7", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.672Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.672Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "asdgfhg5463798453", - "promotionId": "100-7345", - "promotionLink": "Link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "shipmentId": "asghdfjghwertyu", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "shippingTotal": 0, - "shippingTotalTax": 0, - "sourceCode": "", - "taxTotal": 0, - "taxation": "gross" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/BonusDiscountLineItem.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/BonusDiscountLineItem.raml deleted file mode 100644 index dcb5c2b3..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/BonusDiscountLineItem.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "bonusProducts": [ - { - "link": "bonus product link", - "productDescription": "Bonus Product", - "productId": "34984327448", - "productName": "Extra Fluffy Bonus Product", - "title": "Bonus Product" - } - ], - "couponCode": "BONUS", - "id": "qhegj345ruhrfkj", - "maxBonusItems": 1, - "promotionId": "basds98295jsafi" - } diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/BundledProduct.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/BundledProduct.raml deleted file mode 100644 index 0fd2c129..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/BundledProduct.raml +++ /dev/null @@ -1,61 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "BundledProduct", - "product" : - { - "Type" : "product", - "id" : "RedDress1", - "imageGroups" : - [ - { - "images" : - [ - { - "alt" : "ALT master detail", - "link" : "https://example.com/foo/bar/master_detail.jpg", - "title" : "TITLE master detail" - } - ], - "viewType" : "detail" - }, - { - "images" : - [ - { - "alt" : "ALT master swatch", - "link" : "https://example.com/foo/bar/master_swatch.jpg", - "title" : "TITLE master swatch" - } - ], - "viewType" : "swatch" - }, - { - "images" : - [ - { - "alt" : "ALT master thumbnail", - "link" : "https://example.com/foo/bar/master_thumbnail.jpg", - "title" : "TITLE master thumbnail" - } - ], - "viewType" : "thumbnail" - } - ], - "inventories" : - [ - { - "Type" : "inventory", - "ats" : 0, - "backorderable" : false, - "id" : "RedDress1Inventory", - "orderable" : false, - "preorderable" : false, - "stockLevel" : 0 - } - ], - "minOrderQuantity" : 1, - "stepQuantity" : 1 - }, - "quantity": 2 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CouponItem.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CouponItem.raml deleted file mode 100644 index 61e56c57..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CouponItem.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "code": "5634573", - "couponItemId": "100-89038", - "statusCode": "coupon_code_already_in_basket", - "valid": true - } diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/Customer.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/Customer.raml deleted file mode 100644 index ad5250a9..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/Customer.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "adresses": [ - { - "address1": "10 Presidential Way", - "addressId": "me", - "city": "Woburn", - "countryCode": "US", - "firstName": "John", - "fullName": "John M. Smith", - "lastName": "Smith", - "postalCode": "01827", - "salutation": "Mr.", - "stateCode": "MA" - } - ], - "authType": "registered", - "creationDate": "2020-02-14T20:39:53.818Z", - "customerId": "abfTEMDZOgi3JPrkHjv9IhoziM", - "customerNo": "00010009", - "email": "jsmith@demandware.com", - "firstName": "John", - "gender": 1, - "lastName": "Smith", - "paymentInstruments": [ - { - "bankRoutingNumber": "0763564", - "creationDate": "2017-08-20T11:30:36.000Z", - "lastModified": "2017-08-20T11:30:50.000Z", - "maskedGiftCertificateCode": "***********ode", - "paymentBankAccount": { - "driversLicenseStateCode": "CO", - "driversLicenseLastDigits": "9742", - "holder": "John Doe", - "maskedDriversLicense": "**********2159", - "maskedNumber": "*************1234", - "numberLastDigits": "8700" - }, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false, - "expirationMonth": 2, - "expirationYear": 2022, - "holder": "John Smith", - "maskedNumber": "***********ber2", - "numberLastDigits": "ber2" - }, - "paymentInstrumentId": "beybQiWcyatEEaaadniwhKxxFl", - "paymentMethodId": "CREDIT_CARD", - "uuid": "beybQiWcyatEEaaadniwhKxxFl" - } - ], - "phoneBusiness": "234560003", - "phoneHome": "123450003", - "phoneMobile": "345670003" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerAddressRequest.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerAddressRequest.raml deleted file mode 100644 index 5af2fec6..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerAddressRequest.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "addressId": "home_address", - "address1" : "5 Wall St", - "address2" : "24 Presidential Way", - "city" : "Burlington", - "companyName" : "Salesforce Commerce Cloud", - "countryCode" : "US", - "firstName": "John", - "jobTitle" : "Developer", - "lastName" : "Murphy", - "phone" : "408-555-1212", - "postalCode" : "01805", - "postBox" : "12a", - "preferred" : false, - "salutation" : "Mr.", - "secondName" : "Jim", - "stateCode": "MA", - "title": "Dr." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerAddressResponse.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerAddressResponse.raml deleted file mode 100644 index 2035cb00..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerAddressResponse.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "addressId": "home_address", - "address1" : "5 Wall St", - "address2" : "24 Presidential Way", - "city" : "Burlington", - "companyName" : "Salesforce Commerce Cloud", - "countryCode" : "US", - "creationDate": "2020-02-14T21:13:29.769Z", - "firstName": "John", - "fullName": "John Jim Murphy", - "jobTitle" : "Developer", - "lastModified": "2020-02-14T21:13:29.770Z", - "lastName" : "Murphy", - "phone" : "408-555-1212", - "postalCode" : "01805", - "postBox" : "12a", - "preferred" : false, - "salutation" : "Mr.", - "secondName" : "Jim", - "stateCode": "MA", - "title": "Dr." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerAddressResult.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerAddressResult.raml deleted file mode 100644 index 4469d04a..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerAddressResult.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit" : 1, - "data" : - [ - { - "address1" : "10 Free Way", - "addressId" : "private", - "city" : "Woburn", - "countryCode" : "US", - "firstName" : "James", - "fullName" : "James Last", - "lastName" : "Last", - "postalCode" : "01827", - "salutation" : "Mr.", - "stateCode" : "MA" - } - ], - "offset" : 0, - "total" : 2 - } diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerBasketsResult.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerBasketsResult.raml deleted file mode 100644 index 4358723c..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerBasketsResult.raml +++ /dev/null @@ -1,387 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "baskets" : - [ - { - "basketId" : "bccO1aOjgEnuIaaadk7pYO2rFE", - "adjustedMerchandizeTotalTax": 0, - "adjustedShippingTotalTax": 0, - "agentBasket": true, - "billingAddress": { - "address1": "10 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "John", - "fullName": "John M. Smith", - "id": "abfTEMDZOgi3JPrkHjv9IhoziM", - "lastName": "Smith", - "phone": "123450003", - "postalCode": "01827", - "salutation": "Mr.", - "stateCode": "MA" - }, - "bonusDiscountLineItems": [ - { - "bonusProducts": [ - { - "link": "bonus product link", - "productDescription": "Bonus Product", - "productId": "34984327448", - "productName": "Extra Fluffy Bonus Product", - "title": "Bonus Product" - } - ], - "couponCode": "BONUS", - "id": "qhegj345ruhrfkj", - "maxBonusItems": 1, - "promotionId": "basds98295jsafi" - } - ], - "channelType": "storefront", - "couponItems": [ - { - "code": "5634573", - "couponItemId": "100-89038", - "statusCode": "coupon_code_already_in_basket", - "valid": true - } - ], - "creationDate": "2019-09-05T17:12:56.670Z", - "currency": "USD", - "customerInfo": { - "c_familyStatus": "string", - "customerId": "abfTEMDZOgi3JPrkHjv9IhoziM", - "customerName": "John Smith", - "customerNo": "1000", - "email": "jsmith@demandware.com" - }, - "giftCertificateItems": [ - { - "amount": 0, - "giftCertificateItemId": "901", - "message": "Preferred Customer", - "recipientEmail": "jsmith@demandware.com", - "recipientName": "John Smith", - "senderName": "Jane Smith", - "shipmentId": "678934jsadLHY5" - } - ], - "inventoryReservationExpiry": "2019-09-05T17:12:56.670Z", - "lastModified": "2019-09-05T17:12:56.670Z", - "merchandizeTotalTax": 0, - "notes": { - "link": "Link to Notes" - }, - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "asdfgh4567", - "type": "percentage" - }, - "couponCode": "2345-009", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.670Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.670Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "324545673fgjghj", - "promotionId": "1000-7654", - "promotionLink": "link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "orderTotal": 0, - "paymentInstruments": [ - { - "amount": 0, - "authorizationStatus": { - "code": "AUTH", - "message": "Authorizing", - "status": 0 - }, - "bankRoutingNumber": "string", - "maskedGiftCertificateCode": "string", - "paymentBankAccount": { - "driversLicenseLastDigits": "6374", - "driversLicenseStateCode": "MA", - "holder": "John", - "maskedDriversLicense": "***************74", - "maskedNumber": "***********52", - "numberLastDigits": "2345" - }, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false, - "creditCardToken": "sadjklfajkgae", - "expirationMonth": 12, - "expirationYear": 2019, - "holder": "John", - "issueNumber": "389342643978", - "maskedNumber": "**************53", - "numberLastDigits": "8753", - "validFromMonth": 4, - "validFromYear": 2015 - }, - "paymentInstrumentId": "creditCard", - "paymentMethodId": "credit" - } - ], - "productItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusDiscountLineItemId": "string", - "bonusProductLineItem": true, - "bundledProductItems": [ - { - "quantity": 10 - } - ], - "gift": true, - "giftMessage": "string", - "inventoryId": "string", - "itemId": "string", - "itemText": "string", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 110, - "bonusDiscountLineItemId": "dsklgladsjkq349857", - "bonusProductLineItem": true, - "bundledProductItems": [ - { - "quantity": 10 - } - ], - "gift": true, - "giftMessage": "Happy Birthday", - "inventoryId": "258963", - "itemId": "apple-ipod-classic", - "itemText": "Apple iPod Classic", - "optionId": "34526hjyuGGH56", - "optionItems": [ - { - "optionId": "sdiughsdjkfgoqtuy", - "optionValueId": "1564897654" - } - ], - "optionValueId": "string", - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "34526hjyuGGH56", - "type": "percentage" - }, - "couponCode": "109475", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.670Z", - "custom": true, - "itemText": "", - "lastModified": "2019-09-05T17:12:56.670Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "1597563", - "promotionId": "963852", - "promotionLink": "link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "apple-ipod-classic", - "productListItem": { - "id": "2345245e654utjSSDFfdhh", - "priority": 0, - "productDetailsLink": { - "link": "link to product details", - "productDescription": "apple-ipod-classic", - "productId": "apple-ipod-classic", - "productName": "Apple iPod Classic", - "title": "Apple iPod Classic Silver" - }, - "productList": { - "description": "My Product List", - "link": "Link to product list", - "name": "Electronics", - "public": true, - "title": "My Electronics Wish List", - "type": "wish_list" - }, - "public": true, - "purchasedQuantity": 0, - "quantity": 0, - "type": "product" - }, - "productName": "Apple iPod Classic", - "quantity": 0, - "shipmentId": "12345rdsghfjh", - "shippingItemId": "47568ghfhjgkg", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "string", - "type": "percentage" - }, - "couponCode": "sadfghgjw4e56r7", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.672Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.672Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "asdgfhg5463798453", - "promotionId": "100-7345", - "promotionLink": "Link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "string", - "productListItem": { - "id": "string", - "priority": 0, - "productDetailsLink": { - "link": "link to product details", - "productDescription": "apple-ipod-classic", - "productId": "apple-ipod-classic", - "productName": "Apple iPod Classic", - "title": "Apple iPod Classic Silver" - }, - "productList": { - "description": "My Product List", - "link": "Link to product list", - "name": "Electronics", - "public": true, - "title": "My Electronics Wish List", - "type": "wish_list" - }, - "public": true, - "purchasedQuantity": 0, - "quantity": 0, - "type": "product" - }, - "productName": "Apple iPod Classic", - "quantity": 0, - "shipmentId": "12345rdsghfjh", - "shippingItemId": "47568ghfhjgkg", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "productSubTotal": 0, - "productTotal": 0, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 0, - "adjustedShippingTotalTax": 0, - "gift": true, - "giftMessage": "Happy Birthday", - "merchandizeTotalTax": 0, - "productSubTotal": 0, - "productTotal": 0, - "shipmentId": "1200", - "shipmentNo": "3", - "shipmentTotal": 0, - "shippingAddress": { - "address1": "10 Presidential Way", - "city": "string", - "countryCode": "US", - "firstName": "John", - "fullName": "John M. Smith", - "id": "abfTWMDZOgi3JPzkHjv9IhmziI", - "lastName": "Smith", - "phone": "123450003", - "postalCode": "01827", - "salutation": "Mr.", - "stateCode": "MA" - }, - "shippingMethod": { - "c_storePickupEnabled": true, - "description": "Ship using FEDEX", - "externalShippingMethod": "FEDEX", - "id": "1200", - "name": "John Smith", - "price": 0, - "shippingPromotions": [ - { - "calloutMsg": "Callout Message", - "link": "link to shipping promotions", - "promotionId": "123452768sdfgh", - "promotionName": "Special Promotion" - } - ] - }, - "shippingStatus": "not_shipped", - "shippingTotal": 0, - "shippingTotalTax": 0, - "taxTotal": 0, - "trackingNumber": "89e980-562489-54ifsdgj" - } - ], - "shippingItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "itemId": "2345245e654utjSSDFfdhh", - "itemText": "apple-iPod-classic", - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "string", - "type": "percentage" - }, - "couponCode": "sadfghgjw4e56r7", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.672Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.672Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "asdgfhg5463798453", - "promotionId": "100-7345", - "promotionLink": "Link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "shipmentId": "asghdfjghwertyu", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "shippingTotal": 0, - "shippingTotalTax": 0, - "sourceCode": "", - "taxTotal": 0, - "taxation": "gross" - } - ], - "total" : 1 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerExternalProfile.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerExternalProfile.raml deleted file mode 100644 index 585d1025..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerExternalProfile.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - - "authenticationProviderId": "Google", - "firstName" : "John", - "lastName" : "Doe", - "customerId": "bfqcN48dn2y4EaV9Qj5bNpVJVj", - "email": "testCustomer@test.com", - "externalId": "testCustomer@test.com" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerPaymentInstrument.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerPaymentInstrument.raml deleted file mode 100644 index 8be62bf3..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerPaymentInstrument.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "bankRoutingNumber" : "bankrouting3776", - "giftCertificateCodeMasked" : "******ode7", - "paymentBankAccount" : - { - }, - "paymentCard" : - { - "cardType" : "MasterCard", - "creditCardExpired" : false, - "expirationMonth" : 7, - "expirationYear" : 2027, - "holder" : "John Smith", - "issueNumber" : "i117", - "maskedNumber" : "***4567", - "numberLastDigits" : "4567", - "validFromMonth" : 8, - "validFromYear" : 2007 - }, - "paymentMethodId" : "OCAPI_Payment_Simple", - "paymentInstrumentId" : "cdOLciWbOsYl6aaadkwcsx9xHH" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerPaymentInstrumentRequest.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerPaymentInstrumentRequest.raml deleted file mode 100644 index 3d643a0d..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerPaymentInstrumentRequest.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "paymentCard": { - "expirationYear":2027, - "expirationMonth":7, - "validFromMonth":8, - "validFromYear":2007, - "issueNumber":"i117", - "number":"1234567", - "holder":"John Smith", - "cardType":"MasterCard" - }, - "giftCertificateCode": "gift_code7", - "paymentMethodId": "OCAPI_Payment_Simple", - "bankRoutingNumber": "bankrouting3776" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerPaymentInstrumentResult.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerPaymentInstrumentResult.raml deleted file mode 100644 index e1eac318..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerPaymentInstrumentResult.raml +++ /dev/null @@ -1,48 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit" : 2, - "data" : - [ - { - "paymentBankAccount" : - { - "bankRoutingNumber" : "bankrouting3450" - }, - "paymentCard" : - { - "cardType" : "Visa", - "creditCardExpired" : false, - "expirationMonth" : 2, - "expirationYear" : 2022, - "holder" : "John Smith", - "maskedNumber" : "***********1111", - "numberLastDigits" : "1111" - }, - "paymentMethodId" : "CREDIT_CARD", - "paymentInstrumentId" : "cdlPgiWbN6LM2aaadkcia6MgbA" - }, - - { - "bankRoutingNumber" : "bankrouting3446", - "giftCertificateCodeMasked" : "*****code", - "paymentBankAccount" : - { - "driversLicenseLastDigits" : "e111", - "driversLicenseStateCode" : "MA", - "holder" : "John Smith", - "maskedDriversLicense" : "**********e111", - "maskedNumber" : "**********t111", - "numberLastDigits" : "t111" - }, - "paymentCard" : - { - "cardType": "None", - "creditCardExpired" : false - }, - "paymentMethodId" : "OCAPI_Payment_Simple", - "paymentInstrumentId" : "cdTsgiWbN6DFEaaadkbia6MgbA" - } - ], - "total" : 2 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductList.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductList.raml deleted file mode 100644 index 7110a6ec..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductList.raml +++ /dev/null @@ -1,52 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "coRegistrant" : - { - "email" : "janedoe@example.com", - "firstName" : "Jane", - "lastName" : "Doe", - "role" : "Bride" - }, - "creationDate": "2019-10-18T22:06:28.965Z", - "currentShippingAddressInfo": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "description" : "our productlist", - "event" : - { - "city" : "Washington", - "country" : "US", - "date" : "2019-09-05T17:12:56.670Z", - "state" : "DC", - "type" : "Wedding" - }, - "id" : "bcedkiWbxCM2MaaadkRhB2IBzM", - "lastModified": "2019-10-18T22:06:28.971Z", - "name" : "OurProductList", - "postEventShippingAddressInfo": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "productListShippingAddress": { - "addressId": "home_address", - "city": "Burlington", - "firstName": "John", - "lastName": "Murphy" - }, - "public" : false, - "registrant" : - { - "email" : "johndoe@example.com", - "firstName" : "John", - "lastName" : "Doe", - "role" : "Groom" - }, - "shippingAddressInfo" : - { - "addressId" : "me", - "title" : "me, John Doe, Woburn" - }, - "type" : "wish_list" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListItem.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListItem.raml deleted file mode 100644 index ef80ebbb..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListItem.raml +++ /dev/null @@ -1,65 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id" : "1d447daa4d25805fd682bd4ce1", - "priority" : 4, - "productId" : "RedDress1", - "product" : - { - "id" : "RedDress1", - "imageGroups" : - [ - { - "images" : - [ - { - "alt" : "ALT master detail", - "link" : "https://example.com/foo/bar/master_detail.jpg", - "title" : "TITLE master detail" - } - ], - "viewType" : "detail" - }, - { - "images" : - [ - { - "alt" : "ALT master swatch", - "link" : "https://example.com/foo/bar/master_swatch.jpg", - "title" : "TITLE master swatch" - } - ], - "viewType" : "swatch" - }, - { - "images" : - [ - { - "alt" : "ALT master thumbnail", - "link" : "https://example.com/foo/bar/master_thumbnail.jpg", - "title" : "TITLE master thumbnail" - } - ], - "viewType" : "thumbnail" - } - ], - "inventories" : - [ - { - "ats" : 0, - "backorderable" : false, - "id" : "RedDress1Inventory", - "orderable" : false, - "preorderable" : false, - "stockLevel" : 0 - } - ], - "minOrderQuantity" : 1, - "price" : 99.99, - "stepQuantity" : 1 - }, - "public" : true, - "purchasedQuantity" : 0, - "quantity" : 2, - "type" : "product" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListItemRequest.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListItemRequest.raml deleted file mode 100644 index 2f3e88a9..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListItemRequest.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "productId": "RedDress1", - "id": "1", - "purchasedQuantity": 0, - "priority": 3, - "quantity": 4, - "public": false, - "type": "product" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListItemResult.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListItemResult.raml deleted file mode 100644 index f81cc6db..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListItemResult.raml +++ /dev/null @@ -1,73 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit" : 1, - "data" : - [ - { - "id" : "ebe04a8c6be5c01a5dac9e50ac", - "priority" : 4, - "productId" : "RedDress1", - "public" : true, - "purchasedQuantity" : 0, - "quantity" : 2, - "type" : "product", - "product" : - { - "id" : "RedDress1", - "imageGroups" : - [ - { - "images" : - [ - { - "alt" : "ALT master detail", - "link" : "https://example.com/foo/bar/master_detail.jpg", - "title" : "TITLE master detail" - } - ], - "viewType" : "detail" - }, - { - "images" : - [ - { - "alt" : "ALT master swatch", - "link" : "https://example.com/foo/bar/master_swatch.jpg", - "title" : "TITLE master swatch" - } - ], - "viewType" : "swatch" - }, - { - "images" : - [ - { - "alt" : "ALT master thumbnail", - "link" : "https://example.com/foo/bar/master_thumbnail.jpg", - "title" : "TITLE master thumbnail" - } - ], - "viewType" : "thumbnail" - } - ], - "inventories" : - [ - { - "ats" : 0, - "backorderable" : false, - "id" : "RedDress1Inventory", - "orderable" : false, - "preorderable" : false, - "stockLevel" : 0 - } - ], - "minOrderQuantity" : 1, - "stepQuantity" : 1 - } - } - ], - - "offset" : 0, - "total" : 1 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListRequest.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListRequest.raml deleted file mode 100644 index 0936ac77..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListRequest.raml +++ /dev/null @@ -1,107 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "wish_list", - "name": "OurProductList", - "description": "our productlist", - "public": false, - "creationDate": "2019-10-18T22:06:28.965Z", - "currentShippingAddressInfo": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "customerProductListItems" : - [ - - { - "description" : "Description", - "id": "30f35c187ea255ccb633c3ba11", - "priority": 4, - "productId": "SimpleProduct", - "product" : - { - "id" : "RedDress1", - "imageGroups" : - [ - { - "images" : - [ - { - "alt" : "ALT master detail", - "link" : "https://example.com/foo/bar/master_detail.jpg", - "title" : "TITLE master detail" - } - ], - "viewType" : "detail" - }, - { - "images" : - [ - { - "alt" : "ALT master swatch", - "link" : "https://example.com/foo/bar/master_swatch.jpg", - "title" : "TITLE master swatch" - } - ], - "viewType" : "swatch" - }, - { - "images" : - [ - { - "alt" : "ALT master thumbnail", - "link" : "https://example.com/foo/bar/master_thumbnail.jpg", - "title" : "TITLE master thumbnail" - } - ], - "viewType" : "thumbnail" - } - ], - "inventories" : - [ - { - "ats" : 0, - "backorderable" : false, - "id" : "RedDress1Inventory", - "orderable" : false, - "preorderable" : false, - "stockLevel" : 0 - } - ], - "minOrderQuantity" : 1, - "stepQuantity" : 1 - }, - "public": false, - "purchasedQuantity": 0, - "quantity": 2, - "type": "product" - } - ], - "coRegistrant" : - { - "email" : "janedoe@example.com", - "firstName" : "Jane", - "lastName" : "Doe", - "role" : "Bride" - }, - "registrant" : - { - "email" : "johndoe@example.com", - "firstName" : "John", - "lastName" : "Doe", - "role" : "Groom" - }, - "shippingAddressInfo" : - { - "addressId" : "me", - "title" : "me, John Doe, Woburn" - }, - "event" : - { - "city" : "Washington", - "country" : "US", - "date" : "2015-09-05T17:12:56.670Z", - "state" : "DC", - "type" : "Wedding" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListResult.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListResult.raml deleted file mode 100644 index 25b117c1..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerProductListResult.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit" : 1, - "data" : - [ - { - "coRegistrant": { - "email": "janedoe@example.com", - "firstName": "Jane", - "lastName": "Doe", - "role": "Bride" - }, - "creationDate": "2019-10-18T22:06:28.965Z", - "currentShippingAddressInfo": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "customerProductListItems" : - [ - - { - "description" : "Description", - "id": "30f35c187ea255ccb633c3ba11", - "priority": 4, - "productId": "SimpleProduct", - "public": false, - "purchasedQuantity": 0, - "quantity": 2, - "type": "product" - } - ], - "postEventShippingAddressInfo": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "productListShippingAddress": { - "addressId": "home_address", - "city": "Burlington", - "firstName": "John", - "lastName": "Murphy" - }, - "name": "OurProductList", - "registrant": { - "email": "johndoe@example.com", - "firstName": "John", - "lastName": "Doe", - "role": "Groom" - }, - "lastModified": "2019-10-18T22:06:28.971Z", - "description" : "a productlist", - "event" : - { - "city" : "any city", - "country" : "USA", - "type": "product_list_event" - }, - "shippingAddressLink": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "id" : "8b04014a9d6e5dbae542004824", - "public" : false, - "type" : "wish_list" - } - ], - "total" : 1 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerRegistrationRequest.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerRegistrationRequest.raml deleted file mode 100644 index 23692868..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerRegistrationRequest.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "password": "12345!aBcD", - "customer": { - "login": "jsmith", - "email": "jsmith@test.com", - "firstName": "John", - "lastName": "Smith" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerRegistrationResponse.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerRegistrationResponse.raml deleted file mode 100644 index f57fd689..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomerRegistrationResponse.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "authType": "registered", - "creationDate": "2020-02-13T17:44:15.892Z", - "customerId": "abkd9LhOWzAiAFubdEDChtkMHW", - "customerNo": "00006002", - "email": "jsmith@test.com", - "enabled": true, - "firstName": "John", - "lastModified": "2020-02-13T17:44:15.898Z", - "lastName": "Smith", - "login": "jsmith" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomersOrdersResult.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomersOrdersResult.raml deleted file mode 100644 index e9b6aca7..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/CustomersOrdersResult.raml +++ /dev/null @@ -1,392 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 0, - "data": [ - { - "adjustedMerchandizeTotalTax": 0, - "adjustedShippingTotalTax": 0, - "billingAddress": { - "address1": "10 Presidential Way", - "city": "Woburn", - "countryCode": "US", - "firstName": "John", - "fullName": "John M. Smith", - "id": "abfTEMDZOgi3JPrkHjv9IhoziM", - "lastName": "Smith", - "phone": "123450003", - "postalCode": "01827", - "salutation": "Mr.", - "stateCode": "MA" - }, - "bonusDiscountLineItems": [ - { - "bonusProducts": [ - { - "link": "bonus product link", - "productDescription": "Bonus Product", - "productId": "34984327448", - "productName": "Extra Fluffy Bonus Product", - "title": "Bonus Product" - } - ], - "couponCode": "BONUS", - "id": "qhegj345ruhrfkj", - "maxBonusItems": 1, - "promotionId": "basds98295jsafi" - } - ], - "channelType": "storefront", - "confirmationStatus": "not_confirmed", - "couponItems": [ - { - "code": "5634573", - "couponItemId": "100-89038", - "statusCode": "coupon_code_already_in_basket", - "valid": true - } - ], - "creationDate": "2019-09-05T17:12:56.670Z", - "currency": "USD", - "customerInfo": { - "c_familyStatus": "string", - "customerId": "abfTEMDZOgi3JPrkHjv9IhoziM", - "customerName": "John Smith", - "customerNo": "00010009", - "email": "jsmith@demandware.com" - }, - "exportStatus": "not_exported", - "externalOrderStatus": "string", - "giftCertificateItems": [ - { - "amount": 0, - "giftCertificateItemId": "901", - "message": "Preferred Customer", - "recipientEmail": "jsmith@demandware.com", - "recipientName": "John Smith", - "senderName": "Jane Smith", - "shipmentId": "678934jsadLHY5" - } - ], - "inventoryReservationExpiry": "2019-09-05T17:12:56.670Z", - "lastModified": "2019-09-05T17:12:56.670Z", - "merchandizeTotalTax": 0, - "notes": { - "link": "Link to Notes" - }, - "orderPriceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "asdfgh4567", - "type": "percentage" - }, - "couponCode": "2345-009", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.670Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.670Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "324545673fgjghj", - "promotionId": "1000-7654", - "promotionLink": "link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "orderTotal": 0, - "paymentInstruments": [ - { - "amount": 0, - "authorizationStatus": { - "code": "AUTH", - "message": "Authorizing", - "status": 0 - }, - "bankRoutingNumber": "string", - "maskedGiftCertificateCode": "string", - "paymentBankAccount": { - "driversLicenseLastDigits": "6374", - "driversLicenseStateCode": "MA", - "holder": "John", - "maskedDriversLicense": "***************74", - "maskedNumber": "***********52", - "numberLastDigits": "2345" - }, - "paymentCard": { - "cardType": "Visa", - "creditCardExpired": false, - "creditCardToken": "sadjklfajkgae", - "expirationMonth": 12, - "expirationYear": 2019, - "holder": "John", - "issueNumber": "389342643978", - "maskedNumber": "**************53", - "numberLastDigits": "8753", - "validFromMonth": 4, - "validFromYear": 2015 - }, - "paymentInstrumentId": "creditCard", - "paymentMethodId": "credit" - } - ], - "paymentStatus": "not_paid", - "productItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "bonusDiscountLineItemId": "string", - "bonusProductLineItem": true, - "bundledProductItems": [ - { - "quantity": 10 - } - ], - "gift": true, - "giftMessage": "string", - "inventoryId": "string", - "itemId": "string", - "itemText": "string", - "optionItems": [ - { - "adjustedTax": 0, - "basePrice": 110, - "bonusDiscountLineItemId": "dsklgladsjkq349857", - "bonusProductLineItem": true, - "bundledProductItems": [ - { - "quantity": 10 - } - ], - "gift": true, - "giftMessage": "Happy Birthday", - "inventoryId": "258963", - "itemId": "apple-ipod-classic", - "itemText": "Apple iPod Classic", - "optionId": "34526hjyuGGH56", - "optionItems": [ - { - "optionId": "sdiughsdjkfgoqtuy", - "optionValueId": "1564897654" - } - ], - "optionValueId": "string", - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "34526hjyuGGH56", - "type": "percentage" - }, - "couponCode": "109475", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.670Z", - "custom": true, - "itemText": "", - "lastModified": "2019-09-05T17:12:56.670Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "1597563", - "promotionId": "963852", - "promotionLink": "link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "apple-ipod-classic", - "productListItem": { - "id": "2345245e654utjSSDFfdhh", - "priority": 0, - "productDetailsLink": { - "link": "link to product details", - "productDescription": "apple-ipod-classic", - "productId": "apple-ipod-classic", - "productName": "Apple iPod Classic", - "title": "Apple iPod Classic Silver" - }, - "productList": { - "description": "My Product List", - "link": "Link to product list", - "name": "Electronics", - "public": true, - "title": "My Electronics Wish List", - "type": "wish_list" - }, - "public": true, - "purchasedQuantity": 0, - "quantity": 0, - "type": "product" - }, - "productName": "Apple iPod Classic", - "quantity": 0, - "shipmentId": "12345rdsghfjh", - "shippingItemId": "47568ghfhjgkg", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "string", - "type": "percentage" - }, - "couponCode": "sadfghgjw4e56r7", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.672Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.672Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "asdgfhg5463798453", - "promotionId": "100-7345", - "promotionLink": "Link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "priceAfterOrderDiscount": 0, - "productId": "string", - "productListItem": { - "id": "string", - "priority": 0, - "productDetailsLink": { - "link": "link to product details", - "productDescription": "apple-ipod-classic", - "productId": "apple-ipod-classic", - "productName": "Apple iPod Classic", - "title": "Apple iPod Classic Silver" - }, - "productList": { - "description": "My Product List", - "link": "Link to product list", - "name": "Electronics", - "public": true, - "title": "My Electronics Wish List", - "type": "wish_list" - }, - "public": true, - "purchasedQuantity": 0, - "quantity": 0, - "type": "product" - }, - "productName": "Apple iPod Classic", - "quantity": 0, - "shipmentId": "12345rdsghfjh", - "shippingItemId": "47568ghfhjgkg", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "productSubTotal": 0, - "productTotal": 0, - "shipments": [ - { - "adjustedMerchandizeTotalTax": 0, - "adjustedShippingTotalTax": 0, - "gift": true, - "giftMessage": "Happy Birthday", - "merchandizeTotalTax": 0, - "productSubTotal": 0, - "productTotal": 0, - "shipmentId": "1200", - "shipmentNo": "3", - "shipmentTotal": 0, - "shippingAddress": { - "address1": "10 Presidential Way", - "city": "string", - "countryCode": "US", - "firstName": "John", - "fullName": "John M. Smith", - "id": "abfTWMDZOgi3JPzkHjv9IhmziI", - "lastName": "Smith", - "phone": "123450003", - "postalCode": "01827", - "salutation": "Mr.", - "stateCode": "MA" - }, - "shippingMethod": { - "c_storePickupEnabled": true, - "description": "Ship using FEDEX", - "externalShippingMethod": "FEDEX", - "id": "1200", - "name": "John Smith", - "price": 0, - "shippingPromotions": [ - { - "calloutMsg": "Callout Message", - "link": "link to shipping promotions", - "promotionId": "123452768sdfgh", - "promotionName": "Special Promotion" - } - ] - }, - "shippingStatus": "not_shipped", - "shippingTotal": 0, - "shippingTotalTax": 0, - "taxTotal": 0, - "trackingNumber": "89e980-562489-54ifsdgj" - } - ], - "shippingItems": [ - { - "adjustedTax": 0, - "basePrice": 0, - "itemId": "2345245e654utjSSDFfdhh", - "itemText": "apple-iPod-classic", - "price": 0, - "priceAdjustments": [ - { - "appliedDiscount": { - "amount": 0, - "percentage": 0, - "priceBookId": "string", - "type": "percentage" - }, - "couponCode": "sadfghgjw4e56r7", - "createdBy": "System", - "creationDate": "2019-09-05T17:12:56.672Z", - "custom": true, - "itemText": "string", - "lastModified": "2019-09-05T17:12:56.672Z", - "manual": true, - "price": 0, - "priceAdjustmentId": "asdgfhg5463798453", - "promotionId": "100-7345", - "promotionLink": "Link to promotion", - "reasonCode": "PRICE_MATCH" - } - ], - "priceAfterItemDiscount": 0, - "shipmentId": "asghdfjghwertyu", - "tax": 0, - "taxBasis": 0, - "taxClassId": "STATE", - "taxRate": 0 - } - ], - "shippingStatus": "not_shipped", - "shippingTotal": 0, - "shippingTotalTax": 0, - "sourceCode": "", - "status": "created", - "taxTotal": 0, - "taxation": "gross" - } - ], - "offset": 0, - "total" : 1 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/ExternalProfileRequest.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/ExternalProfileRequest.raml deleted file mode 100644 index 3009e3e5..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/ExternalProfileRequest.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - - "authenticationProviderId": "Google", - "firstName" : "John", - "lastName" : "Doe", - "email": "testCustomer@test.com", - "externalId": "testCustomer@test.com" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/GetCustomerProductListByListId.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/GetCustomerProductListByListId.raml deleted file mode 100644 index 81eb7c35..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/GetCustomerProductListByListId.raml +++ /dev/null @@ -1,43 +0,0 @@ -{ - "coRegistrant": { - "email": "janedoe@example.com", - "firstName": "Jane", - "lastName": "Doe", - "role": "Bride" - }, - "creationDate": "2019-10-18T22:06:28.965Z", - "currentShippingAddressInfo": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "customerProductListItems": [ - { - "id": "30f35c187ea255ccb633c3ba11", - "priority": 4, - "productId": "SimpleProduct", - "public": false, - "purchasedQuantity": 0, - "quantity": 2, - "type": "product" - } - ], - "description": "our productlist", - "event": { - "city": "Washington", - "country": "US", - "date": "2019-09-05T17:12:56.670Z", - "state": "DC", - "type": "Wedding" - }, - "id": "bcedkiWbxCM2MaaadkRhB2IBzM", - "lastModified": "2019-10-18T22:06:28.971Z", - "name": "OurProductList", - "public": true, - "registrant": { - "email": "johndoe@example.com", - "firstName": "John", - "lastName": "Doe", - "role": "Groom" - }, - "type": "wish_list" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/PostCustomerProductList.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/PostCustomerProductList.raml deleted file mode 100644 index a10d12fa..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/PostCustomerProductList.raml +++ /dev/null @@ -1,30 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "coRegistrant": { - "email": "janedoe@example.com", - "firstName": "Jane", - "lastName": "Doe", - "role": "Bride" - }, - "creationDate": "2019-10-18T22:06:28.965Z", - "description": "our productlist", - "event": { - "city": "Washington", - "country": "US", - "date": "2019-09-05T17:12:56.670Z", - "state": "DC", - "type": "Wedding" - }, - "id": "bcedkiWbxCM2MaaadkRhB2IBzM", - "lastModified": "2019-10-18T22:06:28.971Z", - "name": "OurProductList", - "public": true, - "registrant": { - "email": "johndoe@example.com", - "firstName": "John", - "lastName": "Doe", - "role": "Groom" - }, - "type": "wish_list" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/PublicProductListItem.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/PublicProductListItem.raml deleted file mode 100644 index 4bf36131..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/PublicProductListItem.raml +++ /dev/null @@ -1,55 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "023513f915fad06573f330fb0d", - "priority": 0, - "product": { - "id": "RedDress1", - "imageGroups": [ - { - "images": [ - { - "alt": "ALT master detail", - "link": "https://example.com/foo/bar/master_detail.jpg", - "title": "TITLE master detail" - } - ], - "viewType": "detail" - }, - { - "images": [ - { - "alt": "ALT master swatch", - "link": "https://example.com/foo/bar/master_swatch.jpg", - "title": "TITLE master swatch" - } - ], - "viewType": "swatch" - }, - { - "images": [ - { - "alt": "ALT master thumbnail", - "link": "https://example.com/foo/bar/master_thumbnail.jpg", - "title": "TITLE master thumbnail" - } - ], - "viewType": "thumbnail" - } - ], - "inventories": [ - { - "ats": 0, - "backorderable": false, - "id": "RedDress1Inventory", - "orderable": false, - "preorderable": false, - "stockLevel": 0 - } - ], - "minOrderQuantity": 1, - "price": 99.99, - "stepQuantity": 1 - }, - "type": "product" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/ResetPasswordRequest.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/ResetPasswordRequest.raml deleted file mode 100644 index 662950e4..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/ResetPasswordRequest.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "resetToken": "R1e2s3e4t5T6o7k8e9n0", - "login": "janedoe@test.com", - "newPassword": "p@assword2" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/ResetTokenResult.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/ResetTokenResult.raml deleted file mode 100644 index 50c4bda4..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/ResetTokenResult.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "login": "janedoe@test.com", - "email": "janedoe@test.com", - "resetToken": "R1e2s3e4t5T6o7k8e9n0", - "expiresInMinutes": 30 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/TrustedAuthResponse.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/TrustedAuthResponse.raml deleted file mode 100644 index 15ac52f6..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/TrustedAuthResponse.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "authType": "registered", - "creationDate": "2020-02-14T20:39:53.818Z", - "customerId": "bf9FlYiDM7849QcbnkJ76AMBad", - "customerNo": "00010009", - "email": "jwild1@yourstore.com", - "enabled": true, - "lastLoginTime": "2020-02-14T20:40:00.543Z", - "lastModified": "2020-02-14T20:40:00.543Z", - "lastName": "wild1", - "lastVisitTime": "2020-02-14T20:40:00.543Z", - "login": "f0a43dc2-692a-43bf-b008-e10918ea935d", - "previousLoginTime": "2020-02-14T20:40:00.543Z", - "previousVisitTime": "2020-02-14T20:40:00.543Z" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/UpdateCustomerProductListByListId.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/UpdateCustomerProductListByListId.raml deleted file mode 100644 index 30a3a237..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/UpdateCustomerProductListByListId.raml +++ /dev/null @@ -1,43 +0,0 @@ -{ - "coRegistrant": { - "email": "janedoe@example.com", - "firstName": "Jane", - "lastName": "Doe", - "role": "Bride" - }, - "creationDate": "2019-10-18T22:06:28.965Z", - "currentShippingAddressInfo": { - "addressId": "home_address", - "title": "home_address, John Murphy, Burlington" - }, - "customerProductListItems": [ - { - "id": "30f35c187ea255ccb633c3ba11", - "priority": 4, - "productId": "SimpleProduct", - "public": false, - "purchasedQuantity": 0, - "quantity": 2, - "type": "product" - } - ], - "description": "Description", - "event": { - "city": "Washington", - "country": "US", - "date": "2019-09-05T17:12:56.670Z", - "state": "DC", - "type": "Wedding" - }, - "id": "bcedkiWbxCM2MaaadkRhB2IBzM", - "lastModified": "2019-10-18T22:06:28.971Z", - "name": "OurProductList", - "public": true, - "registrant": { - "email": "johndoe@example.com", - "firstName": "John", - "lastName": "Doe", - "role": "Groom" - }, - "type": "wish_list" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/UpdateCustomerProductListItem.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/UpdateCustomerProductListItem.raml deleted file mode 100644 index ef493cac..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/UpdateCustomerProductListItem.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id" : "1d447daa4d25805fd682bd4ce1", - "priority" : 4, - "productId" : "RedDress1", - "public" : true, - "purchasedQuantity" : 0, - "quantity" : 2, - "type" : "product" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/UpdateCustomerRequest.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/UpdateCustomerRequest.raml deleted file mode 100644 index 623dec60..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/UpdateCustomerRequest.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "customerNo": "00010009", - "firstName": "John", - "lastName": "Wild", - "email": "jwild@yourstore.com", - "fax": "+49 03641 78393 346" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/UpdateCustomerResponse.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/UpdateCustomerResponse.raml deleted file mode 100644 index 4e9ce946..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/UpdateCustomerResponse.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "authType": "registered", - "creationDate": "2020-02-14T20:39:53.818Z", - "customerId": "abfTEMDZOgi3JPrkHjv9IhoziM", - "customerNo": "00010009", - "email": "jwild@yourstore.com", - "enabled": true, - "fax": "+49 03641 78393 346", - "firstName": "John", - "lastLoginTime": "2020-02-14T20:51:59.313Z", - "lastModified": "2020-02-14T20:55:12.133Z", - "lastName": "Wild", - "lastVisitTime": "2020-02-14T20:51:59.313Z", - "login": "f0a43dc2-692a-43bf-b008-e10918ea935d", - "previousLoginTime": "2020-02-14T20:51:59.313Z", - "previousVisitTime": "2020-02-14T20:51:59.313Z" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/guestAuthResponse.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/guestAuthResponse.raml deleted file mode 100644 index dd761d8c..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/guestAuthResponse.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "authType": "guest", - "customerId": "bc4db2DZE5xMg7Tnjwa20NrC0X", - "preferredLocale": "en_US" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/productLists-result-example.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/productLists-result-example.raml deleted file mode 100644 index 8c35a61c..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/productLists-result-example.raml +++ /dev/null @@ -1,30 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the ProductLists -value: - { - "limit": 3, - "data": [ - { - "description": "our productlist", - "id": "f4682729817ee215acd3a1a8b4", - "name": "OurProductList", - "title": "OurProductList", - "type": "wish_list" - }, - { - "description": "something", - "id": "b985bea3aaae7702c0b692c65c", - "name": "OurProductList", - "title": "OurProductList", - "type": "wish_list" - }, - { - "description": "our productlist", - "id": "95aa60b8c681ad5431cb4c5bfa", - "name": "OurProductList", - "title": "OurProductList", - "type": "wish_list" - } - ], - "total": 3 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/productListsID-result-example.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/productListsID-result-example.raml deleted file mode 100644 index 0e0f415e..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/productListsID-result-example.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the ProductLists by ID -value: - { - "coRegistrant" : - { - "email" : "jane.doe@example.com", - "firstName" : "Jane", - "lastName" : "Doe", - "role" : "Bride" - }, - "currentShippingAddressInfo" : - { - "title" : "me, John Doe, Woburn", - "addressId" : "me" - }, - "event" : - { - "city" : "Washington", - "country" : "US", - "date" : "2017-08-20T11:30:36.000Z", - "state" : "DC", - "type" : "Wedding" - }, - "id" : "bcqg6iWbw4XEYaaadjixFLTWP0", - - "name" : "DC-Doe-Wedding", - "postEventShippingAddressInfo" : - { - "addressId" : "me", - "title" : "jane, Jane Doe, Springfield" - },"productListItems" : - [ - { - "id" : "09c9df175e247c0d75d76f443e", - "priority" : 6, - "type" : "product" - } - ], - "public": true, - "registrant" : - { - "email" : "john.doe@example.com", - "firstName" : "John", - "lastName" : "Doe", - "role" : "Groom" - }, - "shippingAddressInfo" : - { - "addressId" : "me", - "title" : "me, John Doe, Woburn" - }, - "type" : "gift_registry" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Examples/productListsIDItems-result-example.raml b/testIntegration/stagingApis/customer/shopper-customers/Examples/productListsIDItems-result-example.raml deleted file mode 100644 index 908afbef..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Examples/productListsIDItems-result-example.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the ProductLists by ID items -value: - { - "limit": 1, - "data": [ - { - "id": "023513f915fad06573f330fb0d", - "priority": 0, - "product" : - { - "id" : "RedDress1", - "imageGroups" : - [ - { - "images" : - [ - { - "alt" : "ALT master detail", - "link" : "https://example.com/foo/bar/master_detail.jpg", - "title" : "TITLE master detail" - } - ], - "viewType" : "detail" - }, - { - "images" : - [ - { - "alt" : "ALT master swatch", - "link" : "https://example.com/foo/bar/master_swatch.jpg", - "title" : "TITLE master swatch" - } - ], - "viewType" : "swatch" - }, - { - "images" : - [ - { - "alt" : "ALT master thumbnail", - "link" : "https://example.com/foo/bar/master_thumbnail.jpg", - "title" : "TITLE master thumbnail" - } - ], - "viewType" : "thumbnail" - } - ], - "inventories" : - [ - { - "ats" : 0, - "backorderable" : false, - "id" : "RedDress1Inventory", - "orderable" : false, - "preorderable" : false, - "stockLevel" : 0 - } - ], - "minOrderQuantity" : 1, - "stepQuantity" : 1 - }, - "type": "product" - } - ], - "total": 1 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Traits/BadRequest.raml b/testIntegration/stagingApis/customer/shopper-customers/Traits/BadRequest.raml deleted file mode 100644 index fef5eada..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Traits/BadRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: 400 response when there is a bad request for a customer. -responses: - '400': - description: | - CustomerId URL parameter does not match the verified customer represented by the JWT token. - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Invalid Customer", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-customer", - "detail": "The customer is invalid." - } diff --git a/testIntegration/stagingApis/customer/shopper-customers/Traits/CustomerAuthenticationFailed.raml b/testIntegration/stagingApis/customer/shopper-customers/Traits/CustomerAuthenticationFailed.raml deleted file mode 100644 index 42f19e39..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Traits/CustomerAuthenticationFailed.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: 401 response when a customer is not authenticated. -responses: - '401': - description: | - Case of type credentials the username is unknown or the password does not match. In case of type session, the session is not active anymore or the dwsecuretoken value is invalid. In both cases the customer is disabled or locked. - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Authentication Failed", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/authentication-failed", - "detail": "Customer authentication based on JohnSmith failed.", - "credentialType": "JohnSmith" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Traits/ExternalProfileBadRequest.raml b/testIntegration/stagingApis/customer/shopper-customers/Traits/ExternalProfileBadRequest.raml deleted file mode 100644 index fda46809..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Traits/ExternalProfileBadRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: 400 response when there is a bad request for a customer. -responses: - '400': - description: | - Customer ExternalId URL parameter is not valid. - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Invalid Customer External Profile", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-customer-external-profile", - "detail": "The customer external profile is invalid." - } diff --git a/testIntegration/stagingApis/customer/shopper-customers/Traits/ExternalProfileNotFound.raml b/testIntegration/stagingApis/customer/shopper-customers/Traits/ExternalProfileNotFound.raml deleted file mode 100644 index 7054ab41..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Traits/ExternalProfileNotFound.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: 404 response when a customer external profile is not found. -responses: - '404': - description: | - Requested Resource Not Found - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found", - "detail": "No customer with external profile with ID 'abfTWMDZOgi3JPzkHjv9IhmziI' could be found.", - "externalId": "abfTWMDZOgi3JPzkHjv9IhmziI" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Traits/NotFound.raml b/testIntegration/stagingApis/customer/shopper-customers/Traits/NotFound.raml deleted file mode 100644 index 7bb9a029..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Traits/NotFound.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: 404 response when a customer is not found. -responses: - '404': - description: | - Requested Resource Not Found - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found", - "detail": "No customer with ID 'abfTWMDZOgi3JPzkHjv9IhmziI' could be found.", - "customerId": "abfTWMDZOgi3JPzkHjv9IhmziI" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/Traits/Unauthorized.raml b/testIntegration/stagingApis/customer/shopper-customers/Traits/Unauthorized.raml deleted file mode 100644 index b656e407..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/Traits/Unauthorized.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: 401 response when a customer is not authorized. -responses: - '401': - description: | - Indicates that the customerId URL parameter does not match the verified customer represented by the JWT token, which is not relevant when using OAuth, or indicates that the provided new address name is already used for the customer. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "iI6IjEiLCJhbGciOiJIUzI1NiIsInR5cCI6Ik" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange.json b/testIntegration/stagingApis/customer/shopper-customers/exchange.json deleted file mode 100644 index b38ea2b9..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "0.0.50", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-customers.raml", - "assetId": "shopper-customers", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Customers", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml deleted file mode 100644 index 1f282c6d..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - -uses: - Pagination: dataTypes/pagination-types.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml deleted file mode 100644 index 40ff7f98..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml deleted file mode 100644 index 240efb3e..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml +++ /dev/null @@ -1,92 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json deleted file mode 100644 index 43604496..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.8","apiVersion":"v1","dependencies":[],"metadata":{"projectId":"3ca896ab-161d-4b74-aac8-2ad01f3f8e57","branchId":"master","commitId":"8cb35217b287a4dab4e2031fcd6fbe34fb83caf1"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml deleted file mode 100644 index 3afcaaf8..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml deleted file mode 100644 index 9dde8bcd..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: number - description: The starting offset returned. - SFDC-Pagination-Limit: - type: number - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: number - description: The total number of records available. - SFDC-Pagination-Result-Count?: - type: number - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index 4463d386..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml deleted file mode 100644 index 1fe2d231..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml deleted file mode 100644 index 419c821f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml +++ /dev/null @@ -1,358 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int32 - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json deleted file mode 100644 index 9012e41c..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.15","metadata":{"projectId":"b14c2b6a-2d86-46c1-9038-7cbedc656132","branchId":"master","commitId":"f6d54dade2b1aeed39ef12b62e6f8e8b9d0b48cd"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml deleted file mode 100644 index 4530d24e..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml deleted file mode 100644 index 0a2aefa8..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml +++ /dev/null @@ -1,111 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/example.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json deleted file mode 100644 index b7967978..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.17"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 86f76c76..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index f29a317f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 9517ea0e..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml deleted file mode 100644 index b00dcea6..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml deleted file mode 100644 index 5f1a0bcb..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`ShopperTokenTsob`:** a security scheme for endpoints that only allow the ShopperTokenTsob token type (tsob = Trusted system on behalf). - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json deleted file mode 100644 index 89dcc88a..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.20"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json deleted file mode 100644 index 3b7dd050..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-customers/shopper-customers-description.md b/testIntegration/stagingApis/customer/shopper-customers/shopper-customers-description.md deleted file mode 100644 index 434270c2..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/shopper-customers-description.md +++ /dev/null @@ -1,52 +0,0 @@ -# API Overview - -The Shopper Customers API enables you to develop functionality that lets customers log in, and manage their profiles and product lists. Profile management includes ability for shoppers to add or modify addresses and payment methods, and add or modify products to wishlists or favorites. Commerce Cloud provides a rich set of Authentication APIs that include logging in guest shoppers, registered shoppers, agents on behalf of customers and a trusted system authentication on behalf of customers. In all authentication scenarios involving customers, a JSON Web Token (JWT) is generated in Commerce Cloud. Using the JWT, customers can access other Shopper API resources like Orders and Baskets. The application must refresh the JWT every 30 minutes to save the shopper activity (for example, retain products in a shopper's cart) for prolonged periods of time. - -## Authentication & Authorization - -The client requesting the customer information must have access to the Customer and Product List resources. The API requests pass a system-to-system bearer token in the header of the request. For the trusted system API, the trusted client must first authenticate against Account manager to log in on behalf of a customer. - -For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Register a New Customer - -In this use case, a customer who is browsing on a commerce shopping app built using B2C Commerce APIs would like to create a customer profile, so that they can track their order when logged in on the next visit. - -The API flow is shown in the following diagram: - -![b2c-commerce-shopper-customers-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-customers-screenshot-1.png) - -1. The shopper opens the shopping app. -2. Request an access token from SLAS. For details, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. -3. The SLAS API responds with the shopper access token (JWT). -4. The shopper adds a product to their basket. -5. Use the Shopper Baskets API to create a basket. The shopper JWT from SLAS is supplied in the authorization header. -6. Save the basket with a registered user customer ID (even though the shopper is still a guest). The shopper JWT from SLAS is supplied in the authorization header. -7. The shopper creates a profile. -8. Use the Shopper Customers API to register the customer. - -### Authenticate a Trusted System on Behalf of a Customer - -In this cross-cloud use case, a Experience Cloud user places an order on Commerce Cloud from the Experience Cloud using the platform APIs. The Experience Cloud app is a trusted system that has a trusted relationship with Commerce Cloud using the OAuth client credentials grant against the Commerce Cloud Account Manager. The Experience Cloud user logs in with a redirect to Salesforce IDM and after successful login, the client application is able to call B2C Commerce APIs on behalf of the customer. Commerce Cloud returns a JWT for the Experience Cloud user and the Experience Cloud user is able to place orders on Commerce Cloud. - -The API flow is shown in the following diagram: - -![b2c-commerce-shopper-customers-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-customers-screenshot-2.png) - -### Reset Customer Password - -In this use case, a shopper who is browsing on a commerce shopping app, built using B2C Commerce APIs, requests to reset their password. The app verifies the shopper's credentials and returns a 404 if verification fails. Otherwise, when the shopper requests their password to be reset, the app first creates a password reset token using the shopper’s login ID, and an account manager token (obtained using the client credentials grant). After the app has the password reset token, the app can prompt the shopper for new password. Any app-level customization, such as sending a password reset email, can be done at this step. Finally, the app calls the reset endpoint to reset the customer’s password. - -![b2c-commerce-shopper-customers-screenshot-3.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-customers-screenshot-3.png) - -### Update Shopper LoginId - -In this use case, in order to update a shopper's loginId, the PATCH /customers/{customerId} call can be used starting B2C Commerce Cloud GA release 24.7. The new field in the request called `currentPassword` is mandatory and needs to match the shopper's existing password. If this field is not provided or does not match the existing shopper password when trying to update loginId, a HTTP 400 rsponse will be returned. If the loginId field is not sent in the PATCH request body, the `currentPassword` field is not required. -**Note: After the `loginId` is updated, a new SLAS token must be fetched for the shopper for subsequent calls. - -### Use Hooks - -For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) - diff --git a/testIntegration/stagingApis/customer/shopper-customers/shopper-customers.raml b/testIntegration/stagingApis/customer/shopper-customers/shopper-customers.raml deleted file mode 100644 index 5eab4cd8..00000000 --- a/testIntegration/stagingApis/customer/shopper-customers/shopper-customers.raml +++ /dev/null @@ -1,4031 +0,0 @@ -#%RAML 1.0 -title: Shopper Customers -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/customer/shopper-customers/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include shopper-customers-description.md - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CustomerTraits: Customer-traits-library.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - AuthRequest: - description: Document representing the authentication request type. - properties: - type: - description: "Type of authentication request: guest, credentials or refresh" - type: string - enum: - - guest - - credentials - - refresh - required: false - example: credentials - Basket: - description: |- - Document representing a basket. - - properties: - adjustedMerchandizeTotalTax: - description: |- - The tax after applying discounts in the purchase currency. - - Adjusted merchandize prices represent the sum of product prices before - services (such as shipping) have been added, but after adjustments from - promotions have been added. - type: number - format: double - example: 20.3 - adjustedShippingTotalTax: - description: |- - The tax of all shipping line items of the line item container, after - shipping adjustments have been applied. - type: number - format: double - example: 15.5 - agentBasket: - description: Is the basket created by an agent? - type: boolean - example: false - basketId: - description: The unique identifier for the basket. - type: string - example: "MyBasket" - billingAddress: - description: The billing address. This property is part of basket checkout information only. - type: OrderAddress - required: false - bonusDiscountLineItems: - description: The bonus discount line items of the line item container. - type: array - items: - type: BonusDiscountLineItem - required: false - channelType: - description: The sales channel for the order. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - couponItems: - description: The sorted array of coupon items. This array can be empty. - type: array - items: - type: CouponItem - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - currency: - description: The ISO 4217 mnemonic code of the currency. - type: string - example: "USD" - customerInfo: - description: The customer information for logged in customers. This property is part of basket checkout information only. - type: CustomerInfo - giftCertificateItems: - description: The sorted array of gift certificate line items. This array can be empty. - type: array - items: - type: GiftCertificateItem - required: false - groupedTaxItems?: - description: |- - Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same - tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. - type: - array - items: - type: GroupedTaxItem - inventoryReservationExpiry: - description: Date on which the inventory reservation for this basket expires. - type: datetime - required: false - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - merchandizeTotalTax: - description: |- - The total tax in the purchase currency. - - Merchandize total prices represent the sum of product prices before - services (such as shipping) or adjustments from promotions have - been added. - type: number - format: double - example: 10.0 - notes: - description: The notes for the line item container. - type: SimpleLink - orderPriceAdjustments: - description: The array of order level price adjustments. This array can be empty. - type: array - items: - type: PriceAdjustment - required: false - orderTotal: - description: |- - The total price of the order, including products, shipping, and tax. This property is part of basket checkout information only. - type: number - format: double - paymentInstruments: - description: The payment instruments list for the order. - type: array - items: - type: OrderPaymentInstrument - required: false - productItems: - description: The sorted array of product items (up to a maximum of 50 items). This array can be empty. - type: array - items: - type: ProductItem - required: false - productSubTotal: - description: |- - The total price of all product items after all product discounts. - - Depending on taxation policy, the returned price is net or gross. - type: number - format: double - example: 150.99 - productTotal: - description: |- - The total price of all product items after all product and order discounts - - Depending on taxation policy, the returned price is net or gross. - type: number - format: double - example: 99.99 - shipments: - description: The array of shipments. This property is part of basket checkout information only. - type: array - items: - type: Shipment - shippingItems: - description: The sorted array of shipping items. This array can be empty. - type: array - items: - type: ShippingItem - shippingTotal: - description: |- - The total shipping price of the order after all shipping discounts. Excludes tax if the taxation policy is net. Includes - tax if the taxation policy is gross. This property is part of the basket checkout information only. - type: number - format: double - example: 12.99 - shippingTotalTax: - description: |- - The tax of all shipping line items of the line item container, before - shipping adjustments have been applied. - type: number - format: double - example: 2.99 - sourceCode: - description: Gets the source code assigned to this basket. - type: string - required: false - taxTotal: - description: The total tax amount of the order. This property is part of basket checkout information only. - type: number - format: double - example: 5.99 - taxation: - description: The taxation the line item container is based on. - type: string - enum: - - gross - - net - example: net - taxRoundedAtGroup?: - description: |- - If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, - it is set to false. It is read only. - type: boolean - example: - true - temporaryBasket?: - description: |- - If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. It is read only. - type: boolean - example: - true - BasketsResult: - description: Result document containing an array of baskets. - properties: - baskets: - description: The list of baskets for a customer. - type: array - items: - type: Basket - required: false - total: - description: The total number of baskets. - type: integer - format: int32 - example: 10 - BonusDiscountLineItem: - description: Document representing a bonus discount line item. - properties: - bonusProducts: - description: The list of links to the bonus products the customer can choose from. - type: array - items: - type: ProductDetailsLink - couponCode: - description: The coupon code that triggered the promotion, if applicable. - type: string - example: "BOGO" - id: - description: The ID of the line item. - type: string - example: "45239" - maxBonusItems: - description: The maximum number of bonus items the user can select for this promotion. - type: integer - format: int32 - example: 1 - promotionId: - description: The ID of the promotion which triggered the creation of the line item. - type: string - example: "summer-sale" - - BundledProduct: - description: Document representing a bundled product within a product bundle. - properties: - id: - type: string - example: "awesome-bundle" - product: - description: The product being bundled. - type: Product - quantity: - description: For the product being bundled, the quantity added to the bundle. - type: number - format: double - CouponItem: - description: Document representing a coupon item. - properties: - code: - description: The coupon code. - maxLength: 256 - type: string - example: "BOGO" - couponItemId: - description: The coupon item ID. - type: string - required: false - example: "934kkas" - statusCode: - description: The status of the coupon item. - type: string - enum: - - coupon_code_already_in_basket - - coupon_code_already_redeemed - - coupon_code_unknown - - coupon_disabled - - redemption_limit_exceeded - - customer_redemption_limit_exceeded - - timeframe_redemption_limit_exceeded - - no_active_promotion - - coupon_already_in_basket - - no_applicable_promotion - - applied - - adhoc - required: false - example: applied - valid: - description: |- - A flag indicating whether the coupon item is valid. A coupon line item is valid if - the status code is `applied` or `no_applicable_promotion`. - type: boolean - required: false - example: true - Customer: - description: Person or entity who shops on Commerce Cloud storefronts by creating a shopper account in Commerce Cloud. - properties: - addresses: - description: The customer's addresses. - type: array - items: - type: CustomerAddress - required: false - authType: - description: |- - The customer's authorization type (indicates whether the customer is a guest - or a registered customer). - type: string - enum: - - guest - - registered - required: false - example: registered - birthday: - description: The customer's birthday. - type: date-only - required: false - companyName: - description: The customer's company name. - maxLength: 256 - type: string - required: false - example: "Acme" - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - customerId: - description: |- - The customer's number (ID). Both registered and guest customers have a - customer ID. - maxLength: 28 - type: string - required: false - example: "dfuisydifu2342usyf" - customerNo: - description: |- - The customer's number (ID). Only a registered customer has a customer - number. - maxLength: 100 - type: string - required: false - example: "D0000123" - currentPassword: - description: The shopper's current password. This is only used when attempting to update a shopper's `loginId` in a PATCH call. This value is never returned in any response for security reasons, but is validated and must match shopper's existing password in order to update `loginId`. Otherwise, an HTTP 400 statusCode is returned and the `loginId` is not updated. This field and functionality is available with B2C Commerce version 24.7. - type: string - required: false - email: - description: The customer's email address. - maxLength: 256 - type: string - required: false - example: "johnsmith@email.com" - enabled: - description: A flag indicating whether this customer is enabled and can log in. - type: boolean - required: false - example: true - fax: - description: The customer's fax number. The length is restricted to 32 characters. - maxLength: 32 - type: string - required: false - example: 555-555-5555 - firstName: - description: The customer's first name. - maxLength: 256 - type: string - required: false - example: "John" - gender: - description: The customer's gender. - type: integer - format: int32 - required: false - example: 1 - hashedLogin: - description: Represents the read-only hashed value for the `loginId` used for Einstein events. This field is available with B2C Commerce version 24.9. - type: string - required: false - example: "123927deac310a3dae382897d9e458bd92ef1d4ea5cdd327a0fcffd8426dfbb5" - jobTitle: - description: The customer's job title. - maxLength: 256 - type: string - required: false - example: "Supervisor" - lastLoginTime: - description: The time when the customer last logged in. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - lastName: - description: The customer's last name. - maxLength: 256 - type: string - required: false - example: "Smith" - lastVisitTime: - description: The time when the customer last visited. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - login: - description: The customer's login. In a PATCH call, this field can only be updated by providing a valid `currentPassword` for the shopper. The `loginId` update feature is available with B2C Commerce version 24.7. - maxLength: 256 - type: string - required: false - example: "jsmith" - note: - description: The customer's note. - type: string - required: false - example: "customer-note" - paymentInstruments: - description: The customer's payment instruments. - type: array - items: - type: CustomerPaymentInstrument - required: false - phoneBusiness: - description: The customer's business phone number. - maxLength: 32 - type: string - required: false - example: 555-555-5555 - phoneHome: - description: The customer's home phone number. - maxLength: 32 - type: string - required: false - example: 555-555-5555 - phoneMobile: - description: The customer's mobile phone number. - maxLength: 32 - type: string - required: false - example: 555-555-5555 - preferredLocale: - description: The customer's preferred locale. - type: string - required: false - example: "us-en" - previousLoginTime: - description: The time when the customer previously logged in. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - previousVisitTime: - description: The time when the customer last visited the store. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - salutation: - description: The salutation to use for the customer. - maxLength: 256 - type: string - required: false - example: "Mr." - secondName: - description: The customer's second name. - maxLength: 256 - type: string - required: false - example: "Smith" - suffix: - description: The customer's suffix (for example, "Jr." or "Sr."). - maxLength: 256 - type: string - required: false - example: "Jr." - title: - description: The customer's title (for example, "Mrs" or "Mr"). - maxLength: 256 - type: string - required: false - example: "Mr." - CustomerAddress: - description: Address that is associated with a shopper (billing, shipping, mailing, and so on). - properties: - address1: - description: The first address. - maxLength: 256 - type: string - required: false - example: "10 Presidential Way" - address2: - description: The second address. - maxLength: 256 - type: string - required: false - example: "Apt-616" - addressId: - description: The ID of the address as specified by account owner. - maxLength: 256 - type: string - example: "Home" - city: - description: The city. - maxLength: 256 - type: string - required: false - example: "New York" - companyName: - description: The company name. - maxLength: 256 - type: string - required: false - example: "Acme Inc" - countryCode: - description: The two-letter ISO 3166-1 (Alpha-2) country code. - maxLength: 2 - type: string - example: "US" - pattern: ^([A-Z][A-Z])$ - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T17:12:56.670Z - firstName: - description: The first name. - maxLength: 256 - type: string - required: false - example: "John" - fullName: - description: The full name. - maxLength: 256 - type: string - required: false - example: "John Smith" - jobTitle: - description: The job title. - maxLength: 256 - type: string - required: false - example: "Supervisor" - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T17:12:56.670Z - lastName: - description: The last name. - maxLength: 256 - type: string - example: "Smith" - phone: - description: The phone number. - maxLength: 32 - type: string - required: false - example: "555-555-5555" - postBox: - description: The post box. - maxLength: 256 - type: string - required: false - example: "12345" - postalCode: - description: The postal code. - maxLength: 256 - type: string - required: false - example: "N5" - preferred: - description: The preferred attribute. - type: boolean - required: false - example: true - salutation: - description: The salutation. - maxLength: 256 - type: string - required: false - example: "Sir" - secondName: - description: The second name. - maxLength: 256 - type: string - required: false - example: "Smith" - stateCode: - description: The state code. - maxLength: 256 - type: string - required: false - example: "UT" - suffix: - description: The suffix. - maxLength: 256 - type: string - required: false - example: "Sr." - suite: - description: The suite. - maxLength: 32 - type: string - required: false - example: "100" - title: - description: The title. - maxLength: 256 - type: string - required: false - example: "Supervisor" - CustomerAddressInfo: - description: Result document of product list addresses. - properties: - addressId: - description: The ID of the address. - maxLength: 256 - type: string - example: "Home" - title: - description: The link title. - type: string - example: "title" - CustomerInfo: - description: Document representing information used to identify a customer. - properties: - customerId: - description: The customer's number (ID). - maxLength: 100 - type: string - required: false - example: "3034s93875939348394hk3348" - customerName: - description: The customer's name. - type: string - required: false - example: "John Smith" - customerNo: - description: The customer's number (ID). - maxLength: 100 - type: string - example: "123" - email: - description: The customer's email address. - type: string - example: "jsmith@email.com" - CustomerOrderResult: - description: Result document containing an array of customer orders. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 3 - data: - description: The array of customer order documents. - type: Order[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 3 - CustomerPaymentCardRequest: - description: Document representing a customer payment card request. - properties: - cardType: - description: The payment card type (for example, "Visa"). - maxLength: 256 - type: string - example: "Visa" - creditCardToken: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data at the - token store. - type: string - required: false - example: "hk2jh293484" - expirationMonth: - description: The month the payment card expires. - type: integer - format: int32 - example: 11 - expirationYear: - description: The year the payment card expires. - type: integer - format: int32 - example: 9999 - holder: - description: The payment card holder. - maxLength: 256 - type: string - example: "John Smith" - issueNumber: - description: The payment card issue number. - maxLength: 256 - type: string - example: "92743927" - number: - description: The payment card number. - maxLength: 4000 - type: string - example: "4454852652415965" - validFromMonth: - description: The month the payment card valid is from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - example: 11 - validFromYear: - description: The year the payment card is valid from. - type: integer - format: int32 - example: 23 - CustomerPaymentInstrument: - description: Method for customers to pay for the goods purchased on an ecommerce site. Payment methods include - credit card, debit card, bank account, and gift card. - properties: - bankRoutingNumber: - description: The bank routing number. - maxLength: 256 - type: string - required: false - example: "KDSJHKS" - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - maskedGiftCertificateCode: - description: The masked gift certificate code. - type: string - required: false - example: "gift-code" - paymentBankAccount: - description: The payment bank account. - type: PaymentBankAccount - required: false - paymentCard: - description: The payment card. - type: PaymentCard - required: false - paymentInstrumentId: - description: The payment instrument ID. - type: string - example: "Personal" - required: false - paymentMethodId: - description: The payment method ID. Optional if a customer payment instrument ID is specified. - maxLength: 256 - type: string - example: "Personal" - required: false - CustomerPaymentInstrumentRequest: - description: Document representing a customer payment instrument request. - properties: - bankRoutingNumber: - description: The bank routing number. - maxLength: 256 - type: string - example: "AB123" - required: false - giftCertificateCode: - description: The gift certificate code. - maxLength: 256 - type: string - example: "gift-code" - required: false - paymentBankAccount: - description: The payment bank account request data. - type: PaymentBankAccountRequest - required: false - paymentCard: - description: The customer payment card. - type: CustomerPaymentCardRequest - required: false - paymentMethodId: - description: The payment method ID. Optional if a customer payment instrument ID is specified. - maxLength: 256 - type: string - example: "Credit Card" - required: false - Discount: - description: Document representing a discount that was applied to the price. - properties: - amount: - description: The amount that is used with the amount and fixed price types. - type: number - format: double - required: false - example: 30.25 - percentage: - description: The percentage that is used with percentage types. - type: number - format: double - required: false - example: 10.5 - priceBookId: - description: The price book ID that is used with some types. - type: string - required: false - example: "sale-pricebook" - type: - description: The type of discount. - type: string - enum: - - percentage - - fixed_price - - amount - - free - - price_book_price - - bonus - - total_fixed_price - - bonus_choice - - percentage_off_options - example: percentage - CustomerProductList: - description: Document representing a customer product list. - properties: - coRegistrant: - description: The coregistrant of this product list. - type: CustomerProductListRegistrant - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - currentShippingAddressInfo: - description: The resource link to the current shipping address of this customer product list. - type: CustomerAddressInfo - required: false - customerProductListItems: - description: The list of customer product list items. - type: array - required: false - items: - type: CustomerProductListItem - description: - description: The description of this product list. - type: string - required: false - example: "My Product List" - event: - description: The event of this product list. - type: ProductListEvent - required: false - id: - description: The ID of this product list. - minLength: 1 - type: string - required: false - example: "MyList" - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - name: - description: The name of this product list. - type: string - required: false - example: "Danny's Product List" - postEventShippingAddressInfo: - description: The resource link to the post event shipping address of this customer product list. - type: CustomerAddressInfo - required: false - productListShippingAddress: - description: The abbreviated shipping address of this product list representing what an anonymous user can see. - type: ProductListShippingAddress - required: false - public: - description: Indicates whether the owner made this product list available for access by other customers. - type: boolean - required: false - example: true - registrant: - description: The registrant of this product list. - type: CustomerProductListRegistrant - required: false - shippingAddressInfo: - description: The resource link to the shipping address of this customer product list. - type: CustomerAddressInfo - required: false - type: - description: The type of the product list. - type: string - required: false - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: "wish_list" - CustomerProductListItem: - description: Document representing a customer product list item. - properties: - id: - description: The ID of this product list item. - type: string - required: false - example: "Main Product" - priority: - description: The priority of the item. - type: integer - format: int32 - example: 1 - product: - description: The product item. - type: Product - required: false - productId: - description: The ID of the product. - type: string - required: false - example: "Toaster" - public: - description: Is this product list item available for access by other customers? - type: boolean - example: true - purchasedQuantity: - description: The quantity of products already purchased. - type: number - format: double - required: false - example: 1 - quantity: - description: The quantity of this product list item. - minimum: 0 - type: number - format: double - example: 2 - type: - description: The type of the item. - type: string - required: false - enum: - - product - - gift_certificate - example: "product" - CustomerProductListItemPurchase: - description: Document representing a customer product list item purchase. - properties: - id: - description: The ID of this purchase. - type: string - example: "myId" - orderNo: - description: The order number of this purchase. - type: string - example: "28234" - productListItemId: - description: The ID of the product list item this purchase relates to. - type: string - example: "My Product List" - purchaserName: - description: The name of the purchaser. - type: string - example: "John Smith" - quantity: - description: The quantity of this product list item purchased. - minimum: 0 - type: number - format: double - example: 1.0 - CustomerProductListRegistrant: - description: Document representing a customer product list registrant. - properties: - email: - description: The email of the registrant. - type: string - example: "jsmith@mail.com" - firstName: - description: The first name of the registrant. - type: string - example: "John" - lastName: - description: The last name of the registrant. - type: string - example: "Smith" - role: - description: The role of the registrant. - type: string - example: "Friend" - CustomerProductListResult: - description: Document representing a customer product lists result. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 13 - data: - description: The customer product lists. - type: array - items: - type: CustomerProductList - total: - description: The total number of documents. - type: integer - format: int32 - example: 3 - CustomerRegistration: - description: Document representing the registration information for a customer. - properties: - customer: - description: The customer registration information. The mandatory properties for registration are login, last name and email. - type: Customer - example: {"login": "jsmith", "email": "jsmith@test.com", "last_name": "Smith"} - password: - description: The login password - type: string - example: "Abcd!1234" - GiftCertificateItem: - description: A gift certificate item. - properties: - amount: - description: The certificate item amount. - type: number - format: double - example: 120.5 - giftCertificateItemId: - description: ID used to identify this item. - type: string - required: false - example: "myGiftId" - message: - description: The certificate's message. - maxLength: 4000 - type: string - required: false - example: "Buy One Get One Free" - recipientEmail: - description: The recipient's email. - minLength: 1 - type: string - example: "jsmith@mail.com" - recipientName: - description: The recipient's name. - type: string - required: false - example: "John Smith" - senderName: - description: The sender's name. - type: string - required: false - example: "Jane Smith" - shipmentId: - description: The shipment ID. - type: string - required: false - example: "Express" - GroupedTaxItem: - description: |- - Document representing the grouped tax item. - type: - CommerceCloudStandards.ClosedObject - properties: - taxRate?: - description: |- - The tax rate. It is read only. - type: number - format: double - example: 0.10 - taxValue?: - description: |- - The summed up tax total for the tax rate. It is read only. - type: number - format: double - example: 10.03 - Image: - description: Image of the product within a customer's productList. - properties: - alt: - type: string - required: false - example: "myImage" - disBaseLink: - type: string - required: false - example: "www.image.com/product.jpg" - link: - minLength: 1 - type: string - example: "https://www.ecom.com/myProduct.jpg" - title: - type: string - required: false - example: "My Product Image" - ImageGroup: - description: Document representing an image group containing a list of images for a particular view type and an optional variation value. - properties: - images: - description: The images of the image group. - type: array - items: - type: Image - variationAttributes: - description: Returns a list of variation attributes applied to this image group. - type: array - items: - type: VariationAttribute - required: false - viewType: - description: The image view type. - type: string - example: "Hi-Res" - Inventory: - description: Document representing inventory information of the current product for a particular inventory list. - properties: - ats: - description: |- - The Available To Sell (ATS) of the product. If it is infinity, the return value is `999999`. The value can be overwritten by the - OCAPI setting `product.inventory.ats.max_threshold`. - type: number - format: double - required: false - example: 25.0 - backorderable: - description: A flag indicating whether the product is backorderable. - type: boolean - required: false - example: true - id: - description: The inventory ID. - type: string - example: "listInventory" - inStockDate: - description: A flag indicating the date when the product will be in stock. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - orderable: - description: A flag indicating whether at least one product is available to sell. - type: boolean - required: false - example: true - preorderable: - description: A flag indicating whether the product is pre orderable. - type: boolean - required: false - example: true - stockLevel: - description: |- - The stock level of the product. If it is infinity, the return value is `999999`. The value can be overwritten by the - OCAPI setting `product.inventory.stock_level.max_threshold`. - type: number - format: double - required: false - example: 22 - Master: - description: Representation of a group of variant products. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Doesn't have a SKU.* - properties: - masterId: - maxLength: 100 - minLength: 1 - type: string - example: "Shirt" - orderable: - type: boolean - required: false - example: true - price: - type: number - format: double - required: false - example: 29.99 - priceMax: - type: number - format: double - required: false - example: 39.99 - prices: - type: object - properties: - //: - type: number - format: double - required: false - Option: - description: Document representing a product option. - properties: - description: - description: The localized description of the option. - type: string - required: false - example: "Great Option" - id: - description: The ID of the option. - maxLength: 100 - minLength: 1 - type: string - example: "Warranty" - image: - description: The URL to the option image. - type: string - required: false - example: "https://www.image.com/option.jpg" - name: - description: The localized name of the option. - type: string - required: false - example: "Warranty Option" - values: - description: The array of option values. This array can be empty. - type: array - items: - type: OptionValue - required: false - OptionItem: - description: Document representing an option item. - properties: - adjustedTax: - description: The tax of the product item after adjustments are applied. - type: number - format: double - required: false - example: 2.52 - basePrice: - description: |- - The base price for the line item, which is the - price of the unit before applying adjustments, in the purchase - currency. Depending on the configured taxation policy, the base price may be net or gross of tax. - type: number - format: double - required: false - example: 29.99 - bonusDiscountLineItemId: - description: The ID of the bonus discount line item this bonus product relates to. - type: string - required: false - example: "myProduct" - bonusProductLineItem: - description: A flag indicating whether the product item is a bonus. - type: boolean - required: false - example: true - bundledProductItems: - description: The array of bundled product items. Can be empty. - type: array - items: - type: ProductItem - required: false - gift: - description: Returns true if the item is a gift. - type: boolean - required: false - example: false - giftMessage: - description: The gift message. - type: string - required: false - example: "Enjoy!" - inventoryId: - description: The inventory list ID associated with this item. - maxLength: 256 - type: string - required: false - example: "storeInventory" - itemId: - description: |- - The item identifier. Use this to identify an item when updating the item quantity or creating a custom price - adjustment for an item. - type: string - required: false - example: "Shirt" - itemText: - description: The text describing the item in more detail. - type: string - required: false - example: "Magical Shirt" - optionId: - description: The ID of the option. - maxLength: 256 - type: string - example: "Warranty" - optionItems: - description: The array of option items. This array can be empty. - type: array - items: - type: OptionItem - required: false - optionValueId: - description: The ID of the option value. - maxLength: 256 - type: string - example: "5 years" - price: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - required: false - example: 29.99 - priceAdjustments: - description: Array of price adjustments. Can be empty. - type: array - items: - type: PriceAdjustment - required: false - priceAfterItemDiscount: - description: |- - The price of the product line item after applying all product-level - adjustments. For net pricing the adjusted net price is returned. For gross pricing, the adjusted - gross price is returned. - type: number - format: double - required: false - example: 19.99 - priceAfterOrderDiscount: - description: |- - The price of this product line item after considering all - dependent price adjustments and prorating all order-level - price adjustments. For net pricing the net price is returned. For gross - pricing, the gross price is returned. - type: number - format: double - required: false - example: 19.99 - productId: - description: The ID of the product. - maxLength: 100 - type: string - required: false - example: "Shirt" - productListItem: - description: The product list item. - type: ProductListItemReference - required: false - productName: - description: The name of the product. - type: string - required: false - example: "Nice Shirt" - quantity: - description: The quantity of products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - required: false - example: 100.00 - shipmentId: - description: The ID of the shipment which includes the product item. - type: string - required: false - example: "Express" - shippingItemId: - description: |- - The reference to the related shipping item, if it exists. This is the case, if for example, when a surcharge is - defined for individual products using a particular a shipping method. - type: string - required: false - example: "Express" - tax: - description: The tax of the product item before adjustments are applied. - type: number - format: double - required: false - example: 5.50 - taxBasis: - description: The price used to calculate the tax for this product item. - type: number - format: double - required: false - example: 10 - taxClassId: - description: |- - The tax class ID for the product item, or `null` - if no tax class ID is associated with the product item. - type: string - required: false - example: "Standard" - taxRate: - description: |- - The tax rate, which is the decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - required: false - example: 8.5 - OptionValue: - description: Document representing an option value. - properties: - default: - description: A flag indicating whether this option value is the default one. - type: boolean - required: false - example: true - id: - description: The ID of the option value. - maxLength: 100 - minLength: 1 - type: string - example: "5Years" - name: - description: The localized name of the option value. - type: string - required: false - example: "5 Year Warranty" - price: - description: The effective price of this option value. - type: number - format: double - required: false - example: 15.99 - Order: - description: Document representing an order. - properties: - adjustedMerchandizeTotalTax: - description: |- - The tax after discounts applied in the purchase currency. - - Adjusted merchandize prices represent the sum of product prices before - services (such as shipping) have been added, but after adjustments from - promotions have been added. - type: number - format: double - required: false - example: 6.50 - adjustedShippingTotalTax: - description: |- - The tax of all shipping line items of the line item container after - shipping adjustments have been applied. - type: number - format: double - required: false - example: 5.5 - billingAddress: - description: The billing address. This property is part of basket checkout information only. - type: OrderAddress - required: false - bonusDiscountLineItems: - description: The bonus discount line items of the line item container. - type: array - items: - type: BonusDiscountLineItem - required: false - channelType: - description: The sales channel for the order. - type: string - enum: - - storefront - - callcenter - - marketplace - - dss - - store - - pinterest - - twitter - - facebookads - - subscriptions - - onlinereservation - - customerservicecenter - - instagramcommerce - required: false - example: store - confirmationStatus: - description: The confirmation status of the order. - type: string - enum: - - not_confirmed - - confirmed - couponItems: - description: The sorted array of coupon items. This array can be empty. - type: array - items: - type: CouponItem - required: false - createdBy: - description: The name of the user who created the order. - type: string - required: false - example: "Someone" - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - currency: - description: The ISO 4217 mnemonic code of the currency. - type: string - required: false - example: "USD" - customerInfo: - description: The customer information for logged in customers. This property is part of basket checkout information only. - type: CustomerInfo - required: false - customerName: - description: The name of the customer associated with this order. - type: string - required: false - example: "John Smith" - exportStatus: - description: The export status of the order. - type: string - enum: - - not_exported - - exported - - ready - - failed - externalOrderStatus: - description: The external status of the order. - type: string - required: false - example: "set" - giftCertificateItems: - description: The sorted array of gift certificate line items. This array can be empty. - type: array - items: - type: GiftCertificateItem - required: false - globalPartyId: - description: globalPartyId is managed by Customer 360. Its value can be changed. - type: string - required: false - example: "globalId" - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - merchandizeTotalTax: - description: |- - The total tax in the purchase currency. - - Merchandize total prices represent the sum of product prices before - services (such as shipping) or adjustments from promotions have - been added. - type: number - format: double - required: false - example: 5.5 - notes: - description: The notes for the line item container. - type: SimpleLink - required: false - orderNo: - description: The order number of the order. - type: string - required: false - example: "firstOrder" - orderPriceAdjustments: - description: The array of order level price adjustments. This array can be empty. - type: array - items: - type: PriceAdjustment - required: false - orderToken: - description: |- - The order token used to secure the lookup of an order on base of the - plain order number. The order token contains only URL safe characters. - type: string - required: false - example: "token" - orderTotal: - description: |- - The total price of the order, including products, shipping, and tax. This property is part of basket checkout - information only. - type: number - format: double - required: false - example: 59.99 - paymentInstruments: - description: Method for customer to pay for the goods purchased on an ecommerce site. Payment methods include credit card, debit card, bank account, and gift card. - type: array - items: - type: OrderPaymentInstrument - required: false - paymentStatus: - description: The payment status of the order. - type: string - enum: - - not_paid - - part_paid - - paid - productItems: - description: The sorted array of product items (up to a maximum of 50 items). This array can be empty. - type: array - items: - type: ProductItem - required: false - productSubTotal: - description: |- - The total price of all product items after all product discounts. - Depending on taxation policy the returned price is net or gross. - type: number - format: double - required: false - example: 29.99 - productTotal: - description: |- - The total price of all product items after all product and order discounts. - Depending on taxation policy the returned price is net or gross. - type: number - format: double - required: false - example: 39.99 - shipments: - description: The array of shipments. This property is part of basket checkout information only. - type: array - items: - type: Shipment - required: false - shippingItems: - description: The sorted array of shipping items. This array can be empty. - type: array - items: - type: ShippingItem - required: false - shippingStatus: - description: The shipping status of the order. - type: string - enum: - - not_shipped - - part_shipped - - shipped - shippingTotal: - description: |- - The total shipping price of the order after all shipping discounts. Excludes tax if the taxation policy is net. Includes - tax if the taxation policy is gross. This property is part of basket checkout information only. - type: number - format: double - required: false - example: 59.99 - shippingTotalTax: - description: |- - The tax of all shipping line items of the line item container, before - shipping adjustments have been applied. - type: number - format: double - required: false - example: 5.99 - siteId: - description: The site where the order resides. - type: string - required: false - example: "SiteGenesis" - sourceCode: - description: Gets the source code assigned to this basket. - type: string - required: false - example: "code" - status: - description: The status of the order. - type: string - enum: - - created - - new - - open - - completed - - cancelled - - replaced - - failed - taxTotal: - description: The total tax amount of the order. This property is part of basket checkout information only. - type: number - format: double - required: false - example: 15.99 - taxation: - description: The taxation the line item container is based on. - type: string - enum: - - gross - - net - required: false - example: net - OrderAddress: - description: Document representing an order address. - properties: - address1: - description: The first address. - type: string - example: "10 Presidential Way" - address2: - description: The second address. - type: string - required: false - example: "Apt 10" - city: - description: The city. - type: string - example: "New York" - companyName: - description: The company name. - type: string - required: false - example: "Acme Inc" - countryCode: - description: The two-letter ISO 3166-1 (Alpha-2) country code. - type: string - example: "US" - pattern: ^([A-Z][A-Z])$ - firstName: - description: The first name. - type: string - example: "John" - fullName: - description: The full name. - type: string - required: false - example: "John Smith" - id: - description: ID used to identify this address - type: string - required: false - example: "Home" - jobTitle: - description: The job title. - type: string - required: false - example: "Supervisor" - lastName: - description: The last name. - type: string - example: "Smith" - phone: - description: The phone number. - type: string - required: false - example: "555-555-5555" - postBox: - description: The post box. - type: string - required: false - example: "58426" - postalCode: - description: The postal code. - type: string - example: "N5" - salutation: - description: The salutation. - type: string - required: false - example: "Mr." - secondName: - description: The second name. - type: string - required: false - example: "Smith" - stateCode: - description: The state code. - type: string - required: false - example: "UT" - suffix: - description: The suffix. - type: string - required: false - example: "Sr." - suite: - description: The suite. - type: string - required: false - example: "100" - title: - description: The title. - type: string - required: false - example: "Engineer" - OrderPaymentInstrument: - description: Document representing an order payment instrument. - properties: - amount: - description: The payment transaction amount. - type: number - format: double - example: 101.99 - authorizationStatus: - description: The authorization status of the payment transaction. - type: Status - bankRoutingNumber: - description: The bank routing number. - maxLength: 256 - type: string - example: "ACB123" - maskedGiftCertificateCode: - description: The masked gift certificate code. - type: string - example: "*****" - paymentBankAccount: - description: The payment bank account. - type: PaymentBankAccount - paymentCard: - description: The payment card. - type: PaymentCard - paymentInstrumentId: - description: The payment instrument ID. - type: string - example: "myId" - paymentMethodId: - description: The payment method ID. Optional if a customer payment instrument ID is specified. - maxLength: 256 - type: string - example: "CreditCard" - PasswordChangeRequest: - description: Document representing a password change request. - properties: - currentPassword: - description: The customer's current password. - maxLength: 4096 - type: string - example: "p@ssword1" - password: - description: The customer's new password. - maxLength: 4096 - type: string - example: "p@ssword2" - ResetPasswordRequest: - description: Document representing a reset password request. - properties: - resetToken: - description: Temporary token used to reset password. - maxLength: 4096 - type: string - example: "R1e2s3e4t5T6o7k8e9n0" - login: - description: The customer's login. - pattern: ^(?!\s*$).+ - maxLength: 256 - type: string - example: "loginId" - newPassword: - description: New password to reset to. - type: string - maxLength: 4096 - example: "p@ssword2" - ResetPasswordTokenRequest: - description: Document representing a reset password token request. - properties: - login: - description: The customer's login. - pattern: ^(?!\s*$).+ - maxLength: 256 - type: string - example: "loginId" - ResetPasswordToken: - description: Document representing reset password token response. - properties: - login: - description: The customer's login. - pattern: ^(?!\s*$).+ - maxLength: 256 - type: string - example: "loginId" - email: - description: The customer's email address. - maxLength: 256 - type: string - example: "jdoe@customer.com" - resetToken: - description: Temporary token generated that will be used to reset password. - maxLength: 4096 - type: string - example: "R1e2s3e4t5T6o7k8e9n0" - expiresInMinutes: - description: Reset token expiry (in minutes). - type: integer - format: int32 - example: 30 - PaymentBankAccount: - description: Document representing a payment bank account. - properties: - driversLicenseLastDigits: - description: |- - The last 4 characters of the decrypted driver’s license number of the bank account associated with this payment - instrument. - maxLength: 256 - type: string - required: false - example: "7435" - driversLicenseStateCode: - description: The driver’s license state code. - maxLength: 256 - type: string - required: false - example: UT - holder: - description: The holder of the bank account. - maxLength: 256 - type: string - required: false - example: "John Smith" - maskedDriversLicense: - description: |- - The decrypted driver’s license number of the bank account with all but the last 4 characters replaced with `*` - characters. - maxLength: 256 - type: string - required: false - example: "****7658" - maskedNumber: - description: The masked bank account number. - maxLength: 256 - type: string - required: false - example: "********" - numberLastDigits: - description: The last digits of the bank account number. - maxLength: 256 - required: false - type: string - example: "6654" - PaymentBankAccountRequest: - description: Document representing a payment bank account request. - properties: - driversLicense: - description: The driver’s license. - maxLength: 256 - type: string - example: "84736485" - driversLicenseStateCode: - description: The driver’s license state code. - maxLength: 256 - type: string - example: "UT" - holder: - description: The holder of the bank account. - maxLength: 256 - type: string - example: "John Smith" - number: - description: The payment bank account number. - maxLength: 256 - type: string - example: "9796976" - PaymentCard: - description: Document representing a payment card. - properties: - cardType: - description: The payment card type (for example, "Visa"). - maxLength: 256 - type: string - example: "Visa" - creditCardExpired: - description: A flag indicating if the credit card is expired. - type: boolean - required: false - example: false - creditCardToken: - description: |- - A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data in the - token store. - type: string - required: false - example: "969kJSD9" - expirationMonth: - description: The month the payment card expires. - type: integer - format: int32 - required: false - example: 03 - expirationYear: - description: The year the payment card expires. - type: integer - format: int32 - required: false - example: 23 - holder: - description: The payment card holder. - maxLength: 256 - type: string - required: false - example: "John Smith" - issueNumber: - description: The payment card issue number. - maxLength: 256 - type: string - required: false - example: "769969" - maskedNumber: - description: The masked credit card number. - maxLength: 4000 - type: string - required: false - example: "*****************" - numberLastDigits: - description: The last digits of credit card number. - maxLength: 4000 - type: string - required: false - example: "4579" - validFromMonth: - description: The month the payment card is valid from. - maximum: 12 - minimum: 1 - type: integer - format: int32 - required: false - example: 11 - validFromYear: - description: The year the payment card is valid from. - type: integer - format: int32 - required: false - example: 15 - PriceAdjustment: - description: |- - Document representing a price adjustment within a basket or order. Price adjustments - are assigned at the order, product, or shipping level. They are created by the - promotion engine if the custom flag is set to false, or are added by custom logic if the custom - flag is set to `true`. For custom price adjustments created by a user, the manual flag should be - set to `true`. This is always the case for price adjustments created using OCAPI. - properties: - appliedDiscount: - description: |- - A price adjustment that provides details of the discount that was applied. - This adjustment is `null` for custom price adjustments created - without discount details. - type: Discount - couponCode: - description: |- - The coupon code that triggered the promotion, provided - the price adjustment was created as the result of a promotion - being triggered by a coupon. - type: string - example: "free" - createdBy: - description: The user who created the price adjustment. - type: string - example: "John Smith" - creationDate: - description: Returns the value of the `creationDate` attribute. - type: datetime - example: 9999-12-31T00:00:00.0Z - custom: - description: |- - A flag indicating whether this price adjustment was created by custom logic. This flag is - set to true unless the price adjustment was created by the promotion engine. - type: boolean - example: false - itemText: - description: The text describing the item in more detail. - type: string - example: "Brand New Item" - lastModified: - description: Returns the value of the `lastModified` attribute. - type: datetime - example: 9999-12-31T00:00:00.0Z - manual: - description: |- - A flag indicating whether this price adjustment was created in a manual process. - - For custom price adjustments created using the Shop API, this always - returns `true`. Using the scripting API, however, it is possible to set this to `true` - or `false`, according to the use case. - type: boolean - example: true - price: - description: The adjustment price. - type: number - format: double - example: 29.99 - priceAdjustmentId: - description: The price adjustment ID (UUID). - type: string - example: "3845kj34593845hiuhf" - promotionId: - description: |- - The ID of the related promotion. Custom price adjustments - can be assigned any promotion ID so long it is not - used by a price adjustment belonging to the same item, - and is not used by a promotion defined in the promotion engine. - If not specified, a promotion ID is generated. - type: string - example: "BestPromotion" - promotionLink: - description: The URL addressing the related promotion. - type: string - example: "www.site.com/promotions" - reasonCode: - description: The reason why this price adjustment was made. - type: string - enum: - - PRICE_MATCH - - BACKORDER - - EVEN_EXCHANGE - example: BACKORDER - Product: - description: Document representing a product. - properties: - brand: - description: The product’s brand. - type: string - required: false - example: "Apple" - bundledProducts: - description: The array of all bundled products of this product. - type: array - items: - type: BundledProduct - required: false - currency: - description: The ISO 4217 mnemonic code of the currency. - type: string - required: false - example: "USD" - ean: - description: The European Article Number. - type: string - required: false - example: "sidfhg97" - fetchDate: - type: integer - format: int32 - required: false - example: 15 - id: - description: The ID (SKU) of the product. - maxLength: 100 - minLength: 1 - type: string - example: "8746534" - imageGroups: - description: The array of product image groups. - type: array - items: - type: ImageGroup - required: false - inventories: - description: |- - The array of product inventories explicitly requested via the `inventory_ids` query parameter. This property - is only returned in the context of the `availability` expansion. - type: array - items: - type: Inventory - required: false - inventory: - description: |- - The site default inventory information. This property is only - returned in the context of the `availability` expansion. - type: Inventory - required: false - longDescription: - description: The localized product long description. - type: string - required: false - example: "Best Product Ever" - manufacturerName: - description: The product’s manufacturer name. - type: string - required: false - example: "Apple" - manufacturerSku: - description: The product’s manufacturer SKU. - type: string - required: false - example: "938579345" - master: - description: The master product information. Only for types master, variation group, and variant. - type: Master - required: false - minOrderQuantity: - description: The minimum order quantity for this product. - type: number - format: double - required: false - example: 10.0 - name: - description: The localized product name. - type: string - required: false - example: "Best Product" - options: - description: The array of product options, for type option. This array can be empty. - type: array - items: - type: Option - required: false - pageDescription: - description: The localized products page description. - type: string - required: false - pageKeywords: - description: The localized products page description. - type: string - required: false - example: "Apple" - pageTitle: - description: The localized products page title. - type: string - required: false - example: "Product" - price: - description: |- - The sales price of the product. In case of complex products, like master or set, this is the minimum price of - related child products. - type: number - format: double - required: false - example: 59.99 - priceMax: - description: The maximum sales of related child products in case of complex products like master or set. - type: number - format: double - required: false - example: 69.99 - prices: - description: The prices map with pricebook IDs and their values. - type: object - properties: - //: - type: number - format: double - required: false - primaryCategoryId: - description: The ID of the product’s primary category. - type: string - required: false - example: "Mens" - productLinks: - description: The array of source and target products links information. - type: array - items: - type: ProductLink - required: false - productPromotions: - description: |- - The array of active customer product promotions for this product. This array can be empty. - Coupon promotions are not returned in this array. - type: array - items: - type: ProductPromotion - required: false - recommendations: - description: Returns a list of recommendations. - type: array - items: - type: Recommendation - required: false - setProducts: - description: The array of set products of this product. - type: array - items: - type: Product - required: false - shortDescription: - description: The localized product short description. - type: string - required: false - example: "What a Product!" - stepQuantity: - description: |- - The steps in which the order amount of the product can be - increased. - type: number - format: double - required: false - example: 1 - type: - description: "The product type information. Can be one or multiple of the following values: item, master, variation_group, variant, bundle, and set." - type: ProductType - required: false - unit: - description: The sales unit of the product. - type: string - required: false - example: "kg" - upc: - description: The Universal Product Code (UPC). - type: string - required: false - example: "0384753lj4lj" - validFrom: - description: The time when product is valid from. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - validTo: - description: The time when product is valid to. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - variants: - description: The array of actual variants. This array can be empty. Only for types master, variation group, and variant. - type: array - items: - type: Variant - required: false - variationAttributes: - description: |- - Sorted array of variation attributes information. This array can be empty. Only for types master, - variation group, and variant. - type: array - items: - type: VariationAttribute - required: false - variationGroups: - description: The array of actual variation groups. This array can be empty. Only for types master, variation group, and variant. - type: array - items: - type: VariationGroup - required: false - variationValues: - description: |- - The actual variation attribute ID - value pairs. Only for type variant and - variation group. - type: object - properties: - //: - type: string - required: false - ProductLink: - description: |- - Document representing a link between two products. It contains the ID of the source and target products, the type of - product link, and URLs to retrieve product data. - properties: - sourceProductId: - description: The semantic ID of the product from which this product link is coming from. - type: string - example: "9475394" - sourceProductLink: - description: The URL addressing the product from which this product link is coming from. - type: string - targetProductId: - description: The semantic ID of the product to which this product link is pointing to. - type: string - example: "534583745" - targetProductLink: - description: The URL addressing the product to which this product link is pointing to. - type: string - type: - description: The type of product link. - type: string - enum: - - cross_sell - - replacement - - up_sell - - accessory - - newer_version - - alt_orderunit - - spare_part - - other - example: up_sell - ProductListEvent: - description: Document representing a product list event. - properties: - city: - description: The city where the event takes place. - type: string - required: false - example: "New York" - country: - description: The country where the event takes place. - type: string - required: false - example: "USA" - date: - description: The date when the event takes place. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - state: - description: The federal state where the event takes place. - type: string - required: false - example: "UT" - type: - description: Type of the event to celebrate. - type: string - example: "wedding" - ProductDetailsLink: - description: Document representing a link to the resource for product details. - properties: - productDescription: - description: The description of the product. - type: string - required: false - example: "Awesome Product" - productId: - description: The ID of the product. - type: string - example: "384756345" - productName: - description: The name of the product. - type: string - required: false - example: "WhatAProduct" - title: - description: The link title. - type: string - required: false - example: "ProductLink" - ProductListItemReference: - properties: - id: - description: The ID of the product list item. - type: string - example: "93475" - priority: - type: integer - format: int32 - required: false - example: 1 - productList: - description: The link of the product list the item is assigned to. - type: ProductListLink - required: false - public: - type: boolean - required: false - example: true - purchasedQuantity: - type: number - format: double - required: false - example: 12.0 - quantity: - minimum: 0 - type: number - format: double - required: false - example: 10.0 - type: - type: string - enum: - - product - - gift_certificate - required: false - example: product - ProductListRegistrant: - description: |- - - A `ProductListRegistrant` is typically associated with an event-related product list, such as a gift registry. It holds - information about a person associated with the event, such as a bride or groom. - - properties: - firstName: - description: The first name of the registrant. - type: string - example: "John" - lastName: - description: The last name of the registrant. - type: string - example: "Smith" - role: - description: The role of the registrant. - type: string - example: "CEO" - ProductListShippingAddress: - description: Document representing a product list shipping address. - properties: - addressId: - description: The ID of this address. - minLength: 1 - type: string - example: "Home" - city: - description: The city of this address. - type: string - required: false - example: "New York" - firstName: - description: The first name of this address. - type: string - required: false - example: "John" - lastName: - description: The last name of this address. - type: string - required: false - example: "Smith" - ProductListLink: - description: Document representing a link to a product list. - properties: - description: - description: The description of this product list. - type: string - example: "Awesome Product List" - link: - description: The target of the link. - type: string - example: "www.examplelist.com/myproductlist" - name: - description: The name of this product list. - type: string - example: "Super List" - public: - description: |- - A flag indicating whether the owner made this product list available for access - by other customers. - type: boolean - example: true - title: - description: The link title. - type: string - example: "My Product List" - type: - description: The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: wish_list - ProductItem: - description: Document representing a product item. - properties: - adjustedTax: - description: The tax of the product item after adjustments are applied. - type: number - format: double - required: false - example: 5.5 - basePrice: - description: |- - The base price for the line item, which is the - price of the unit before applying adjustments, in the purchase - currency. The base price may be net or gross of tax depending - on the configured taxation policy. - type: number - format: double - required: false - example: 29.99 - bonusDiscountLineItemId: - description: The ID of the bonus discount line item that the bonus product relates to. - type: string - required: false - example: "someId" - bonusProductLineItem: - description: A flag indicating whether the product item is a bonus. - type: boolean - required: false - example: false - bundledProductItems: - description: The array of bundled product items. Can be empty. - type: array - items: - type: ProductItem - required: false - gift: - description: Returns `true` if the item is a gift. - type: boolean - required: false - example: true - giftMessage: - description: The gift message. - type: string - required: false - example: "Enjoy the gift" - inventoryId: - description: The inventory list ID associated with this item. - maxLength: 256 - type: string - required: false - example: "someInventory" - itemId: - description: |- - The item identifier. Use this to identify an item when updating the item quantity or creating a custom price adjustment for an item. - type: string - required: false - example: "simpleItemId" - itemText: - description: The text describing the item in more detail. - type: string - required: false - example: "Super Item" - optionItems: - description: The array of option items. This array can be empty. - type: array - items: - type: OptionItem - required: false - price: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - required: false - example: 39.99 - priceAdjustments: - description: Array of price adjustments. Can be empty. - type: array - items: - type: PriceAdjustment - required: false - priceAfterItemDiscount: - description: |- - The price of the product line item after applying all product-level - adjustments. For net pricing the adjusted net price is returned. For gross pricing, the adjusted - gross price is returned. - type: number - format: double - required: false - example: 35.99 - priceAfterOrderDiscount: - description: |- - The price of this product line item after considering all - dependent price adjustments and prorating all order-level - price adjustments. For net pricing the net price is returned. For gross - pricing, the gross price is returned. - type: number - format: double - required: false - example: 35.99 - productId: - description: The ID of the product. - maxLength: 100 - type: string - required: false - example: "8374524" - productListItem: - description: The product list item. - type: ProductListItemReference - required: false - productName: - description: The name of the product. - type: string - required: false - example: "Shirt" - quantity: - description: The quantity of products represented by this item. - maximum: 999 - minimum: 0 - type: number - format: double - example: 5 - shipmentId: - description: The ID of the shipment which includes the product item. - type: string - required: false - example: "Express" - shippingItemId: - description: |- - The reference to the related shipping item if it exists. This is the case if, for example, when a surcharge is - defined for individual products using a particular a shipping method. - type: string - required: false - example: "Express" - tax: - description: The tax of the product item before adjustments are applied. - type: number - format: double - required: false - example: 5.5 - taxBasis: - description: The price used to calculate the tax for this product item. - type: number - format: double - required: false - example: 39.99 - taxClassId: - description: |- - The tax class ID for the product item, or `null` - if no tax class ID is associated with the product item. - type: string - required: false - example: "standard" - taxRate: - description: |- - The decimal tax rate to be applied - to the product represented by this item. - type: number - format: double - required: false - example: 12.5 - ProductPromotion: - description: Document representing a product promotion. - properties: - calloutMsg: - description: The localized call-out message of the promotion. - type: string - example: "Super Promotion" - promotionId: - description: The unique ID of the promotion. - type: string - example: "summerBlowout" - promotionalPrice: - description: The promotional price for this product. - type: number - format: double - example: 15.99 - ProductType: - description: Document representing a product type. - properties: - bundle: - description: A flag indicating whether the product is a bundle. - type: boolean - example: true - item: - description: A flag indicating whether the product is a standard item. - type: boolean - example: true - master: - description: A flag indicating whether the product is a master. - type: boolean - example: true - option: - description: A flag indicating whether the product is an option. - type: boolean - example: true - set: - description: A flag indicating whether the product is a set. - type: boolean - example: true - variant: - description: A flag indicating whether the product is a variant. - type: boolean - example: true - variationGroup: - description: A flag indicating whether the product is a variation group. - type: boolean - example: true - PublicProductListInfo: - description: Document representing a link to a public product list. - properties: - description: - description: The description of this product list. - type: string - required: false - example: "Super Awesome ProductList" - id: - description: The ID of the product-list document. - type: string - example: "3958739435" - name: - description: The name of this product list. - type: string - required: false - example: "My Product List" - title: - description: The link title. - type: string - example: "Product List Title" - type: - description: The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: custom_1 - PublicProductListResult: - description: Result document containing an array of public product list links. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: The array of product list link documents. - type: array - items: - type: PublicProductListInfo - total: - description: The total number of documents. - type: integer - format: int32 - example: 12 - PublicProductList: - description: Document representing a customer product list. - properties: - coRegistrant: - description: The coRegistrant of this product list. - type: ProductListRegistrant - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - description: - description: The description of this product list. - type: string - required: false - example: "Super Product List" - event: - description: The event of this product list. - type: ProductListEvent - required: false - id: - description: The id of this product list. - minLength: 1 - type: string - example: "873465834" - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - name: - description: The name of this product list. - type: string - required: false - example: "My Product List" - productListItems: - description: The product list items - type: array - items: - type: PublicProductListItem - required: false - productListShippingAddress: - description: The abbreviated shipping address of this product list representing what anonymous users see. - type: ProductListShippingAddress - required: false - public: - description: Indicates whether the owner made this product list available for access by other customers. - type: boolean - example: true - registrant: - description: The registrant of this product list. - type: ProductListRegistrant - required: false - type: - description: The type of the product list. - type: string - enum: - - wish_list - - gift_registry - - shopping_list - - custom_1 - - custom_2 - - custom_3 - example: gift_registry - PublicProductListItem: - description: Document representing a product list item. - properties: - id: - description: The ID of this product list item. - type: string - example: "8745345" - priority: - description: The priority of the item. - type: integer - format: int32 - example: 2 - product: - description: The product item. - type: Product - required: false - type: - description: The type of the item. - type: string - enum: - - product - - gift_certificate - example: product - Recommendation: - description: Document representing a product recommendation. - properties: - calloutMsg: - description: The localized callout message of the recommendation. - type: string - required: false - example: "Buy this too" - image: - description: The image of the recommendation. - type: Image - required: false - longDescription: - description: The localized long description of the recommendation. - type: string - required: false - example: "Goes well with..." - name: - description: The localized name of the recommendation. - type: string - required: false - example: "Reco Product" - recommendationType: - description: The recommendation type of the recommendation. - type: RecommendationType - recommendedItemId: - description: The recommended item ID of the recommendation. - type: string - required: false - example: "93457893" - recommendedItemLink: - description: The recommended item link of the recommendation. - type: string - required: false - example: "Link" - shortDescription: - description: The localized short description of the recommendation. - type: string - required: false - example: "Awesome Product" - RecommendationType: - description: Document representing a recommendation type. - properties: - displayValue: - description: The localized display value of the recommendation type. - type: string - example: "UpSell" - value: - description: The value of the recommendation type. - type: integer - format: int32 - example: 2 - Shipment: - description: Document representing a shipment. - properties: - adjustedMerchandizeTotalTax: - description: |- - The tax after applying discounts in the purchase currency. Adjusted merchandize prices represent the sum of - product prices before services (such as shipping) have been added, but after adjustments from promotions have been added. - - Order level adjustments are considered if the Discount Taxation preference is set to - "Tax Products and Shipping Only Based on Adjusted Price." - type: number - format: double - required: false - example: 3.5 - adjustedShippingTotalTax: - description: The tax of all shipping line items of the line item container, after shipping adjustments have been applied. - type: number - format: double - required: false - example: 2.4 - gift: - description: A flag indicating whether the shipment is a gift. - type: boolean - required: false - example: true - giftMessage: - description: The gift message. - type: string - required: false - example: "Enjoy the Gift" - merchandizeTotalTax: - description: |- - The total tax in the purchase currency. Merchandize total prices represent the sum of product prices before - services (such as shipping), or adjustments from promotions, have been added. - type: number - format: double - required: false - example: 5.5 - productSubTotal: - description: |- - The total price of all product items after all product discounts. Depending on taxation policy, the returned price is net or gross. - type: number - format: double - required: false - example: 15.99 - productTotal: - description: |- - The total price of all product items after all product and order discounts. Depending on taxation policy, the returned price is net or gross. - type: number - format: double - required: false - example: 25.99 - shipmentId: - description: The order specific ID to identify the shipment. - type: string - required: false - example: "384765kad" - shipmentNo: - description: |- - Returns the shipment number for this shipment. - - This number is automatically generated. - type: string - required: false - example: "38453345" - shipmentTotal: - description: |- - The total price of the shipment, including products, shipping, and tax. - - Order level adjustments are not considered. - type: number - format: double - required: false - example: 10.99 - shippingAddress: - description: The shipping address. - type: OrderAddress - required: false - shippingMethod: - description: The shipping method. - type: ShippingMethod - required: false - shippingStatus: - description: The shipping status of the shipment. - type: string - enum: - - not_shipped - - shipped - example: shipped - shippingTotal: - description: |- - The total shipping price of the shipment, after all shipping discounts. Excludes tax if the taxation policy is net. - Includes tax if the taxation policy is gross. - type: number - format: double - required: false - example: 12.99 - shippingTotalTax: - description: The tax of all shipping line items of the line item container, before shipping adjustments have been applied. - type: number - format: double - required: false - example: 7.99 - taxTotal: - description: |- - The total tax amount of the shipment. - - Note that order level adjustments are considered if Discount Taxation preference is set to - "Tax Products and Shipping Only Based on Adjusted Price". - type: number - format: double - required: false - example: 7.99 - trackingNumber: - description: The tracking number of the shipment. - type: string - required: false - example: "3394853khbdf9sdf" - ShippingItem: - description: Document representing a shipping item. - properties: - adjustedTax: - description: The tax of the product item after adjustments are applied. - type: number - format: double - example: 5.5 - basePrice: - description: |- - The base price for the line item, which is the - price of the unit before applying adjustments, in the purchase - currency. The base price may be net or gross of tax depending - on the configured taxation policy. - type: number - format: double - example: 15.99 - itemId: - description: |- - The item identifier. Use this to identify an item when - updating the item quantity or creating a custom price adjustment for an item. - type: string - example: "3984" - itemText: - description: The text describing the item in more detail. - type: string - example: "My Item" - price: - description: |- - The price of the line item before applying any adjustments. If the line item is based on net pricing - then the net price is returned. If the line item is based on gross - pricing then the gross price is returned. - type: number - format: double - example: 29.99 - priceAdjustments: - description: Array of price adjustments. Can be empty. - type: array - items: - type: PriceAdjustment - priceAfterItemDiscount: - description: |- - The price of the product line item after applying all product-level - adjustments. For net pricing, the adjusted net price is returned. For gross pricing, the adjusted - gross price is returned. - type: number - format: double - example: 19.99 - shipmentId: - description: The identifier of the shipment to which this item belongs. - type: string - example: "ssdf9sd34f" - tax: - description: The tax of the product item before adjustments are applied. - type: number - format: double - example: 7.99 - taxBasis: - description: The price used to calculate the tax for this product item. - type: number - format: double - example: 29.99 - taxClassId: - description: |- - The tax class ID for the product item, or `null` - if no tax class ID is associated with the product item. - type: string - example: "standard" - taxRate: - description: |- - The decimal tax rate to be applied to the product represented by this item. - type: number - format: double - example: 12.5 - ShippingMethod: - description: Document representing a shipping method. - properties: - description: - description: The localized description of the shipping method. - type: string - required: false - example: "One Day Shipment" - externalShippingMethod: - description: The external shipping method. - type: string - required: false - example: "Air" - id: - description: The shipping method ID. - maxLength: 256 - type: string - example: "9wrksdf" - name: - description: The localized name of the shipping method. - type: string - required: false - example: "Ship" - price: - description: |- - The shipping cost total, including shipment level costs, - product level fix, and surcharge costs. - type: number - format: double - required: false - example: 12.99 - shippingPromotions: - description: |- - The array of active customer shipping promotions for this shipping - method. This array can be empty. - type: array - items: - type: ShippingPromotion - required: false - ShippingPromotion: - description: Document representing a shipping promotion. - properties: - calloutMsg: - description: The localized call-out message of the promotion. - type: string - example: "Free Shipping" - promotionId: - description: The unique ID of the promotion. - type: string - example: "wk23459234" - promotionName: - description: The localized promotion name. - type: string - example: "Free Shipping Week" - SimpleLink: - description: Document representing a link to another resource. - properties: - link: - description: The link to the resource. - type: string - example: "www.examplelink.com" - Status: - description: Document representing a status of an object. - properties: - code: - description: The status code. - type: string - example: "Success" - message: - description: The status message. - type: string - example: "Looking good" - status: - description: |- - The status. - - For more information on status values see, `dw.system.Status.OK` and - `dw.system.Status.ERROR`. - type: integer - format: int32 - example: 2 - TrustedSystemAuthRequest: - description: Document representing trusted system auth request. - properties: - clientId: - description: |- - The client ID of the shopping application to be encoded in the customer JSON Web Token (JWT). - This is not the same as the OAuth Client ID used to authenticate the API call, as - the OAuth Client ID is the trusted and private ID and this is the untrusted and public ID. - pattern: ^(?!\s*$).+ - type: string - example: "349534859384534" - login: - description: The customer's login. - pattern: ^(?!\s*$).+ - type: string - example: "loginId" - Variant: - description: Document representing a product variation. - properties: - orderable: - description: A flag indicating whether the variant is orderable. - type: boolean - required: false - example: true - price: - description: The sales price of the variant. - type: number - format: double - required: false - example: 25.99 - productId: - description: The ID (SKU) of the variant. - maxLength: 100 - minLength: 1 - type: string - example: "489752348592" - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - required: false - VariationAttribute: - description: Document representing a variation attribute. - properties: - id: - description: The ID of the variation attribute. - minLength: 1 - type: string - example: "color" - name: - description: The localized display name of the variation attribute. - type: string - required: false - example: "Color" - values: - description: The sorted array of variation values. This array can be empty. - type: array - items: - type: VariationAttributeValue - required: false - VariationAttributeValue: - description: Document representing a variation attribute value. - properties: - description: - description: The localized description of the variation value. - type: string - required: false - example: "Red" - image: - description: The first product image for the configured viewtype and this variation value. - type: Image - required: false - imageSwatch: - description: The first product image for the configured viewtype and this variation value (typically the swatch image). - type: Image - required: false - name: - description: The localized display name of the variation value. - type: string - required: false - example: "Red" - orderable: - description: A flag indicating whether at least one variant with this variation attribute value is available to sell. - type: boolean - required: false - example: true - value: - description: The actual variation value. - minLength: 1 - type: string - example: "Red" - VariationGroup: - description: Document representing a variation group. - properties: - orderable: - description: A flag indicating whether the variation group is orderable. - type: boolean - example: true - price: - description: The sales price of the variation group. - type: number - format: double - example: 25.99 - productId: - description: The ID (SKU) of the variation group. - maxLength: 100 - minLength: 1 - type: string - example: "93485793" - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - CustomerExtProfileRequest: - description: Document representing the External Profile Request. - properties: - authenticationProviderId: - description: The authentication Provider Id - type: string - minLength: 1 - required: true - example: "Google" - email: - description: The Email of the customer. - type: string - minLength: 1 - required: false - example: "s@gmail.com" - externalId: - description: The ID of the customer. - type: string - minLength: 1 - required: true - example: "jsmith@gmail.com" - firstName: - description: The First Name of the customer. - type: string - minLength: 1 - required: false - example: "John" - lastName: - description: The Last Name of the customer. - type: string - minLength: 1 - required: false - example: "Smith" - CustomerExternalProfile: - description: The Document representing the External Profile of a Customer. - type: CustomerExtProfileRequest - properties: - customerId: - description: The Id of the Customer - type: string - minLength: 1 - required: true - example: "1234" -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /customers: - post: - description: Registers a new customer. The mandatory data are the credentials, profile last name, and email. This requires a JSON Web Token (JWT) which needs to be obtained using the POST /customers/auth API with type "guest", or from the Shopper Login (SLAS) API. The return type object for this endpoint is a common customer object shared by multiple Shopper Customer endpoints. In this case, all customer object details are returned, but attributes that are not included in the response, although they might be part of the customer object, are ignored. For example, although address information is included in the customer object, it is not displayed in the response for this endpoint and is ignored. - displayName: registerCustomer - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.CustomerAuthenticationFailed - responses: - "200": - description: Success - body: - application/json: - type: Customer - examples: - customer: !include Examples/CustomerRegistrationResponse.raml - body: - application/json: - type: CustomerRegistration - example: !include Examples/CustomerRegistrationRequest.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-customers.register] } - /password/actions: - /reset: - post: - description: Reset customer password, after obtaining a reset token. This is the second step in the reset customer password flow, where a customer password is reset by providing the new credentials along with a reset token. This call should be preceded by a call to the /create-reset-token endpoint. - displayName: resetPassword - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - responses: - "204": - description: Reset password successful. No Content - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.shopper-customers.login] } - body: - application/json: - type: ResetPasswordRequest - example: !include Examples/ResetPasswordRequest.raml - /create-reset-token: - post: - description: Get reset password token. This is the first step in the reset customer password flow, where a password reset token is requested for future use to reset a customer password. This call should be followed by a call to the /reset endpoint. - displayName: getResetPasswordToken - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - responses: - "200": - description: Reset password token generated and returned successfully. - body: - application/json: - type: ResetPasswordToken - example: !include Examples/ResetTokenResult.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.shopper-customers.login] } - body: - application/json: - type: ResetPasswordTokenRequest - example: {"login": "janedoe@test.com"} - /external-profile: - post: - description: Registers a new external profile for a customer. This endpoint accepts a guest customer ShopperToken (JWT) only. - displayName: registerExternalProfile - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.CustomerAuthenticationFailed - responses: - "200": - description: Success - body: - application/json: - type: CustomerExternalProfile - example: !include Examples/CustomerExternalProfile.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-customers.register] } - body: - application/json: - type: CustomerExtProfileRequest - example: !include Examples/ExternalProfileRequest.raml - get: - description: Gets the new external profile for a customer. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: getExternalProfile - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.CustomerExtProfileBadRequest - - CustomerTraits.CustomerExtProfileNotFound - queryParameters: - externalId: - description: The External ID of the customer. - type: string - required: true - minLength: 1 - example: "s@gmail.com" - authenticationProviderId: - description: The authentication Provider Id. - type: string - minLength: 1 - required: true - example: "Google" - responses: - "200": - description: Success - body: - application/json: - type: CustomerExternalProfile - example: !include Examples/CustomerExternalProfile.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.shopper-customers.login] } - - /{customerId}: - get: - description: Gets a customer with all existing addresses and payment instruments associated with the requested customer. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: getCustomer - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: Customer - example: !include Examples/Customer.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount,sfcc.shopper-myaccount.rw] } - patch: - description: Updates a customer. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: updateCustomer - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: Customer - examples: - customer: !include Examples/UpdateCustomerResponse.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.rw] } - body: - application/json: - type: Customer - example: - customer: !include Examples/UpdateCustomerRequest.raml - uriParameters: - customerId: - description: The customer ID. - minLength: 1 - type: string - example: abfTEMDZOgi3JPrkHjv9IhoziM - /addresses: - post: - description: Creates a new address with the given name for the given customer. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: createCustomerAddress - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerAddress - examples: - customerAddress: !include Examples/CustomerAddressResponse.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.addresses.rw] } - body: - application/json: - type: CustomerAddress - examples: - body: !include Examples/CustomerAddressRequest.raml - /{addressName}: - get: - description: Retrieves a customer's address by address name. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: getCustomerAddress - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerAddress - examples: - CustomerAddress: !include Examples/CustomerAddressResponse.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.addresses,sfcc.shopper-myaccount.addresses.rw] } - delete: - description: Deletes a customer's address by address name. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: removeCustomerAddress - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "204": - description: No Content - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.addresses.rw] } - patch: - description: Updates a customer's address by address name. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: updateCustomerAddress - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerAddress - examples: - customerAddress: !include Examples/CustomerAddressRequest.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.addresses.rw] } - body: - application/json: - type: CustomerAddress - examples: - body: !include Examples/CustomerAddressResponse.raml - uriParameters: - addressName: - description: The name of the address to update. - maxLength: 256 - minLength: 1 - type: string - example: home_address - - /baskets: - get: - description: Gets the baskets of a customer. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getCustomerBaskets - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: BasketsResult - examples: - basketsResult: !include Examples/CustomerBasketsResult.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.baskets] } - /orders: - get: - description: Returns a pageable list of all customer's orders. The default page size is 10. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getCustomerOrders - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - - CustomerTraits.OffsetPaginated: - maxLimit: 50 - defaultSize: 10 - queryParameters: - crossSites: - description: The flag indicating whether all sites should be searched. This flag is ignored unless a valid User / Agent is present with a trusted agent on behalf (TAOB) token. Without a TAOB token, only the customer's orders placed on the site specified by siteId are returned. - type: boolean - required: false - example: false - from: - type: string - required: false - example: 2012-10-31 08:46 - until: - type: string - required: false - example: 2012-10-31 08:46 - status: - type: string - required: false - example: new - responses: - "200": - description: Success - body: - application/json: - type: CustomerOrderResult - examples: - customerOrderResult: !include Examples/CustomersOrdersResult.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.orders] } - /password: - put: - description: Updates the customer's password. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: updateCustomerPassword - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "204": - description: No Content - body: - application/json: - type: PasswordChangeRequest - example: {"currentPassword": "01dpass", "password": "newpass"} - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-customers.login] } - /payment-instruments: - post: - description: Adds a payment instrument to the customer information. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: createCustomerPaymentInstrument - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerPaymentInstrument - examples: - customerPaymentInstrument: !include Examples/CustomerPaymentInstrument.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.paymentinstruments.rw] } - body: - application/json: - type: CustomerPaymentInstrumentRequest - examples: - customerPaymentInstrumentRequest: !include Examples/CustomerPaymentInstrumentRequest.raml - /{paymentInstrumentId}: - delete: - description: Deletes a customer's payment instrument. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: deleteCustomerPaymentInstrument - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "204": - description: No Content - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.paymentinstruments.rw] } - get: - description: Retrieves a customer's payment instrument by its ID. This endpoint accepts a registered customer ShopperToken (JWT) only. - displayName: getCustomerPaymentInstrument - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - 200: - description: Success - body: - application/json: - type: CustomerPaymentInstrument - example: !include Examples/CustomerPaymentInstrument.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.paymentinstruments,sfcc.shopper-myaccount.paymentinstruments.rw] } - uriParameters: - paymentInstrumentId: - description: The ID of the payment instrument to be retrievedCustomer. - minLength: 1 - type: string - example: cdOLciWbOsYl6aaadkwcsx9xHH - /product-lists: - get: - description: Returns all customer product lists. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getCustomerProductLists - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerProductListResult - examples: - customerProductListResult: !include Examples/CustomerProductListResult.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists,sfcc.shopper-myaccount.productlists.rw] } - post: - description: Creates a customer product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: createCustomerProductList - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerProductList - examples: - customerProductList: !include Examples/PostCustomerProductList.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists.rw] } - body: - application/json: - type: CustomerProductList - examples: - customerProductList: !include Examples/PostCustomerProductList.raml - /{listId}: - delete: - description: Deletes a customer product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: deleteCustomerProductList - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "204": - description: No Content - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists.rw] } - get: - description: Returns a customer product list of the given customer and the items in the list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getCustomerProductList - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerProductList - examples: - customerProductList: !include Examples/GetCustomerProductListByListId.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists,sfcc.shopper-myaccount.productlists.rw] } - patch: - description: Changes a product list. Changeable properties are the name, description, and if the list is public. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: updateCustomerProductList - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerProductList - examples: - customerProductList: !include Examples/UpdateCustomerProductListByListId.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists.rw] } - body: - application/json: - type: CustomerProductList - example: {"description": "Description"} - uriParameters: - listId: - description: The product list ID. - maxLength: 28 - minLength: 1 - type: string - example: bcedkiWbxCM2MaaadkRhB2IBzM - /items: - post: - description: |- - Adds an item to the customer's product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - - Considered values from the request body are: - - - `type` → The type of the item to be added to the customer's product. Must be a valid type. Mandatory. - list. - - `priority` → The priority of the item to be added to the customer's product list. - - `public` → The flag that determines whether the item to be added to the customer's product list is public. - - `product_id` → The ID (SKU) of the product related to the item to be added to the customer's product list. A valid product ID, used for product item type only. Must be a valid product ID; otherwise, a `ProductListProductIdMissingException` or `ProductListProductNotFoundException` is thrown. Mandatory when item type is `product`. - - `quantity` → Used for product item type only. This is the quantity of the item to be added to the customer's product list. - - You can also use a custom property of the form `c_`. The custom property must correspond to a custom attribute (``) that is defined for `ProductListItem`. The value of this property must be valid for the type of custom attribute defined for `ProductListItem`. - displayName: createCustomerProductListItem - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerProductListItem - examples: - customerProductListItem: !include Examples/UpdateCustomerProductListItem.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists.rw] } - body: - application/json: - type: CustomerProductListItem - examples: - customerProductListItem: !include Examples/UpdateCustomerProductListItem.raml - /{itemId}: - delete: - description: Removes an item from a customer product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: deleteCustomerProductListItem - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.NotFound - responses: - "204": - description: No Content - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists.rw] } - get: - description: Returns an item of a customer product list and the actual product details like image, availability and price. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getCustomerProductListItem - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerProductListItem - example: !include Examples/CustomerProductListItem.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists,sfcc.shopper-myaccount.productlists.rw] } - patch: - description: |- - Updates an item of a customer's product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - Considered values from the request body are: - - priority: This is the priority of the customer's product list item. - public: This is the flag whether the customer's product list item is public. - quantity: This is the quantity of - the customer's product list item. Used for product item type only. - custom properties in the form c_: The custom property - must correspond to a custom attribute () defined for ProductListItem. - The value of this property must be valid for the type of custom attribute defined for ProductListItem. - - displayName: updateCustomerProductListItem - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.NotFound - responses: - "200": - description: Success - body: - application/json: - type: CustomerProductListItem - example: !include Examples/UpdateCustomerProductListItem.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-myaccount.productlists.rw] } - body: - application/json: - type: CustomerProductListItem - example: !include Examples/CustomerProductListItemRequest.raml - uriParameters: - itemId: - description: The ID of the product list item to update. - maxLength: 28 - minLength: 1 - type: string - example: "nikon-d90-wlens" - /product-lists: - get: - description: Retrieves all public product lists as defined by the given search term (for example, email OR first name and last name). This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getPublicProductListsBySearchTerm - queryParameters: - email: - description: The email address of the customer the product lists belong to. - type: string - required: false - example: jsmith@test.com - firstName: - description: The first name of the customer the product lists belong to. - type: string - required: false - example: John - lastName: - description: The last name of the customer the product lists belong to. - type: string - required: false - example: Smith - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - - CustomerTraits.Unauthorized - responses: - "200": - description: Success - body: - application/json: - type: PublicProductListResult - examples: - publicProductListResult: !include Examples/productLists-result-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-productlists] } - /{listId}: - get: - description: Retrieves a public product list by ID and the items under that product list. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getPublicProductList - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - - CustomerTraits.Unauthorized - responses: - "200": - description: Success - body: - application/json: - type: PublicProductList - examples: - publicProductList: !include Examples/productListsID-result-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-productlists] } - uriParameters: - listId: - description: The ID of the list. - maxLength: 28 - minLength: 1 - type: string - example: bcqg6iWbw4XEYaaadjixFLTWP0 - /items: - /{itemId}: - get: - description: Retrieves an item from a public product list and the actual product details like product, image, availability and price. This endpoint accepts a registered customer ShopperToken (JWT) or a guest customer ShopperToken. - displayName: getProductListItem - responses: - "200": - description: Success - body: - application/json: - type: PublicProductListItem - examples: - PublicProductListItem: !include Examples/PublicProductListItem.raml - is: - - CommerceCloudStandards.SiteSpecific: - - CustomerTraits.BadRequest - - CustomerTraits.NotFound - - CustomerTraits.Unauthorized - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-productlists] } - uriParameters: - itemId: - description: The ID of the item. - minLength: 1 - type: string - example: 023513f915fad06573f330fb0d diff --git a/testIntegration/stagingApis/customer/shopper-seo/.metadata.json b/testIntegration/stagingApis/customer/shopper-seo/.metadata.json deleted file mode 100644 index b7355b19..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/.metadata.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-seo/1.0.9", - "name": "Shopper Seo", - "description": "", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-seo", - "version": "1.0.9", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Customer" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/customer/shopper-seo/Example/seo-url-mapping-response-example.raml b/testIntegration/stagingApis/customer/shopper-seo/Example/seo-url-mapping-response-example.raml deleted file mode 100644 index 5f8ca8f0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/Example/seo-url-mapping-response-example.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "resourceType": "CATEGORY", - "resourceId": "new-arrivals-tops", - "refinements": { - "refinementColor": "Blue" - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/Traits/BadRequest.raml b/testIntegration/stagingApis/customer/shopper-seo/Traits/BadRequest.raml deleted file mode 100644 index 4e6720c0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/Traits/BadRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: Thrown if the request is malformed, incomplete or otherwise erroneous. -responses: - '400': - description: The locale is invalid. Confirm that you passed in a locale in the valid format of ISO 639-1 for the language code and ISO 3166-1 for the country code. For example, en-US. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: | - { - "title": "Unknown Locale", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unknown-locale", - "detail": "The locale 'ab-CD' is unknown.", - "locale": "ab-CD" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/Traits/NotFound.raml b/testIntegration/stagingApis/customer/shopper-seo/Traits/NotFound.raml deleted file mode 100644 index bbd7bd1f..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/Traits/NotFound.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: Thrown if the requested resource is not found. -responses: - '404': - description: We couldn't find mapping information for the requested URL because there's no corresponding URL rule in Business Manager. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: | - { - "title": "Seo Url Mapping Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/seo-url-mapping-not-found", - "detail": "black/mens/accessories/luggage", - "urlSegment": "black/mens/accessories/luggage", - "locale": "en_US" - } - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/Traits/ShopperSeoTrait.raml b/testIntegration/stagingApis/customer/shopper-seo/Traits/ShopperSeoTrait.raml deleted file mode 100644 index a0c6cc9c..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/Traits/ShopperSeoTrait.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 Library - -uses: - CommerceCloudStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -traits: - LocaleSpecific: - usage: This trait should be used whenever a resource uses the context of a locale associated with its request. This will add a locale query parameter. - queryParameters: - locale?: - type: CommerceCloudStandards.LocaleCode - description: |- - A descriptor to provide locale context for a geographical region by both a language and/or country code. The locale pattern in the query param follows the ISO 639-1 for the language code (e.g. en, de, fr) and ISO 3166-1 for the country code (e.g. US, DE, AT). The param can be a combination of language code and country code or can just refer to the language code. - Below are some valid examples: - - en-US - - de-AT - - de - - default - Please note that if no locale is specified, the default site locale will be used. - example: - en-US \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/Traits/Unauthorized.raml b/testIntegration/stagingApis/customer/shopper-seo/Traits/Unauthorized.raml deleted file mode 100644 index cb07a7e0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/Traits/Unauthorized.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 401 response in case of authorization failure. - -responses: - 401: - description: The user making the call isn't authorized to make this request. For example, the correct scope wasn't added to an SLAS API Client or the access token is invalid or missing. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: | - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "hbGciOiJIUzI1NiIsInR5cCI6Ikp" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange.json b/testIntegration/stagingApis/customer/shopper-seo/exchange.json deleted file mode 100644 index d09d7d23..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.9", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-seo.raml", - "assetId": "shopper-seo", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Seo", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml deleted file mode 100644 index 99e06ea0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml +++ /dev/null @@ -1,120 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml deleted file mode 100644 index f9abcef7..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml +++ /dev/null @@ -1,69 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json deleted file mode 100644 index fbeb9213..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.27","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json deleted file mode 100644 index 3b7dd050..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/shopper-seo-description.md b/testIntegration/stagingApis/customer/shopper-seo/shopper-seo-description.md deleted file mode 100644 index e869f1d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/shopper-seo-description.md +++ /dev/null @@ -1,23 +0,0 @@ -# API Overview - -The Shopper SEO API Provides access to SEO-related information, such as URL mapping information. - -## Authentication & Authorization - -The Shopper SEO API requires a shopper access token from the [Shopper Login and API Access Service (SLAS).](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### URL Resolution - -For information on setting up URL rules and URL redirects in Business Manager, see [URL Resolution.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/url-resolution.html) - -### Caching - -Caching capabilities are available for the Shopper SEO API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) - -### Using Hooks - -For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/shopper-seo-library.raml b/testIntegration/stagingApis/customer/shopper-seo/shopper-seo-library.raml deleted file mode 100644 index 5f0e12fe..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/shopper-seo-library.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 Library - -traits: - BadRequest: !include Traits/BadRequest.raml - Unauthorized: !include Traits/Unauthorized.raml - NotFound: !include Traits/NotFound.raml - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - UrlMapping: - description: The URL mapping information for a URL that a shopper clicked or typed in. - type: object - properties: - resourceType: - description: The type of resource that corresponds to the requested URL. If you set up a URL redirect in Business Manager, resourceType returns the corresponding destination type value from the redirect. If there's a URI redirect, resourceType isn't returned. The URL redirect feature is available from B2C Commerce version 24.3. - type: string - required: false - enum: ['CATEGORY', 'PRODUCT', 'CONTENT_ASSET'] - minLength: 1 - maxLength: 256 - resourceSubType: - description: If the resourceType is CONTENT_ASSET, this field tells you whether the resource is a standard content asset or a Page Designer content asset. This output is available from B2C Commerce version 24.2. - type: string - required: false - enum: ['STANDARD_CONTENT_ASSET', 'PAGE_DESIGNER_CONTENT_ASSET'] - minLength: 1 - maxLength: 256 - resourceId: - description: The identifier for the resource that corresponds to the requested URL. If you set up a URL redirect in Business Manager, resourceId returns the corresponding destination ID value from the redirect. If there's a URI redirect, resourceId isn't returned. The URL redirect feature is available from B2C Commerce version 24.3. - type: string - required: false - minLength: 1 - maxLength: 256 - refinements: - description: The refinement filters that correspond to the URL and resourceType. Refinements are returned only if all of these conditions are met - a) the resourceType is CATEGORY, b) refinements are included in the urlSegment, and c) the refinements are configured in Business Manager. This field returns a key-value pair of refinement name and refinement value. If there’s a matching URL redirect for the requested URL. the refinements output isn’t returned. The URL redirect feature is available from B2C Commerce version 24.3. - type: object - required: false - additionalProperties: true - statusCode: - description: This field is populated only if you set up a URL redirect in Business Manager. It specifies whether the redirect is temporary (302 or 307) or permanent (301). See [Create a Redirect from a B2C Commerce URL.](https://help.salesforce.com/s/articleView?id=cc.b2c_creating_a_redirect_from_a_digital_url.htm&type=5) This parameter is available from B2C Commerce version 24.3. - type: integer - format: int32 - required: false - destinationUrl: - description: This field is populated if the urlSegment resolves to a redirect. Specifies the URL you want to redirect to as an absolute or relative URL. The destinationUrl is based on your configuration in Business Manager. It's either a calculated value indicating the Commerce Cloud object (product, category, or content asset) URL or your specified URL. Note that an object's path may not necessarily match your headless storefront URLs but can be used as a reference for calculating the destinationUrl. See [Create a Redirect from a B2C Commerce URL.](https://help.salesforce.com/s/articleView?id=cc.b2c_creating_a_redirect_from_a_digital_url.htm&type=5). Available from B2C Commerce 24.3. - type: string - required: false - minLength: 1 - maxLength: 2048 - copySourceParams: - description: This field is populated only if you set up a URL redirect in Business Manager. It’s a flag that shows whether the parameters of the source URL have been copied to the destination URL. This parameter is available from B2C Commerce version 24.3. - type: boolean - required: false - additionalUrlParams: - description: This field is populated only if you set up a URL redirect in Business Manager. It returns the parameters you want to add to the end of the URL. This parameter is available from B2C Commerce version 24.3. - type: string - required: false - minLength: 1 - maxLength: 2048 - productCategoryId: - description: This field is populated only if you set up a URL redirect in Business Manager. It identifies the destination product's category ID. This field is returned only when the destination type is product. This parameter is available from B2C Commerce version 24.3. - type: string - required: false - minLength: 1 - maxLength: 256 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-seo/shopper-seo.raml b/testIntegration/stagingApis/customer/shopper-seo/shopper-seo.raml deleted file mode 100644 index addf7674..00000000 --- a/testIntegration/stagingApis/customer/shopper-seo/shopper-seo.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 -title: Shopper SEO -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/site/shopper-seo/{version} -description: !include shopper-seo-description.md -mediaType: - - application/json -version: v1 -protocols: [HTTPS] -uses: - ShopperSeoTrait: Traits/ShopperSeoTrait.raml - ShopperSeoLib: shopper-seo-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: fd4gt8 - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /url-mapping: - type: CommerceCloudStandards.Organization - get: - description: Gets URL mapping information for a URL that a shopper clicked or typed in. The mapping information is based on URL rules and redirects set up in Business Manager. For more information about prerequisites and sample usage, see [URL Resolution](/docs/commerce/commerce-api/guide/url-resolution.html). You can customize the behavior of this endpoint by using hooks. See the hooks for getUrlMapping in the [Hook List](https://developer.salesforce.com/docs/commerce/commerce-api/guide/hook_list.html). - displayName: getUrlMapping - is: - - CommerceCloudStandards.SiteSpecific: - - ShopperSeoTrait.LocaleSpecific: - - ShopperSeoLib.BadRequest - - ShopperSeoLib.Unauthorized - - ShopperSeoLib.NotFound - responses: - '200': - description: Returns URL mapping information for a URL that a shopper clicked or typed in. - body: - type: ShopperSeoLib.UrlMapping - examples: - Url Mapping: !include Example/seo-url-mapping-response-example.raml - queryParameters: - urlSegment: - description: The part of the requested URL that comes after the domain name. For example, the urlSegment for "www.abc.com/blue/new-arrivals/tops" is "blue/new-arrivals/tops". There's no limit on the length of the urlSegment. However, for this endpoint, the maximum allowed length of the URL (after URL encoding) is 2047 characters. Make this field URL-encoded so that it properly handles special values such as whitespace. If a urlSegment includes a query string, a 404 error code is returned. - minLength: 1 - type: string - example: blue/new-arrivals/tops - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-seo] } - - - diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/.metadata.json b/testIntegration/stagingApis/customer/slas-admin-uap/.metadata.json deleted file mode 100644 index 15127b2c..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/.metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/slas-admin-uap/1.12.23", - "name": "SLAS Admin-UAP", - "description": "", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "slas-admin-uap", - "version": "1.12.23", - "categories": { - "CC API Family": [ - "Customer" - ] - } -} diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/Client.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/Client.raml deleted file mode 100644 index fb449bac..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/Client.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "clientId": "client-id1", - "name": "High Adventure Wear", - "secret": "secret1234", - "scopes": ["sfcc.products sfcc.catalogs sfcc.customers:ro"], - "redirectUri": "http://localhost/callback", - "callbackUri": "http://localhost:9010/pwd/reset/callback", - "channels": ["SiteGenesis", - "OtherSite"], - "privateClient": true, - "loginEpRestrict": false - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientListResponse.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientListResponse.raml deleted file mode 100644 index 10cbca8c..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientListResponse.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 NamedExample -# Example of Client List -value: - { - data: [ - { - "clientId": "a462b606-317c-4a3c-90a7-4b0b938f3807", - "secret": "", - "name": "Shop Mart", - "scopes": ["sfcc.products sfcc.catalogs sfcc.products.ro"], - "redirectUri": "http://localhost:9010/callback", - "callbackUri": "http://localhost:9010/pwd/reset/callback", - "channels": [ - "SiteGenesis", - "OtherSite" - ], - "isPrivateClient": true, - "loginEpRestrict": false - }, - { - "clientId": "726bde86-7b99-415d-98ec-9290bad18904", - "secret": "", - "name": "High Adventure Wear", - "scopes": ["sfcc.products sfcc.catalogs sfcc.products.ro"], - "redirectUri": "http://localhost:9010/callback", - "callbackUri": "http://localhost:9010/pwd/reset/callback", - "channels": [ - "SiteGenesis", - "OtherSite" - ], - "isPrivateClient": true, - "loginEpRestrict": false - }, - { - "clientId": "slas-default-client-1", - "secret": "", - "name": "Shop Salesforce", - "scopes": ["sfcc.products.ro sfcc.catalogs.ro"], - "redirectUri": "http://localhost:9010/callback", - "callbackUri": "http://localhost:9010/pwd/reset/callback", - "channels": [ - "SiteGenesis", - "OtherSite" - ], - "isPrivateClient": true, - "loginEpRestrict": false - } - ] - } - diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientRequest.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientRequest.raml deleted file mode 100644 index 720f3538..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientRequest.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "clientId": "client-id1", - "secret": "secret12345", - "name": "High Adventure Wear", - "scopes": [ - "sfcc.products", - "sfcc.catalogs", - "sfcc.products.ro" - ], - "redirectUri": ["http://localhost:9010/callback"], - "callbackUri": ["http://localhost:9010/pwd/reset/callback"], - "channels": ["SiteGenesis", - "OtherSite"], - "isPrivateClient": true, - "loginEpRestrict": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientWithSecret.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientWithSecret.raml deleted file mode 100644 index 48e73285..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientWithSecret.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "clientId": "client-id1", - "name": "High Adventure Wear", - "secret": "secret12345", - "scopes": ["sfcc.products", - "sfcc.catalogs", - "sfcc.customers:ro"], - "redirectUri": "http://localhost:9010/callback", - "callbackUri": "http://localhost:9010/pwd/reset/callback", - "channels": ["SiteGenesis", - "OtherSite"], - "privateClient": true, - "loginEpRestrict": false - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdentityProvider.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdentityProvider.raml deleted file mode 100644 index 87a26828..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdentityProvider.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "name": "google", - "clientId": "idp-client-id", - "clientSecret": "idp-secret", - "authUrl": "https://accounts.google.com/o/oauth2/v2/auth", - "tokenUrl": "https://oauth2.googleapis.com/token", - "tokenInfoUrl": "https://oauth2.googleapis.com/tokeninfo", - "userInfoUrl": "https://www.googleapis.com/oauth2/v3/userinfo", - "redirectUrl": "http://localhost:9010/hydra/callback", - "wellKnownUrl": "https://accounts.google.com/.well-known/openid-configuration", - "scopes": ["openid","email","profile"], - "preferenceValue": true, - "isClientCredsBody": false, - "teamId": "appleTeamId", - "keyId": "appleKeyId", - "loginMergeClaims": ["email"], - "oidcClaimMapper": ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdentityProviderResponse.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdentityProviderResponse.raml deleted file mode 100644 index 1ec86f5b..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdentityProviderResponse.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": 100, - "name": "Google", - "clientId": "idp-client-id", - "clientSecret": "idp-secret", - "authUrl": "https://accounts.google.com/o/oauth2/v2/auth", - "tokenUrl": "https://www.googleapis.com/oauth2/v3/token", - "tokenInfoUrl": "https://www.googleapis.com/oauth2/v3/tokeninfo", - "userInfoUrl": "https://www.googleapis.com/oauth2/v3/userinfo", - "redirectUrl": "http://localhost:9010/api/v1/idp/callback/Google", - "wellKnownUrl": "https://accounts.google.com/.well-known/openid-configuration", - "scopes": ["openid","email","profile"], - "isPreferred": true, - "isClientCredsBody": false, - "teamId": "", - "keyId": "", - "loginMergeClaims": ["email"], - "oidcClaimMapper": ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdpListResponse.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdpListResponse.raml deleted file mode 100644 index 441e6b62..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdpListResponse.raml +++ /dev/null @@ -1,79 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - data: - [ - { - "id": 1, - "name": "auth0", - "clientId": "idp-client-id", - "clientSecret": "idp-secret", - "authUrl": "https://slas-auth0-dev.us.auth0.com/authorize", - "tokenUrl": "https://slas-auth0-dev.us.auth0.com/oauth/token", - "tokenInfoUrl": "https://slas-auth0-dev.us.auth0.com/userinfo", - "userInfoUrl": "https://slas-auth0-dev.us.auth0.com/userinfo", - "redirectUrl": "http://localhost:9010/api/v1/idp/callback/auth0", - "scopes": ["openid","email","profile"], - "isPreferred": false, - "isClientCredsBody": false, - "teamId": "", - "keyId": "", - "loginMergeClaims": ["email"], - "oidcClaimMapper": ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - }, - { - "id": 2, - "name": "Google", - "clientId": "idp-client-id", - "clientSecret": "idp-secret", - "authUrl": "https://accounts.google.com/o/oauth2/v2/auth", - "tokenUrl": "https://www.googleapis.com/oauth2/v3/token", - "tokenInfoUrl": "https://www.googleapis.com/oauth2/v3/tokeninfo", - "userInfoUrl": "https://www.googleapis.com/oauth2/v3/userinfo", - "redirectUrl": "http://localhost:9010/api/v1/idp/callback/Google", - "scopes": ["openid","email","profile"], - "isPreferred": true, - "isClientCredsBody": false, - "teamId": "", - "keyId": "", - "loginMergeClaims": ["email"], - "oidcClaimMapper": ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - }, - { - "id": 3, - "name": "okta", - "clientId": "idp-client-id", - "clientSecret": "idp-secret", - "authUrl": "https://dev-9565236.okta.com/oauth2/v1/authorize", - "tokenUrl": "https://dev-9565236.okta.com/oauth2/v1/token", - "tokenInfoUrl": "https://dev-9565236.okta.com/oauth2/v1/introspect", - "userInfoUrl": "https://dev-9565236.okta.com/oauth2/v1/userinfo", - "redirectUrl": "http://localhost:9010/api/v1/idp/callback/okta", - "scopes": ["openid","email","profile"], - "isPreferred": false, - "isClientCredsBody": false, - "teamId": "", - "keyId": "", - "loginMergeClaims": ["email"], - "oidcClaimMapper": ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - }, - { - "id": 4, - "name": "salesforce", - "clientId": "idp-client-id", - "clientSecret": "idp-secret", - "authUrl": "https://login.salesforce.com/services/oauth2/authorize", - "tokenUrl": "https://login.salesforce.com/services/oauth2/token", - "tokenInfoUrl": "https://login.salesforce.com/services/oauth2/introspect", - "userInfoUrl": "https://login.salesforce.com/services/oauth2/userinfo", - "redirectUrl": "http://localhost:9010/api/v1/idp/callback/salesforce", - "scopes": ["openid","email","profile"], - "isPreferred": false, - "isClientCredsBody": false, - "teamId": "", - "keyId": "", - "loginMergeClaims": ["email"], - "oidcClaimMapper": ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/PasswordActionTemplate.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/PasswordActionTemplate.raml deleted file mode 100644 index 6784a096..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/PasswordActionTemplate.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "channelId": "SiteGenesis", - "name": "Passwordless SMS Template", - "subject": "Passwordless Token Request", - "link": "This is your passwordless token: ${token}", - "locale": "en-us", - "actionType": "PWDLESS_LOGIN", - "templateType": "SMS", - "template": "Passwordless Login Token Request\n\nHello ${name},\nYou're receiving this because you requested a passwordless login token for your account.\n${link}" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/PasswordActionTemplateRequest.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/PasswordActionTemplateRequest.raml deleted file mode 100644 index 6784a096..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/PasswordActionTemplateRequest.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "channelId": "SiteGenesis", - "name": "Passwordless SMS Template", - "subject": "Passwordless Token Request", - "link": "This is your passwordless token: ${token}", - "locale": "en-us", - "actionType": "PWDLESS_LOGIN", - "templateType": "SMS", - "template": "Passwordless Login Token Request\n\nHello ${name},\nYou're receiving this because you requested a passwordless login token for your account.\n${link}" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/Tenant.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/Tenant.raml deleted file mode 100644 index f5a1d5ee..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/Tenant.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "createdBy": "slas", - "modifiedBy": "slas", - "createdTime": "2021-02-25T00:55:54.119+0000", - "modifiedTime": "2021-02-25T00:55:54.119+0000", - "tenantId": "slsa_dev", - "merchantId": 2, - "description": "SLAS Default Tenant Two", - "contact": "Tenant Two", - "emailAddress": "tenant2@slas.tst", - "phoneNo": "111-222-4444", - "tier": "S", - "requestQuotaPerMinute": 8000, - "isDeleted": false, - "status": "CLEAR" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/TenantDto.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/TenantDto.raml deleted file mode 100644 index 96003a0f..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/TenantDto.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "tenantId": "slsa_dev", - "merchantName": "Popular Merchant", - "description": "Merchant Description", - "contact": "Jerry Smith", - "emailAddress": "jerry@merchant.com", - "phoneNo": "801-555-1234" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/TenantListResponse.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/TenantListResponse.raml deleted file mode 100644 index 4871040e..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/TenantListResponse.raml +++ /dev/null @@ -1,49 +0,0 @@ -#%RAML 1.0 NamedExample -# Example of Tenant List -value: - { - data: [ - { - "createdBy": "SLAS", - "modifiedBy": "SLAS", - "createdTime": "2021-02-25T00:55:52.726+0000", - "modifiedTime": "2021-02-25T00:55:52.726+0000", - "tenantId": "bcgl_stg", - "merchantId": 1, - "description": "BCGL Stg", - "contact": "Slas Test", - "emailAddress": "bcgl@slas.tst", - "phoneNo": "", - "isDeleted": false, - "status": "CLEAR" - }, - { - "createdBy": "SLAS", - "modifiedBy": "SLAS", - "createdTime": "2021-02-25T00:55:54.119+0000", - "modifiedTime": "2021-02-25T00:55:54.119+0000", - "tenantId": "slsa_dev", - "merchantId": 2, - "description": "SLAS Default Tenant Two", - "contact": "Tenant Two", - "emailAddress": "tenant2@slas.tst", - "phoneNo": "", - "isDeleted": true, - "status": "CLEAR" - }, - { - "createdBy": "SLAS", - "modifiedBy": "SLAS", - "createdTime": "2021-02-25T01:20:42.179+0000", - "modifiedTime": "2021-02-25T01:20:42.179+0000", - "tenantId": "blar_dev", - "merchantId": 3, - "description": "Token Testing", - "contact": "John Doe", - "emailAddress": "jdoe@shotzphoto.tst", - "phoneNo": "", - "isDeleted": false, - "status": "CLEAR" - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/UpdateTenant.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/UpdateTenant.raml deleted file mode 100644 index 71b823b8..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/Examples/UpdateTenant.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "tenantDescription": "Merchant Description", - "tenantContact": "Jerry Smith", - "emailAddress": "jerry@merchant.com", - "phoneNo": "801-555-1234" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange.json b/testIntegration/stagingApis/customer/slas-admin-uap/exchange.json deleted file mode 100644 index 3344a33e..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "provided": false - } - ], - "version": "1.12.23", - "apiVersion": "1.12.23", - "descriptorVersion": "1.0.0", - "classifier": "raml", - "main": "slas-admin.raml", - "assetId": "slas-admin-uap", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "SLAS Admin-UAP" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/slas-admin-description.md b/testIntegration/stagingApis/customer/slas-admin-uap/slas-admin-description.md deleted file mode 100644 index 0fb3c9df..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/slas-admin-description.md +++ /dev/null @@ -1,5 +0,0 @@ -The SLAS Admin API is a companion to the main [Shopper Login and API Access Service](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary) (SLAS), which enables secure access to Commerce Cloud’s Shopper APIs. The SLAS Admin API is only used for administration tasks, not for requesting access to the Shopper APIs. - -**Important:** Before using this API, follow the instructions in [Authorization for Shopper APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) from the Get Started guides. The guide provides a complete set of instructions for setting up a SLAS client. - -For more information, see the [SLAS guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas.html). diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/slas-admin.raml b/testIntegration/stagingApis/customer/slas-admin-uap/slas-admin.raml deleted file mode 100644 index dfe468b1..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/slas-admin.raml +++ /dev/null @@ -1,1078 +0,0 @@ -#%RAML 1.0 -title: SLAS Admin -description: !include slas-admin-description.md -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth-admin/{version} - -securitySchemes: - SlasSecurityScheme.BearerToken: !include slas-bearer-SecurityScheme.raml - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -types: - AdminAuthRoles: - type: string - description: Roles for SLAS Admin API access. The user will need to have SLAS_SERVICE_ADMIN role to access the admin APIs. SLAS_ORGANIZATION_ADMIN role is for Salesforce internal support users. - enum: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN] - - ClientType: - type: string - description: Client Type - enum: [REF_ARCH, WEB_APP, MOBILE_APP, SITE_GENESIS] - - PasswordTemplateActionType: - type: string - description: | - Describes the type of action that the password action template will be used for. - - Here are the actions that each enumerated string refers to: - - - `PWDLESS_LOGIN`: Passwordless login - - `PWD_RESET_ACTION`: Password reset - - `PWD_FORGOT_ACTION`: Forgot password - enum: [PWDLESS_LOGIN, PWD_RESET_ACTION, PWD_FORGOT_ACTION] - - PasswordTemplateType: - type: string - description: Identifies the type of mode that the password action template will be used for. - enum: [SMS] - - TierType: - type: string - description: | - This read only value relates to the B2C Comerce realm of the customer. - - XS = Bronze and Bronze+ - - S = Silver and Silver+ - - M = Gold and Gold+ - - L = Platinum and Platinum+ - enum: [XS, S, M, L] - - Client: - type: object - properties: - clientId: - description: Client ID - type: string - example: "client-id" - name: - description: Client Name - type: string - example: "Client Name" - secret: - description: Client Secret. The secret will only display on create and if the secret was updated when updating the client. - type: string - example: "client-secret" - scopes: - description: | - Merchant scopes. These scopes allows different permissions in SLAS and B2C commerce. - - Shopper Custom Objects additionally provides a way to do granular scoping besides the standard - `sfcc.shopper-custom-objects` like `sfcc.shopper-custom-objects.xyz` SLAS is capable of handling a maximum of 20 Custom Object scopes. - type: string[] - example: ["sfcc.products", "sfcc.catalogs", "sfcc.customers:ro"] - redirectUri: - description: Redirect URI - type: ApiStandards.AbsoluteUrl - example: "http://localhost:9010/callback" - callbackUri: - description: Redirect URI - type: ApiStandards.AbsoluteUrl - example: "http://localhost:9010/pwdless/login/callback" - channels: - description: Client Channels - type: string[] - example: ["RefArch", "SiteGenensis"] - isPrivateClient: - description: Private or Public Client - required: false - type: boolean - example: true - loginEpRestrict: - description: |- - When enabling (true) this will restrict all calls to the `\login` endpoint for the Client Id. When calling the `\login` endpoint and `loginEpRestrict` is enabled a HTTP Status code of 403 will be returned. - required: false - type: boolean - example: false - - ClientRequest: - description: Used to create and update a SLAS Client - properties: - name: - description: Client Name - type: string - example: "High Adventure Wear" - clientId: - description: SLAS client id. Must match the query parameter. - type: string - example: "client_id" - secret: - description: SLAS client secret. On create if left blank then a secret will be generated. - type: string - example: "client_secret" - scopes: - description: | - Merchant scopes. These scopes allows different permissions in SLAS and B2C commerce. - - Shopper Custom Objects additionally provides a way to do granular scoping besides the standard - `sfcc.shopper-custom-objects` like `sfcc.shopper-custom-objects.xyz` SLAS is capable of handling a maximum of 20 Custom Object scopes. - type: string[] - example: ["sfcc.products", "sfcc.catalogs", "sfcc.customers:ro"] - redirectUri: - description: Array of SLAS redirect URLs. Include protocol and domain name in each URL. Wildcards supported. - type: string[] - example: ["http://localhost:3000/callback", "https://*.example.com/callback"] - callbackUri: - description: Array of SLAS callback URLs that will be used for passworless login and password reset when mode=callback. Include protocol and domain name in each URL. Wildcards are NOT supported. - type: string[] - required: false - example: ["localhost:3000/password-reset-callback", "localhost:3000/passwordless-login-callback"] - channels: - description: Client Channels - type: string[] - example: ["RefArch", "SiteGenensis"] - isPrivateClient: - description: Private or Public Client. If left blank the client will default to private. - type: boolean - example: true - loginEpRestrict: - description: |- - When enabling (true) this will restrict all calls to the `\login` endpoint for the Client Id. When calling the `\login` endpoint and `loginEpRestrict` is enabled a HTTP Status code of 403 will be returned. - required: false - type: boolean - example: false - - ClientListResponse: - properties: - data: - description: An array of clients. - type: array - items: - type: Client - - IdentityProvider: - description: Identity provider - properties: - name: - description: Identity Provider Name - type: string - example: "google" - enum: [adfs, apple, auth0, azure, cognito, facebook, forgerock, gigya, gigya_social, google, okta, ping, salesforce] - authUrl: - description: Identity Provider auth URI - type: ApiStandards.AbsoluteUrl - example: "https://accounts.google.com/oauth2/v2/auth" - tokenUrl: - description: Identity Provider token URI - type: ApiStandards.AbsoluteUrl - example: "https://oauth2.googleapis.com/token" - tokenInfoUrl: - description: Identity Provider token info URI - type: ApiStandards.AbsoluteUrl - example: "https://oauth2.googleapis.com/tokeninfo" - userInfoUrl: - description: Identity Provider user info URI - type: ApiStandards.AbsoluteUrl - example: "https://www.googleapis.com/oauth2/v3/userinfo" - redirectUrl: - description: Identity Provider redirect URI - type: ApiStandards.AbsoluteUrl - example: "https://localhost:9010/my/callback" - clientId: - description: Client Id of the third party IDP. - type: string - example: "934277749308-02dg4398n3s31ofge8cot46jirn3kpkf.apps.googleusercontent.com" - clientSecret: - description: Client Secret of the third party IDP. For Apple copy the contents from the .p8 file that was downloaded from Apple between -*----BEGIN PRIVATE KEY-----* and -*---END PRIVATE KEY-----* markers. - type: string - example: "aKZM1xEnZopNP2bm2gc3GKex" - preferenceValue: - description: Set the IDP configuration as the Preferred SLAS IDP. Default value is `false`. - type: boolean - required: false - example: true - isClientCredsBody: - description: Default is to place the client credentials in a basic authorization header for the call to the IDP. If true, the client credentials are placed in the POST body to the IDP. - type: boolean - example: false - useWellKnown: - description: If set to `true`, SLAS uses the `wellKnowUrl` value to populate the `authUrl`, `tokenUrl`, `userInfoUrl`, and `scopes` values from the identity provider. Default value is `false`. - required: false - type: boolean - example: false - scopes: - description: IDP Scopes - type: string[] - example: ["oidc", "email", "profile"] - teamId: - description: Apple Team Id. Used primarily for Sign with Apple in generating the client secret. - type: string - required: false - example: "appleTeamId" - keyId: - description: Apple key id. This is the Key ID that was obtained from Apple when the the private key for client authentication was created. Used primarily for Sign with Apple in generating the client secret. - type: string - required: false - example: "appleKeyId" - loginMergeClaims: - description: | - List of user info claims that can be used as identifiers to look up and merge with an existing B2C Commerce profile for a registered shopper or an existing B2C Commerce profile created via federated login with an external Identity Provider with the same merge claim as this one. If multiple matching B2C Commerce shopper (customer) profiles are found, the external profile is merged with the most recently created shopper (customer) profile. Refer to the Merge Shopper Profiles user guide for more details. - - Note: When configuring an Apple IDP, 'email' and 'sub' are the only supported merge claims. - type: string[] - required: false - example: ["email", "phone"] - oidcClaimMapper: - description: Mapping from the identity provider’s token claims for SLAS to get user information values when the user successfully authenticates. The values in this array should be setup using the following `key=value` pair pattern. The key part is the SLAS key with the value part being the OIDC claim key. - type: string[] - required: false - example: ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - IdentityProviderResponse: - description: Identity provider Response - properties: - name: - description: Identity Provider Name - type: string - example: "google" - authUrl: - description: Identity Provider auth URI - type: ApiStandards.AbsoluteUrl - example: "https://accounts.google.com/o/oauth2/v2/auth" - tokenUrl: - description: Identity Provider token URI - type: ApiStandards.AbsoluteUrl - example: "https://oauth2.googleapis.com/token" - tokenInfoUrl: - description: Identity Provider token info URI - type: ApiStandards.AbsoluteUrl - example: "https://oauth2.googleapis.com/tokeninfo" - userInfoUrl: - description: Identity Provider user info URI - type: ApiStandards.AbsoluteUrl - example: "https://www.googleapis.com/oauth2/v3/userinfo" - redirectUrl: - description: Identity Provider redirect URI - type: ApiStandards.AbsoluteUrl - example: "https://localhost:9010/my/callback" - clientId: - description: SLAS IDP Client Id - type: string - example: "934277749308-02dg4398n3s31ofge8cot46jirn3kpkf.apps.googleusercontent.com" - clientSecret: - description: SLAS IDP Client Secret - type: string - example: "aKZM1xEnZopNP2bm2gc3GKex" - isPreferred: - description: Indicates if the IDP configuration is the Preferred SLAS IDP. - type: boolean - example: true - isClientCredsBody: - description: Default is to place the client credentials in a basic authorization header for the call to the IDP. If true, the client credentials are placed in the POST body to the IDP. - type: boolean - example: false - scopes: - description: Scopes needed by the IDP. - type: array - example: ["oidc", "email", "profile"] - teamId: - description: Apple Team ID. Used primarily for Sign with Apple in generating the client secret. - type: string - required: false - example: "appleTeamId" - keyId: - description: Apple key ID. This is the Key ID that was obtained from Apple when the the private key for client authentication was created. Used primarily for Sign with Apple in generating the client secret. - type: string - required: false - example: "appleKeyId" - loginMergeClaims: - description: | - List of user info claims that can be used as identifiers to look up and merge with an existing B2C Commerce profile for a registered shopper or an existing B2C Commerce profile created via federated login with an external Identity Provider with the same merge claim as this one. If multiple matching B2C Commerce shopper (customer) profiles are found, the external profile is merged with the most recently created shopper (customer) profile. Refer to the Merge Shopper Profiles user guide for more details. - - Note: When configuring an Apple IDP, 'email' and 'sub' are the only supported merge claims. - type: string[] - required: false - example: ["email", "phone"] - oidcClaimMapper: - description: Mapping from the identity provider’s token claims for SLAS to get user information values when the user successfully authenticates. The values in this array should be setup using the following `key=value` pair pattern. The key part is the SLAS key with the value part being the OIDC claim key. - type: string[] - required: false - example: ["accessToken=access_token","refreshToken=refresh_token","accessTokenTTL=expires_in","idToken=id_token","subject=sub","email=email","userId=sub","familyName=family_name","givenName=given_name","name=name"] - - - IdentityProviderListResponse: - properties: - data: - description: An array of identity providers - type: array - items: - type: IdentityProviderResponse - - Tenant: - description: Tenant - properties: - tenantId: - type: string - example: "aaaa_prd" - merchantId: - type: integer - example: 1 - description: - type: string - example: SLAS Merchant Name - contact: - type: string - example: SLAS Tenant Contact - emailAddress: - type: string - example: tenant_contact@slas.tst - phoneNo: - type: string - example: 000-000-0000 - isDeleted: - type: boolean - example: false - status: - type: string - example: CLEAR - tier: - type: TierType - example: "S" - requestQuotaPerMinute: - description: "This read only value shows the the number of requests that can be made per minute." - type: number - example: 8000 - TenantDto: - description: Create or update tenants - properties: - merchantName: - description: Name of the merchant. - type: string - description: - description: Additional information about the tenant. - type: string - contact: - description: Name of the merchant's designated contact. - type: string - emailAddress: - description: Email address of the designated contact. - type: string - phoneNo: - description: Phone number of the designated contact. - type: string - - TenantListResponse: - properties: - data: - description: An array of tenants. - type: array - items: - type: Tenant - - PasswordActionTemplate: - properties: - channelId: - type: string - example: "SiteGenesis" - name: - type: string - example: "Password Action Email Template" - subject: - type: string - example: "Password Action Token Request" - link: - type: string - example: "This is your password action token: ${token}" - locale: - type: string - example: "en-us" - description: Identifies the locale of the template. Must be one of the [language tag strings supported by JDK 11](https://www.oracle.com/java/technologies/javase/jdk11-suported-locales.html). The string is stored in all lowercase. - actionType: - type: PasswordTemplateActionType - example: "PWDLESS_LOGIN" - templateType: - type: PasswordTemplateType - example: "SMS" - template: - type: string - example: "Passwordless Login Token Request\n\nYou're receiving this because you requested a passwordless login token for your account.\n${link}" - -/tenants: - /{tenantId}: - get: - description: Retrieve a tenant by tenant id - displayName: retrieveTenant - securedBy: - - SlasSecurityScheme.BearerToken: { role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN] } - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: { - "type": "TenantRequestException", - "title": "Unable to retrieve resource because the tenant id was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: { - "type": "TenantException", - "title": "Unable to retrieve resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: { - "type": "TenantNotFoundException", - "title": "Unable to retrieve resource because no resource was found with that value" - } - 200: - description: Success - body: - application/json: - type: Tenant - examples: - Tenant : !include Examples/Tenant.raml - put: - description: Create or update a tenant. Use the request body to provide identification and contact information for the tenant and its associated merchant. - displayName: registerTenant - body: - application/json: - type: TenantDto - example: !include Examples/TenantDto.raml - securedBy: - - SlasSecurityScheme.BearerToken: { role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN] } - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: { - "type": "TenantUpdateException", - "title": "Unable to retrieve resource because the tenant id was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: { - "type": "TenantUpdateException", - "title": "Unable to retrieve resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - example: { - "type": "TenantNotFoundException", - "title": "Unable to retrieve resource because no resource was found with that value" - } - 409: - description: Conflict. - body: - application/json: - type: ApiStandards.ErrorResponse - example: { - "type": "TenantAlreadyExistsException", - "title": "Tenant[abcd_prd] already exists!" - } - 200: - description: Success - Tenant was updated - body: - application/json: - type: Tenant - examples: - Tenant : !include Examples/Tenant.raml - 201: - description: Success - Tenant was Created - body: - application/json: - type: Tenant - examples: - Tenant : !include Examples/Tenant.raml - /clients: - get: - description: Retrieve/Get all tenant clients - displayName: retrieveClients - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN]} - responses: - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientTenantException", - "title": "Unable to retrieve resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientNotFoundException", - "title": "Unable to retrieve resource because no resource was found with that value" - } - 200: - description: Success - body: - application/json: - examples: - ClientListResponse: !include Examples/ClientListResponse.raml - - /{clientId}: - get: - description: Retrieve a client - displayName: retrieveClient - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientRequestException", - "title": "Unable to retrieve resource because the client id was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientTenantException", - "title": "Unable to retrieve resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientNotFoundException", - "title": "Unable to retrieve resource because no resource was found with that value" - } - 200: - description: Success - body: - application/json: - type: Client - example: !include Examples/Client.raml - put: - description: Create or Update a client. Note - It is strongly advised to refrain from using the “sfcc-shopper-context.rw” scope with a PUBLIC Client because it offers fewer protections and could potentially enable malicious actors to access Shopper Context enabled promotions. It is highly recommended to use “sfcc-shopper-context.rw” scope with a private client. - displayName: registerClient - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN]} - body: - application/json: - type: ClientRequest - examples: - ClientRequest: !include Examples/ClientRequest.raml - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientRequestException", - "title": "Unable to update resource because the request body was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientTenantException", - "title": "Unable to update resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientNotFoundException", - "title": "Unable to update resource because no resource was found with that value" - } - 409: - description: Conflict. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientConflictException", - "title": "Unable to create resource because a duplicate resource was found" - } - 200: - description: Success - Client was updated. The secret will only be returned if a secret was sent in for update. - body: - application/json: - type: Client - examples: - Client: !include Examples/ClientWithSecret.raml - 201: - description: Success - Client was Created. This is the only time the secret will be returned. - body: - application/json: - type: Client - examples: - Client: !include Examples/ClientWithSecret.raml - delete: - description: Delete a client - displayName: deleteClient - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientRequestException", - "title": "Unable to delete resource because the request was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientTenantException", - "title": "Unable to delete resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientNotFoundException", - "title": "Unable to delete resource because no resource was found with that value" - } - 204: - description: No Content - - /password-action-templates: - description: | - A password action template simplifies the process of sending notifications to customers about password logins and password reset using string substitution in the template body. The template body is determined by the `template` parameter. The only template type supported is `SMS`. - - The following 3 strings are substituted in the template body according to the following rules: - 1. `${name}`: The first name of the user based on the login that is given. - 2. `${token}`: The password action token that is generated. - 3. `${link}`: A string provided to the endpoint (using the `link` parameter) that can include `${token}` and `${name}` for substitution. - get: - description: Retrieve/get a password action template. - displayName: retrievePwdlessTemplate - securedBy: - - SlasSecurityScheme.BearerToken: - {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - queryParameters: - channelId: - type: string - example: "SiteGenesis" - actionType: - type: PasswordTemplateActionType - example: "PWDLESS_LOGIN" - templateType: - type: string - example: "SMS" - responses: - 200: - description: Success - body: - application/json: - type: PasswordActionTemplate - examples: - Client: !include Examples/PasswordActionTemplate.raml - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "BadRequestException", - "title": "Unable to update resource because the request body was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientTenantException", - "title": "Unable to update resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "PasswordActionTemplateNotFoundException", - "title": "Template was not found" - } - put: - description: Create or update a password action template. - displayName: registerPwdlessTemplate - securedBy: - - SlasSecurityScheme.BearerToken: - {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - body: - application/json: - type: PasswordActionTemplate - example: !include Examples/PasswordActionTemplateRequest.raml - responses: - 201: - description: Success - A password action template was created. - body: - application/json: - type: PasswordActionTemplate - examples: - Client: !include Examples/PasswordActionTemplate.raml - 200: - description: Success - A password action template was updated. - body: - application/json: - type: PasswordActionTemplate - examples: - Client: !include Examples/PasswordActionTemplate.raml - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "PasswordActionTemplateCreateException", - "title": "Template was not created or updated" - } - 401: - description: Unauthorized. Wrong tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientTenantException", - "title": "Unable to update resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "PasswordActionTemplateNotFoundException", - "title": "Template was not found" - } - delete: - description: Delete a password action template. - displayName: deletePwdlessTemplate - securedBy: - - SlasSecurityScheme.BearerToken: - {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - queryParameters: - channelId: - type: string - example: "SiteGenesis" - actionType: - type: PasswordTemplateActionType - example: "PWDLESS_LOGIN" - templateType: - type: string - example: "REDIRECT" - locale: - type: string - example: "en-us" - responses: - 204: - description: No Content - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "PasswordActionTemplateDeleteException", - "title": "Template was not deleted" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ClientTenantException", - "title": "Unable to update resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "PasswordActionTemplateNotFoundException", - "title": "Template was not found" - } - /idps: - get: - description: Retrieve/Get all tenant identity providers - displayName: retrieveIdentityProviders - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN]} - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpRequestException", - "title": "Unable to retrieve resource because the tenant was deleted" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpTenantException", - "title": "Unable to retrieve resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpNotFoundException", - "title": "Unable to retrieve resource, no resource was found with that value" - } - 200: - description: Success - body: - application/json: - type: IdentityProviderListResponse - examples: - IdentityProvider: !include Examples/IdpListResponse.raml - /{name}: - get: - description: Retrieve/Get a specific identity provider - displayName: retrieveIdentityProvider - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpRequestException", - "title": "Unable to create resource because the request was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpTenantException", - "title": "Unable to create resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpNotFoundException", - "title": "Unable to delete resource, no resource was found with that value" - } - 200: - description: Success - body: - application/json: - type: IdentityProvider - examples: - IdentityProvider: !include Examples/IdentityProvider.raml - put: - description: Create or Update an identity provider - displayName: registerIdentityProvider - body: - application/json: - type: IdentityProvider - examples: - IdentityProvider: !include Examples/IdentityProvider.raml - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpRequestException", - "title": "Unable to update resource because the request body was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpTenantException", - "title": "Unable to update resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpNotFoundException", - "title": "Unable to update resource because no resource was found with that value" - } - 409: - description: Conflict - Duplicate - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpConflictException", - "title": "Unable to create resource because a duplicate resource was found" - } - 200: - description: Success - Updated an Idp. - body: - application/json: - type: IdentityProviderResponse - examples: - IdentityProviderResponse: !include Examples/IdentityProviderResponse.raml - 201: - description: Success - Created an Idp. - body: - application/json: - type: IdentityProviderResponse - examples: - IdentityProviderResponse: !include Examples/IdentityProviderResponse.raml - delete: - description: Delete a identity provider - displayName: deleteIdentityProvider - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpRequestException", - "title": "Unable to create resource because the request was invalid" - } - 401: - description: Unauthorized. Wrong Tenant. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpTenantException", - "title": "Unable to create resource because the tenant id was invalid" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "IdpNotFoundException", - "title": "Unable to delete resource, no resource was found with that value" - } - 204: - description: No Content - /customers/{customerId}: - delete: - description: Completely deletes all shopper records associated with the shoppers customer id. The email id will be used if passed as a query parameter. This conforms to the GDPR regulations. - displayName: deleteShopper - securedBy: - - SlasSecurityScheme.BearerToken: {role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN]} - queryParameters: - emailAddress: - description: The shoppers email address. - required: false - type: string - example: "test.user@salesforce.tst" - responses: - 400: - description: Bad Request. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ShopperDeleteException", - "title": "Email address does not match stored email address" - } - 404: - description: Not Found. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "ShopperNotFoundException", - "title": "SLAS USER was not found by customer id" - } - - 204: - description: No Content diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/slas-bearer-SecurityScheme.raml b/testIntegration/stagingApis/customer/slas-admin-uap/slas-bearer-SecurityScheme.raml deleted file mode 100644 index 81bfa2fb..00000000 --- a/testIntegration/stagingApis/customer/slas-admin-uap/slas-bearer-SecurityScheme.raml +++ /dev/null @@ -1,42 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements SLAS Administration APIs secured with an ECOM Account Manager JWT.
This security scheme expects a valid ECOM Account Manager Bearer token passed in the Authorization header to permit API access. See OCAPI documentation for /customers/auth?client_id={valid Account Manager clientID} -type: x-custom - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer eyJ0eXAiOiJKV1QiLCJraWQiOiJEMWhPUDdEODN4TjBqZWlqaTI3WWFvZFRjL0E9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJnZ2FubGV5QHNhbGVzZm9yY2UuY29tIiwiY3RzIjoiT0FVVEgyX1NUQVRFTEVTU19HUkFOVCIsImF1dGhfbGV2ZWwiOjAsImF1ZGl0VHJhY2tpbmdJZCI6ImM0ZjViMjZiLTMwZGItNDkwNC1hNTRjLWNlODc5ZTZlMjcyNS0xMzc2ODgwIiwiaXNzIjoiaHR0cHM6Ly9hY2NvdW50LXBvZDUuZGVtYW5kd2FyZS5uZXQ6NDQzL2R3c3NvL29hdXRoMiIsInRva2VuTmFtZSI6ImFjY2Vzc190b2tlbiIsInRva2VuX3R5cGUiOiJCZWFyZXIiLCJhdXRoR3JhbnRJZCI6IjEzaG9jdHBWU3lJdXJ5dS1Kd1QwSV9OT0hxOCIsImF1ZCI6ImI0MDM4NjcwLWY0NGYtNDQ3OS1hMThlLTdkNzgyNmI4Nzg1NCIsIm5iZiI6MTYxNDM1NTEwNCwiZ3JhbnRfdHlwZSI6InRva2VuIiwic2NvcGUiOlsidGVuYW50RmlsdGVyIiwib3BlbklkIiwicm9sZXMiXSwiYXV0aF90aW1lIjoxNjE0MzU1MTA0LCJyZWFsbSI6Ii8iLCJleHAiOjE2MTQzNTY5MDQsImlhdCI6MTYxNDM1NTEwNCwiZXhwaXJlc19pbiI6MTgwMCwianRpIjoiUlVMSDJ3TkVSLW43OHd1T0VSdjFLcVFxUTY4IiwiY2xpZW50X2lkIjoiYjQwMzg2NzAtZjQ0Zi00NDc5LWExOGUtN2Q3ODI2Yjg3ODU0IiwidGVuYW50RmlsdGVyIjoiQ0NEWF9TQlhfVVNFUjp6enh4XzAwMix6enh4X3NieDtFQ09NX0FETUlOOnp6eHhfMDAyO0VDT01fQlVTSU5FU1NfU1VQUE9SVDp6enh4XzAwMjtMT0dDRU5URVJfVVNFUjoqXyo7U0xBU19PUkdBTklaQVRJT05fQURNSU46YmNnbF9zdGcsenp6el8wMDYiLCJyb2xlcyI6WyJBTV9BQ0NPVU5UX0FETUlOIiwiR1JBRkFOQV9VU0VSIiwiQ05QX09QRVJBVElPTlMiLCJFQ09NX1NVUFBPUlQiLCJYQ0hBTkdFX1VTRVIiLCJBTV9PUkdBTklaQVRJT05fQURNSU4iLCJBTV9BUElfQURNSU4iLCJFQ09NX0w1X1NVUFBPUlQiLCJFQ09NX0FETUlOIiwiQ1FVT1RJRU5UX0NPTkZJR1VSQVRPUl9VU0VSIiwiQ05QX0FETUlOIiwiQ05QX0NJQ0QiLCJFQ09NX0JVU0lORVNTX1NVUFBPUlQiLCJBTV9ST0xFX0FETUlOIiwiU0xBU19PUkdBTklaQVRJT05fQURNSU4iLCJDUVVPVElFTlRfREFTSEJPQVJEX1VTRVIiLCJDQ0RYX1NCWF9VU0VSIiwiQVBQRF9VU0VSIiwiU0FMRVNGT1JDRV9VU0VSIiwiTE9HQ0VOVEVSX1VTRVIiLCJDTlBfU1VQUE9SVCIsIkFNX0dMT0JBTF9BRE1JTiJdfQ.SCaUxGskd8fslE37g0om3xfehFdm6U83mPML8kVcJPdSF_9OyXWhpKfYrfWVKSWJmRT-31xdze2TKH9ZhYRWFYALs-hEADjQ35jSjNUEqeFaVp5XgMned6jrE52aHg_1eMJQLvupff3lyhUIFbhjFUfsgFigMvbPZ6riAE6Rhmfp6iM4qUD_W2eadXgWJd3lMP9Hgu1mTFXi6yP0sd7m6jgM2atL9lF0Vv2fSQc7qo2CJl4aZgAeulOOpcp1qTpabEDD_8P5umoRzL_2DqacePCqTEq5MdQVu6rA5IXbcPl4u3PAdFOUUemRqDSk87He8G9EnoFrB2u14F5AlHDMfw - responses: - 401: - description: Unauthorized. ECOM access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: ApiStandards.ErrorResponse - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your ECOM access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your ECOM token is valid, but you have no permissions to access the resource. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your ECOM token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/.metadata.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/.metadata.json deleted file mode 100644 index a5ce2920..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/.metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/slas-shopper-login-uap/1.39.33", - "name": "SLAS Shopper Login-UAP", - "description": "", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "slas-shopper-login-uap", - "version": "1.39.33", - "categories": { - "CC API Family": [ - "Customer" - ] - } -} diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/examples/jwks-get-response.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/examples/jwks-get-response.json deleted file mode 100644 index 2a732b15..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/examples/jwks-get-response.json +++ /dev/null @@ -1,30 +0,0 @@ - -{ - "keys": [ - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "2d670fa8-0f28-44a1-b8b4-87a6d2feb1d8", - "x": "_2tPqxGhgX6cA5Qg7v6UH_9om8OR3-OehkgXXWraTp8", - "y": "DAykmQPtf282buIcL0rLwKYbK6ApgripMjazdAthUFw" - }, - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "eb70508f-4d64-46f7-a3d5-b36558d6e6b6", - "x": "VV0JVJFhkz71wY0E73Z-snorZ5oJf1QOdkIbCjyMqLs", - "y": "QLkqBVSPPrkd7HjaSEMgMU9Ob-FDpg1W-oLq5I4ExqQ" - }, - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "0f2016af-1388-4972-b54d-31cb9e3704ed", - "x": "KpmPoZTFXs80Uxy7QcOQ9aaqW35xgT3Qyakee8zR7gA", - "y": "P87TZ52rjnOGlmjaPeUGbLaOqiB7FHnoEzULIw6QlfJ" - } - ] -} - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/examples/jwks-get-response.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/examples/jwks-get-response.raml deleted file mode 100644 index d6b67816..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/examples/jwks-get-response.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "keys": [ - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "2d670fa8-0f28-44a1-b8b4-87a6d2feb1d8", - "x": "_2tPqxGhgX6cA5Qg7v6UH_9om8OR3-OehkgXXWraTp8", - "y": "DAykmQPtf282buIcL0rLwKYbK6ApgripMjazdAthUFw" - }, - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "eb70508f-4d64-46f7-a3d5-b36558d6e6b6", - "x": "VV0JVJFhkz71wY0E73Z-snorZ5oJf1QOdkIbCjyMqLs", - "y": "QLkqBVSPPrkd7HjaSEMgMU9Ob-FDpg1W-oLq5I4ExqQ" - }, - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "0f2016af-1388-4972-b54d-31cb9e3704ed", - "x": "KpmPoZTFXs80Uxy7QcOQ9aaqW35xgT3Qyakee8zR7gA", - "y": "P87TZ52rjnOGlmjaPeUGbLaOqiB7FHnoEzULIw6QlfJ" - } - ] -} - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange.json deleted file mode 100644 index 7c855c64..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "provided": false - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "provided": false - } - ], - "version": "1.39.36", - "apiVersion": "1.39.36", - "descriptorVersion": "1.0.0", - "classifier": "raml", - "main": "shopper-login.raml", - "assetId": "slas-shopper-login-uap", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "SLAS Shopper Login-UAP" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login-and-api-access-description.md b/testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login-and-api-access-description.md deleted file mode 100644 index 05669435..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login-and-api-access-description.md +++ /dev/null @@ -1,5 +0,0 @@ -The Shopper Login and API Access Service (SLAS) enables secure access to Commerce Cloud’s Shopper APIs for a wide range of headless commerce applications. - -**Important:** Before using this API, see [Authorization for Shopper APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) in the Get Started guides and the more detailed [SLAS guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas.html) for instructions on setting up a SLAS client, obtaining credentials, as well as flow and use case information. - -For load shedding and rate limiting information, see [Load Shedding and Rate Limiting.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/throttle-rates.html) \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login.raml deleted file mode 100644 index 843361bf..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login.raml +++ /dev/null @@ -1,2071 +0,0 @@ -#%RAML 1.0 -title: Shopper Login -description: !include shopper-login-and-api-access-description.md -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6ope - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -traits: - SlasRateLimit: !include traits/slasRateLimit.raml - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml -types: - ResponseType: - type: string - description: Response Type - enum: [code] - GrantType: - type: string - description: Grant Type - enum: - [ - authorization_code, - refresh_token, - client_credentials, - authorization_code_pkce, - session_bridge, - ] - TokenType: - type: string - description: Token Type - enum: [Bearer] - TokenTypeHint: - type: string - description: Token Type Hint - enum: [access_token, refresh_token] - ThirdPartyIdps: - type: string - description: IDPs that work with SLAS. Use `ecom` when using B2C Commerce is the identity provider. - enum: - [ - apple, - auth0, - azure, - azure_adb2c, - cognito, - default, - ecom, - facebook, - forgerock, - gigya, - gigya_socialize, - google, - okta, - ping, - salesforce, - ] - PasswordActionModes: - type: string - description: Password Action delivery modes - enum: [callback, sms] - TrustedOnBehalf: - type: string - description: Type of system used for Trusted System On Behalf of requests. - enum: [ts_ext_on_behalf_of] - TokenRequest: - type: object - properties: - refresh_token: - description: The long-term token used to refresh the short term access token. Required only with a grant type of `refresh_token`. - type: string - required: false - maxLength: 256 - code: - description: Authorization code from the OAuth 2.1 service received in the front channel that is used to get access tokens and refresh tokens. Required with a grant type of `authorization_code` and `session_bridge`. - type: string - required: false - maxLength: 256 - example: "M0t1K0pyoFKhBpUZnuUYO07xf8iYyMJrAc7h31h_ra8.gglPClJHsofqdTm_yPe5n6m2yCXzFmD8qICwIEjQGVA" - usid: - description: The shopper's unique identifier, if known. If not provided, a new USID is generated. - type: string - required: false - example: "54ad2c5a-91f0-44ab-817c-73d6b86872d9" - grant_type: - description: OAuth 2.1 grant type - type: GrantType - example: "authorization_code" - redirect_uri: - description: | - The redirect URI that was used when getting the authorization code. A variety of URI formats and wildcards for host are supported, but app links like `airbnb://` or `fb://` are not. - - Examples of supported URIs: - - `http://localhost:3000/callback` - - `https://example.com/callback` - - `com.example.app:redirect_uri_path` - - ` *.subdomain.topleveldomain.com` - type: string - required: false - maxLength: 256 - example: "http://localhost:3000/callback" - code_verifier: - description: |- - PKCE code verifier. Created by the client calling the `login` endpoint. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - - The `code_verifier` is optional when using a private client id for the token request. - type: string - maxLength: 128 - required: false - client_id: - description: The SLAS client ID. Required when the grant type is `authorization_code_pkce`. - required: false - type: string - maxLength: 40 - example: "z99ec276-cg53-4g94-cf72-76f300c6778zc" - channel_id: - description: |- - The channel (B2C Commerce site) that the user is associated with. - - **Important: We strongly recommended using the channel_id query parameter because it will be required in the future. - - **NOTE - As of July 31, 2024**, SLAS will be requiring the `channel_id` query parameter in token requests. - required: false - type: string - maxLength: 100 - example: "RefArch" - dnt: - description: |- - This is an optional parameter to set `Do Not Track` for the session. - - SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. - - Values are: - * `false` - * `true` - - If not added the `dnt` value will default to `false`. - - required: false - type: string - example: "true" - TokenResponse: - type: object - properties: - access_token: - description: |- - Short term shopper JWT that can be used to access Shopper APIs. Valid for 30 minutes. - - A trusted agent shopper JWT is valid for 15 min. - type: string - example: |- - "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg" - id_token: - description: User ID token. Valid for 30 minutes. - type: string - example: "eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w" - refresh_token: - description: |- - Long term refresh token that can be used to refresh an access token. Valid for 30 days. - - The refresh_token will not be returned for trusted agents JWTs. A JWT for trusted agents expires after 15 minutes and is not refreshable. When expired, then app must restart the authorization flow and make another request to the /trusted-agent/authorize endpoint. - - type: string - example: "EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU" - expires_in: - description: Remaining access token expiry time, in seconds. - type: integer - example: 900 - refresh_token_expires_in: - description: Remaining refresh token expiry time, in seconds. - type: number - example: 2592000 - token_type: - description: Token Type - type: TokenType - usid: - type: string - description: The unique shopper ID. Returned when using the `client_credentials` grant type. - example: 18cda486-fe32-4e27-888b-6e4f89938e67 - customer_id: - type: string - description: Customer's ID - example: "1000005" - enc_user_id: - type: string - description: MD5 Hashed B2C Commerce user ID in uppercase. - example: "45D39A8499A95288F82855427EBA99B5" - idp_access_token: - type: string - maxLength: 8192 - description: This is the access token that is returned from the IDP. The IDP access token is returned to be able to make calls into the IDP outside of SLAS. - example: "eyJraWQiOiJYS21HbHVuSm0zSlBTMHNjQXZXV19XQlYtRi1wMkxLSDR0V05UMHVVSjVJIiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULjFMY0xxTWhqM2t0N1FKeFhxQ0VtdGZOOVV2eUcweW1meDFxZG9BdzF1NWMub2FyeXhveHF0QUtxaVFMbkM1ZDYiLCJpc3MiOiJodHRwczovL2Rldi05NTY1MjM2Lm9rdGEuY29tIiwiYXVkIjoiaHR0cHM6Ly9kZXYtOTU2NTIzNi5va3RhLmNvbSIsInN1YiI6Im9rdGEuc2xhcy50ZXN0IiwiaWF0IjoxNjc5Njk4MzA4LCJleHAiOjE2Nzk3MDE5MDgsImNpZCI6IjBvYTJrNXNma0JXZ0poTEVHNWQ2IiwidWlkIjoiMDB1MzhxZGpuU2NMT0IxbXE1ZDYiLCJzY3AiOlsib2ZmbGluZV9hY2Nlc3MiLCJvcGVuaWQiLCJlbWFpbCIsInByb2ZpbGUiXSwiYXV0aF90aW1lIjoxNjc5Njk4MzA2fQ.FDbGsnZGwTYVKGSlAo6jqcjG2HQ_BqQKRk72M5h69DRHyOM4wngsEELN_Wtgj3E77sP7IOmIKjiK5SFP17ADMbKZptVr2pqaMVF3PuU3Cbl_MgXZValfT-z12jHRq9sHMfsdTjY2RnvG44ZDFKc2no8mdL6IJ1MfCaZT5Tql5Ktq_UgudaWFsYqad3ETcmp5Y8ivz1bFnqud0sO9D9JzYOtfd9h71JKcsSC2rXc_Si-INPKKaGl8CDgaLXxu_Am9twJpUenHLpy0BerhcVvdFz7_611E53xOT_Esrc1pe-XAZtlYsJFnhxTBDT342ukiSWk2m6juVappv1GsRfUf2g" - - TokenActionRequest: - type: object - properties: - token: - description: Token to inspect or revoke. - type: string - example: "EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU" - token_type_hint: - description: Token type hint. For inspecting, use `access_token` or `refresh_token`. For revoking, use `refresh_token`. - type: TokenTypeHint - required: false - TrustedSystemTokenRequest: - type: object - description: A request for an access token on behalf of a registered user whose credentials are stored using a third party system. - properties: - usid: - description: The shopper's unique identifier, if known. If not provided, a new USID is generated. - type: string - required: false - example: "54ad2c5a-91f0-44ab-817c-73d6b86872d9" - grant_type: - description: Grant Type. Must be set to `client_credentials` for trusted system requests. - type: GrantType - example: "client_credentials" - hint: - description: The type of trusted system to use. - type: TrustedOnBehalf - example: "ts_ext_on_behalf_of" - login_id: - description: |- - The ID used by the shopper for trusted system access. - - If set to `guest`, a token is returned for a guest user. - type: string - maxLength: 128 - example: "samantha.sampleson@example.com" - idp_origin: - description: The external IDP that the user is associated with. Use `ecom` as the `idp_origin` value when using B2C Commerce as the identity provider. - type: ThirdPartyIdps - maxLength: 16 - example: "google" - client_id: - description: The SLAS public client ID for use with trusted-system requests. - type: string - maxLength: 40 - example: "6c388ebd-6843-4863-aef9-781382c9e8cd" - channel_id: - description: The channel (ECOM site) that the user is associated with. - type: string - maxLength: 100 - example: "RefArch" - email_id: - description: The email address for the shopper that is used for trusted-system requests. If not provided, `login_id` is used instead. - type: string - required: false - maxLength: 128 - example: "samantha.sampleson@example.com" - dnt: - description: |- - This is an optional parameter to set `Do Not Track` for the session. - - SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. - - Values are: - * `false` - * `true` - - If not added the `dnt` value will default to `false`. - - Note: The default value for `dnt` is set to `false` for SLAS token requests except for Trusted Agent token request. For Trusted Agent token requests the default value for `dnt` is `true`. - - required: false - type: string - example: "true" - TrustedAgentTokenRequest: - properties: - agent_id: - description: |- - The ID of the merchant. If passed in, the `agent_id` will be validated using the SUB claim in the response from Account Manager. - - This is an optional parameter unless the request is for a Trusted Agent on Behalf then `agent_id` is required. - type: string - required: false - maxLength: 40 - example: "merchant@example.com" - client_id: - description: |- - The SLAS public client ID or SLAS private client ID for use with trusted-system requests. - - The `client_id` is not needed if a using a SLAS private `client_id` and the `_sfdc_client_auth` header. - type: string - required: true - maxLength: 40 - example: "6c388ebd-6843-4863-aef9-781382c9e8cd" - channel_id: - description: The channel (B2C Commerce site) that the user is associated with. - type: string - required: true - maxLength: 100 - example: "RefArch" - code_verifier: - description: |- - PKCE code verifier. Created by the caller. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - - The `code_verifier` is not needed if a using a SLAS private `client_id` and the `_sfdc_client_auth` header. - type: string - example: "Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo" - grant_type: - description: Grant Type. Must be set to `client_credentials` for trusted agent requests. - type: GrantType - required: true - example: "client_credentials" - login_id: - description: |- - The ID is the shopper for trusted agent access. - - For TAOB Guest the `login_id` must be set to `Guest`. - type: string - required: true - maxLength: 128 - example: "jack.shopper@example.com" - idp_origin: - description: |- - The IDP that the user is associated with. - - For TAOB Guest the `idp_origin` parameter should be `slas`. If set to any other IDP origin a 400 Bad Request will be returned. - - type: string - required: true - maxLength: 16 - example: "ecom" - usid: - description: The shopper's unique identifier, if known. If not provided, a new USID is generated. - type: string - required: false - example: "54ad2c5a-91f0-44ab-817c-73d6b86872d9" - dnt: - description: |- - This is an optional parameter to set `Do Not Track` for the session. - - SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. - - Values are: - * `false` - * `true` - - If not added the `dnt` value will default to `true` - - Note: The default value for `dnt` is set to `true` for all TAOB flows. This is opposite from other SLAS token requests. - - required: false - type: string - example: "true" - state: - description: |- - This is an optional parameter to set state for the trusted agent session. - - If the `state` parameter is used it will be validated and a 400 Bad Request will be returned if missing or invalid. - - For TAOB Guest you must pass the `state` parameter to transfer the state from the TAOB Guest authorization call to the token call. - The `state` parameter value is returned with the authorization code in the response url from the TAOB guest authorization call, - for example: `.../taob/callback?code=HETXpvg5LKBNIHjDTWkRrf2MLVU&state=taob.gst.7bc7fb7f-e646-44fd-bc73-dfd5c3c9019b`. - - You would use `taob.gst.7bc7fb7f-e646-44fd-bc73-dfd5c3c9019b` for the `state` value in the TAOB request. - - required: false - type: string - example: "taobgst.3ebdcbb6-ef87-4f41-8173-67728636e513" - SessionBridgeTokenRequest: - properties: - code: - description: |- - Authorization code returned from session bridge authorization received in the front channel that is used to get session bridge access tokens and refresh tokens. Required with a grant type of `session_bridge`. The SLAS client must have the `sfcc.session_bridge` scope to request a session bridge token. - type: string - maxLength: 256 - example: "M0t1K0pyoFKhBpUZnuUYO07xf8iYyMJrAc7h31h_ra8.gglPClJHsofqdTm_yPe5n6m2yCXzFmD8qICwIEjQGVA" - client_id: - description: The SLAS public client ID for use with PKCE requests. This is a required parameter when using a public client. - type: string - required: true - maxLength: 40 - example: "6c388ebd-6843-4863-aef9-781382c9e8cd" - channel_id: - description: The channel (B2C Commerce site) that the user is associated with. - type: string - required: true - maxLength: 100 - example: "RefArch" - code_verifier: - description: |- - PKCE code verifier. Created by the caller. This is a required parameter when using a public client. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - type: string - example: "Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo" - dwsid: - description: |- - Cookie passed back from the '/authorize' endpoint call for session bridge. This parameter is optional and not needed if using the `dwsgst` parameter. - - **DEPRECATED** - As of January 31, 2024, SLAS will no longer support the SESB `dwsid` parameter for `guest` users for `session-bridge/token` calls. It is recommended to transition over to using a SESB `dwsgst` token. - - The `dwsid` will still be needed for `registered` user session-bridge/token calls. - - - type: string - example: pATvWUO3KSdt-Kmcy-8-RsxKnoO4BMDwoec7ACVlW6tZNnhaOL7gt7mHqL-h7QYn5TyE61z0DeSMCqxngsWeHw== - grant_type: - description: |- - Grant Type. Both `session_bridge` and `client_credentials` are supported. - - For public client id requests the grant_type must be set to `session_bridge`. - - For private client_id and secret the grant_type must be set to `client_credentials` along with a basic authorization header. - - type: GrantType - required: true - example: session_bridge - login_id: - description: |- - The ID of the shopper for session bridge access. If requesting a token for a guest user set login_id to `guest`. - type: string - required: true - maxLength: 128 - example: "jack.shopper@example.com" - dwsgst: - type: string - required: false - description: |- - Signed guest Json Web Token (JWT) that was obtained from B2C Commerce. This parameter is optional and not needed if using the guest `dwsid` parameter. - example: eyJraWQiOiIxNjgxNTU5OTkxNzkwIiwiYWxnIjoiRVMyNTYifQ.eyJ0ZW5hbnRJZCI6IkJHVk5fUzA1IiwiZHdzaWQiOiJuWHRhckdNU2ZxbnBaSUNJUGFKTHJSWGZ6b2lWYXBBU3BBTFNfeFdUMV9QZjRBWDA0N1lMQ1dSUFByM1BiSEl4d2RaODFiVGZoM3M1Wlgza2NhOG0zZz09IiwiY3VzdG9tZXJJZCI6ImJjQXI5N2NuMm1ZdmhjMGhqTGsxYmFXSzRqIiwiaWF0IjoxNjg1MTI4NjM2LCJleHAiOjE2ODUxMjkyMzksImlzcyI6ImNvbW1lcmNlY2xvdWQvcHJvZHVjdGlvbi9iZ3ZuczA1IiwidmVycyI6IjEiLCJ0eXBlIjoiRyJ9.BGY4kyOXbQSzZxubE3BrSzhf8ByehGUfJa7_J2XRQ93xY4dAOhF_xbXcHmBaEUBUzSny-Cf0pATzEaSsKpTxkg - dwsrst: - type: string - required: false - description: |- - Signed registered customer Json Web Token (JWT) that was obtained from B2C Commerce. This parameter is optional and not needed if using the registered user `dwsid` parameter. - - **NOTE:** The registered customer Json Web Token (JWT) will be available in ECOM versions 25.4 and higher. - - example: eyJraWQiOiIxNjMwOTM5MzAyODE0IiwiYWxnIjoiRVMyNTYifQ.eyJmbmFtZSI6Ikx1a2UiLCJkd3NpZCI6IkdkWWpSQjViZGVpU0xkb3Ixdy15QzRTZ1l3dDJHYl9Ec255OG5nZ2I3c0VDajVMWndnT0ZJWTZsa21sNlVRMXZoazl1SDVJUGxMek5rZTJhNTV2YU9nPT0iLCJ2ZXJzIjoiMiIsImlzcyI6InNsYXMvZGV2L2Jndm5fc3RnIiwidHlwZSI6IlIiLCJsbmFtZSI6IlNreXdhbGtlciIsInJjdXN0b21lcklkIjoiOGgzNHh6dDQxOTVpOHA1MmE2ejAzczIxNDgiLCJwaG9uZSI6bnVsbCwidGVuYW50SWQiOiJiZ3ZuX3N0ZyIsImN1c3RvbWVySWQiOiI0OHB1eXA4dTdmMmM5NHgzMTUxeDA4bGEweiIsImV4cCI6MTczNTE1NDQ4NiwiaWF0IjoxNzMyNTYyNDg2LCJlbWFpbCI6Imx1a2Uuc2t5d2Fsa2VyQG5hYm9vLm9yZyJ9.Q2nF0wuEl1X7aVZ-ycCwxDjjmq5toJred5AEDqKXXjj89BY_0HIQoAEMbx9UDqOmhjdBkxN4idVzYVoXcl0c2A - usid: - type: string - required: false - description: The unique shopper ID. Returned when from session bridge authorization. - example: 18cda486-fe32-4e27-888b-6e4f89938e67 - dnt: - description: |- - This is an optional parameter to set `Do Not Track` for the session. - - SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. - - Values are: - * `false` - * `true` - - If not added the `dnt` value will default to `false`. - - required: false - type: string - example: "true" - PasswordlessLoginRequest: - type: object - description: A request for a passwordless login token. This is only available for resgistered users using B2C Commerce. - properties: - user_id: - description: User ID for logging in. - type: string - maxLength: 128 - example: "samantha.sampleson@example.com" - mode: - description: Notification mode for sending the passwordless token to the user. Using `callback` SLAS will make POST request to the given callback_uri. Using `sms` requires Marketing Cloud to be configured for SLAS and have a `sms` password action template also configured. - type: PasswordActionModes - example: "callback" - locale: - description: The locale of the template. Not needed for the `callback` mode - required: false - type: string - example: "en-us" - usid: - description: The shopper's unique identifier, if known. If not provided, a new USID is generated. - required: false - type: string - example: 18cda486-fe32-4e27-888b-6e4f89938e67 - channel_id: - description: The channel (B2C Commerce site) that the user is associated with. - type: string - maxLength: 100 - example: "RefArch" - callback_uri: - description: | - The callback URI. Required when the mode is `callback`. The `callback_uri` property will be validated against the callback URIs that have been registered with the SLAS client. The callback URI _must_ be a `POST` endpoint because the token will be included in the body. - - Wildcards are not allowed in the callback_uri because this is a security risk that can expose the token. This is not considered an OAuth2 callback_url. - required: false - type: string - example: "http://localhost:9050/passwordless/login/callback" - PasswordActionRequest: - type: object - description: A request for a password reset token. This is only available for resgistered users using B2C Commerce. - properties: - user_id: - description: User ID for logging in. This is the id that is used to log into SFCC. - type: string - maxLength: 128 - example: "samantha.sampleson@example.com" - mode: - description: Notification mode for sending the passwordless token to the user. Using `callback` SLAS will make POST request to the given callback_uri. Using `sms` requires Marketing Cloud to be configured for SLAS and have a `sms` password action template also configured. - type: PasswordActionModes - example: "callback" - channel_id: - description: The channel (B2C Commerce site) that the user is associated with. - type: string - example: "RefArch" - locale: - description: The locale of the template. - required: false - type: string - example: "en-us" - client_id: - description: -| - The public client ID. Requires setting `grant_type` to `passwordless_login_pkce`. - - When using the `hint` query parameter either a public or private client ID can be used. - required: false - type: string - maxLength: 40 - example: "6b200ebd-7843-4073-aef9-792482c9e1de" - code_challenge: - description: |- - PKCE code challenge. Created by the client. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - - Requires setting `grant_type` to `passwordless_login_pkce` - required: false - type: string - minLength: 43 - maxLength: 128 - example: "Nx_Vf0-0W6SpyRVBVTbl8VSu2OE4yD2fZNExW6N3V_Q" - callback_uri: - description: | - The callback uri. Required when the mode is `callback`. The `callback_uri` property will be validated against the callback URIs that have been registered with the SLAS client. The callback URI _must_ be a `POST` endpoint because the token will be included in the body. - - Wildcards are not allowed in the callback_uri because this is a security risk that can expose the token. This is not considered an OAuth2 callback_url. - required: false - type: string - example: "http://localhost:9050/password/reset/callback" - idp_name: - description: The name of the 3rd party identity provider for the user ID - required: false - type: string - example: "okta" - hint: - description: Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_challenge for password reset request. If the `hint` query parameter is used it must also be used in the password reset request. - required: false - type: string - example: "cross_device" - - PasswordActionVerifyRequest: - type: object - description: A request for creating a new password using the password action token. - properties: - client_id: - description: -| - The public client ID. - - When using the `hint` query parameter either a public or private client ID can be used. - type: string - maxLength: 40 - example: "6b200ebd-7843-4073-aef9-792482c9e1de" - pwd_action_token: - description: Password action token that was returned from the `/password/reset` endpoint. - type: string - example: "QJO3CA7QTPVCQ3OMROXF2MTDDED3EEC3" - code_verifier: - description: |- - PKCE code verifier. Created by the client. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - type: string - example: "Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo" - new_password: - description: The new password to set for the shopper associated with the password action token. - required: false - type: string - example: "new_password" - channel_id: - description: The channel that the request is for. For a B2C Commerce request, this is angalous to the site ID. - required: true - type: string - maxLength: 100 - example: "RefArch" - hint: - description: Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_verifier for password reset request. If the `hint` query parameter is used it must also have been used in the password action request. - required: false - type: string - example: "cross_device" - - PasswordLessLoginTokenRequest: - type: object - description: A request for an access token using a passwordless token. - properties: - grant_type: - description: OAuth 2.1 grant type. Must be set to `client_credentials` for passwordless login. - type: GrantType - example: "client_credentials" - hint: - description: Passwordless hint. Use `pwdless_login`. - type: string - example: "pwdless_login" - pwdless_login_token: - description: Passwordless login token that was created from the user ID. - type: string - example: "QJO3CA7QTPVCQ3OMROXF2MTDDED3EEC3" - client_id: - description: The public client ID. - required: false - type: string - maxLength: 40 - example: "6b200ebd-7843-4073-aef9-792482c9e1de" - code_verifier: - description: |- - PKCE code verifier. Created by the client. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - required: false - type: string - example: "Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo" - IntrospectResponse: - type: object - properties: - active: - type: boolean - scope: - type: string - example: "offline_access openid" - client_id: - type: string - example: "553ac8ac-4db9-4ed3-825c-3ae3bf5d327b" - sub: - type: string - example: "usid:156c4e69-e89b-406b-a4b7-576980bb234e::upn:Guest" - exp: - type: integer - example: 1594733276 - username: - type: string - example: "samantha.sampleson@example.com" - token_type: - type: string - example: "refresh_token" - Oauth2ErrorResponse: - type: object - properties: - error: - type: string - example: "invalid_client" - error_uri: - type: string - required: false - example: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/oauth-service" - error_description: - type: string - required: false - example: "Missing access token or refresh token." - JwksSuccessResponse: - type: object - properties: - keys: - type: array - LoginRequest: - description: |- - Supports multiple custom parameters to invoke hooks in B2C Commerce API. Multiple custom parameters can be added. Use the `c_` prefix to distinguish custom query parameters from standard query parameters, for example: c_captcha=true - - If there is a validation error, a 400 Bad_Request with the details of the error is thrown. - type: - CommerceCloudStandards.OpenObject - properties: - client_id: - description: SLAS client ID. Required when the grant type is `authorization_code_pkce`. - required: false - type: string - maxLength: 40 - example: "z99ec276-cg53-4g94-cf72-76f300c6778zc" - response_type: - description: Must be `code`. Indicates that the client wants an authorization code (when the grant type is `authorization_code`). - required: false - type: ResponseType - redirect_uri: - description: | - The URI to which the server redirects the browser after the user grants the authorization. The URI must be registered with the SLAS client. A variety of URI formats and wildcards for host are supported, but app links like airbnb:// or fb:// are not. Examples of supported URIs: - - Examples of supported URIs: - - `http://localhost:3000/callback` - - `https://example.com/callback` - - `com.example.app:redirect_uri_path` - - ` *.subdomain.topleveldomain.com` - required: true - maxLength: 256 - type: string - example: "http://localhost:3000/callback" - state: - description: Value to be sent by the client to determine the state between the authorization request and the server response. Optional, but strongly recommended. - required: false - type: string - maxLength: 512 - example: "client-state" - scope: - description: Scopes to limit an application's access to a user's account. - required: false - type: string - maxLength: 256 - example: "openid|offline_access|email" - usid: - description: The unique shopper ID. - required: false - type: string - example: "18cda486-fe32-4e27-888b-6e4f89938e67" - channel_id: - description: The channel that the request is for. For a B2C Commerce request, this is angalous to the site ID. - required: true - type: string - maxLength: 100 - example: "RefArch" - code_challenge: - description: |- - PKCE code verifier. Created by the client calling the `login` endpoint. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - - The `code_challenge` is optional when using a private client id for the token request. - type: string - required: false - minLength: 43 - maxLength: 128 - example: "krc5G3_5lRUcXDUzFZQ88oJA_-ZmlHWkyGsgOrSLEWg" - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /oauth2: - /login: - description: | - **Deprecation notice**: The `GET` method is deprecated for this endpoint. Please use `POST` instead. - Get authorization code after authenticating a user using a B2C Commerce (B2C Commerce) instance. - - post: - description: | - Logs in a shopper with credentials that are managed by a B2C Commerce instance (B2C Commerce). It follows the authorization code grant flow as defined by the OAuth 2.1 standard. It also uses a proof key for code exchange (PKCE). - - For PKCE values: - - The `code_verifier` string is a random string used for the `/token` endpoint request. - - The `code_challenge` is an encoded version of the `code_verifier` string using an SHA-256 hash. - - The request must include a basic authorization header that contains a Base64 encoded version of the following string: `:`. - - Required parameters: `code_challenge`, `channel_id`, `client_id`, and `redirect_uri`. - - Optional parameters: `usid`. - - The SLAS `/login` endpoint redirects back to the redirect URI and returns an authorization code. - - Calls to `/login` made with the same loginId and tenantId within 1 second will result in a conflict. - displayName: authenticateCustomer - is: - - SlasRateLimit: - responseStatus: 303 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 500 - headers: - Authorization: - displayName: Login - description: Base64-encoded username and password for HTTP Basic authentication. - type: string - required: true - example: "Basic " - body: - application/x-www-form-urlencoded: - type: LoginRequest - responses: - 303: - description: Success. The authorization code and usid is added to the location header and sent to the callback as query parameters. - body: - application/json: - type: string - example: | - location: https://:/callback?usid=d11392ae-cbf0-4296-9723-8f9f0e49fd73&state=1728422547223&scope=openid%20offline_access&code=561X8NOKvoRezq2aucazwwkrevUoIP37YRTfsRHX8ow - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: |- - { - "error": "invalid_request", - "error_description": "Bad or missing client_id." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Basic Authorization failed." - } - 409: - description: Conflict - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "conflict", - "error_description": "The same loginId and tenantId tried to login twice within 1 second." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /passwordless/login: - description: Log in a customer using Core with their customer profiles loaded in B2C Commerce. Allows the user to authenticate when their identity provider (Core) is down. The SLAS client must have the `sfcc.pwdless_login` scope to access this endpoint. - post: - description: Allows the customer to authenticate when their identity provider is down. - displayName: authorizePasswordlessCustomer - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 412 - headers: - Authorization: - displayName: Authorization - description: "Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`" - type: string - required: false - example: "Basic " - body: - application/x-www-form-urlencoded: - type: PasswordlessLoginRequest - responses: - 200: - description: Success - body: - application/json: - type: string - - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing access token." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 412: - description: Precondition Failure - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "precondition_failure", - "error_description": "Dependent service is not available." - } - /logout: - description: Log out a shopper. - get: - description: |- - Log out a shopper. The shopper's access token and refresh token are revoked. If the shopper authenticated with a B2C Commerce (B2C Commerce) instance, the OCAPI JWT is also revoked. This should be called for Registered users that have logged in using SLAS. his should be called for registered users that have logged in using SLAS. This endpoint is not for use with guest users. - - Required header: Authorization header bearer token of the Shopper access token to logout. - - Required parameters: `refresh token`, `channel_id`, and `client`. - displayName: logoutCustomer - is: - - SlasRateLimit: - responseStatus: 303 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 500 - - securedBy: - - CommerceCloudStandards.ShopperToken: - { - Bearer eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw, - } - queryParameters: - client_id: - description: The SLAS client ID. - required: true - type: string - maxLength: 40 - example: "z99ec276-cg53-4g94-cf72-76f300c6778zc" - refresh_token: - description: Refresh token that was given during the access token request. - required: true - type: string - channel_id: - description: The `channel_id` parameter must be provided if the shopper authenticated using the `login` endpoint with B2C Commerce. - required: false - type: string - maxLength: 100 - example: "RefArch" - hint: - description: Optional parameter for logging out user sessions. Use `all-sessions` to log out all user sessions. If `hint` is not used, only the current user session will be logged out. - required: false - type: string - maxLength: 12 - example: all-sessions - responses: - 200: - description: Success - body: - application/json: - type: TokenResponse - example: | - { - "access_token": "", - "id_token": "null", - "refresh_token": "EnL9U2f3-WiVPwL60CFBI21UY_oxWAwX5JkgO-X12Vs", - "expires_in": 0, - "refresh_token_expires_in": 0, - "token_type": "Bearer", - "usid": "null", - "customer_id": "null", - "enc_user_id": "null", - "idp_access_token": "" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing client_id." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Basic Authorization failed." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /authorize: - description: OAuth 2.1 authorization endpoints. - get: - description: |- - Get an authorization code after authenticating a user against an identity provider (IDP). This is the first step of the OAuth 2.1 authorization code flow, where a user can log in via federation to the IDP configured for the client. After successfully logging in, the user gets an authorization code via a redirect URI. - - This endpoint can be called from the front channel (the browser). - displayName: authorizeCustomer - is: - - SlasRateLimit: - responseStatus: 303 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 500 - queryParameters: - redirect_uri: - description: | - The URL to which the server redirects the browser after the user grants the authorization. The URI must be pre-registered. A variety of URI formats and wildcard for host are supported, but app links like `airbnb://` or `fb://` are not. Examples of supported URIs: - - `http://localhost:3000/callback` - - `https://example.com/callback` - - `com.example.app:redirect_uri_path` - - ` *.subdomain.topleveldomain.com` - required: true - maxLength: 256 - type: string - example: "http://localhost:3000/callback" - response_type: - description: Must be `code`. Indicates that the client wants an authorization code (using the `authorization_code` grant type). - required: true - type: ResponseType - client_id: - description: The client ID obtained during application registration. - required: true - type: string - maxLength: 40 - example: "client-id1" - scope: - required: false - type: string - maxLength: 256 - enum: [openid, offline_access, email] - state: - description: Value to send the client to determine the state between the authorization request and the server response. Optional, but strongly recommended. - required: false - type: string - maxLength: 512 - example: "client-state" - usid: - description: A unique shopper identifier (USID). If not provided, a new USID is generated. - required: false - type: string - maxLength: 256 - example: "d09c5010-4baa-11ea-98d8-01062d1a14bb" - hint: - description: |- - Name of an identity provider (IDP) to optionally redirect to, thereby skipping the IDP selection step. - - To use a public client, set `hint` to `guest` and use a public client ID to get an authorization code. If no `hint` is provided, the preferred IDP of the tenant is used by default. - - For session bridge authorization the `hint` should be set to `sb-user` for a registered customer and to `sb-guest` for a guest. For session bridge authorization the SLAS Client `sfcc.session_bridge` scope. - required: false - type: string - maxLength: 256 - example: "google" - channel_id: - description: The channel that this request is for. For a B2C Commerce request, this is angalous to the site ID. - required: false - type: string - maxLength: 100 - example: "RefArch" - code_challenge: - description: |- - PKCE code challenge. Created by the client calling the `login` endpoint. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - required: false - type: string - minLength: 43 - maxLength: 128 - example: "krc5G3_5lRUcXDUzFZQ88oJA_-ZmlHWkyGsgOrSLEWg" - ui_locales: - description: |- - End-User's preferred languages and scripts for the user interface, represented as a space-separated list of BCP47 [RFC5646] language tag values, ordered by preference. For example, the value `fr-CA fr en` represents a preference for French as spoken in Canada, then French (without a region designation), followed by English (without a region designation). - - In most cases the IDP supports one language tag and has a default language set on the server. SLAS will support the space-separated list and pass them to the IDP. - required: false - type: string - maxLength: 256 - example: "en es-A fr-CA" - - responses: - 303: - description: Success. The authorization code is added to the `redirect_uri`. - body: - application/json: - type: string - example: | - { - "authorizationCode": "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiS", - "usid": "156c4e69-e89b-406b-a4b7-576980bb234e" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing client_id." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Basic Authorization failed." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - - /token: - description: Shopper OAuth 2.1 token endpoint. - post: - description: |- - Get the shopper or guest JWT access token and a refresh token. This is the second step of the OAuth 2.1 authorization code flow. - - For a private client, an application is able to get an access token for the shopper through the back channel (a trusted server) by passing in the client credentials and the authorization code retrieved from the `authorize` endpoint. - - For a guest user, get the shopper JWT access token and a refresh token. This is where a client appplication is able to get an access token for the guest user through the back channel (a trusted server) by passing in the client credentials. - - For a public client using PKCE, an application will pass a PKCE `code_verifier` that matches the `code_challenge` that was used to `authorize` the customer along with the authorization code. - - When refreshing the access token with a private client ID and client secret, the refresh token is _not_ regenerated. However, when refreshing the access token with a public client ID, the refresh token is _always_ regenerated. The old refresh token is voided with every refresh call, so the refresh token on the client needs to be replaced to always store the new refresh token. - - See the Body section for required parameters, including `grant_type` and others, depending on the value of `grant_type`. - - **Important**: We strongly recommended using the `channel_id` query parameter because **it will be required in the future**. - - **NOTE - As of July 31, 2024**, SLAS will be requiring the `channel_id` query parameter in token requests. - displayName: getAccessToken - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 500 - headers: - Authorization: - displayName: Authorization - description: "Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`. Required unless the grant type is `authorization_code_pkce`." - type: string - required: false - example: "Basic " - body: - application/x-www-form-urlencoded: - type: TokenRequest - responses: - 200: - description: Success - body: - application/json: - type: TokenResponse - example: | - { - "access_token": "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg", - "id_token": "eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w", - "refresh_token": "EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU", - "expires_in": 900, - "refresh_token_expires_in": 7776000, - "token_type": "Bearer", - "usid": "18cda486-fe32-4e27-888b-6e4f89938e67", - "customer_id": "1000005", - "enc_user_id": "45D39A8499A95288F82855427EBA99B5", - "idp_access_token": "eyJraWQiOiJYS21HbHVuSm0zSlBTMHNjQXZXV19XQlYtRi1wMkxLSDR0V05UMHVVSjVJIiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULjFMY0xxTWhqM2t0N1FKeFhxQ0VtdGZOOVV2eUcweW1meDFxZG9BdzF1NWMub2FyeXhveHF0QUtxaVFMbkM1ZDYiLCJpc3MiOiJodHRwczovL2Rldi05NTY1MjM2Lm9rdGEuY29tIiwiYXVkIjoiaHR0cHM6Ly9kZXYtOTU2NTIzNi5va3RhLmNvbSIsInN1YiI6Im9rdGEuc2xhcy50ZXN0IiwiaWF0IjoxNjc5Njk4MzA4LCJleHAiOjE2Nzk3MDE5MDgsImNpZCI6IjBvYTJrNXNma0JXZ0poTEVHNWQ2IiwidWlkIjoiMDB1MzhxZGpuU2NMT0IxbXE1ZDYiLCJzY3AiOlsib2ZmbGluZV9hY2Nlc3MiLCJvcGVuaWQiLCJlbWFpbCIsInByb2ZpbGUiXSwiYXV0aF90aW1lIjoxNjc5Njk4MzA2fQ.FDbGsnZGwTYVKGSlAo6jqcjG2HQ_BqQKRk72M5h69DRHyOM4wngsEELN_Wtgj3E77sP7IOmIKjiK5SFP17ADMbKZptVr2pqaMVF3PuU3Cbl_MgXZValfT-z12jHRq9sHMfsdTjY2RnvG44ZDFKc2no8mdL6IJ1MfCaZT5Tql5Ktq_UgudaWFsYqad3ETcmp5Y8ivz1bFnqud0sO9D9JzYOtfd9h71JKcsSC2rXc_Si-INPKKaGl8CDgaLXxu_Am9twJpUenHLpy0BerhcVvdFz7_611E53xOT_Esrc1pe-XAZtlYsJFnhxTBDT342ukiSWk2m6juVappv1GsRfUf2g" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing access token." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Basic Authorization failed." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /session-bridge/token: - description: Evaluate the session bridge authorization code and issue a shopper token (JWT). The SLAS client must have the `sfcc.session_bridge` scope to access this endpoint. - - post: - description: |- - Get a shopper JWT access token for a registered customer using session bridge. - - For public client id requests the grant_type must be set to `session_bridge`. - - For private client_id and secret the grant_type must be set to `client_credentials` along with a basic authorization header. - - **DEPRECATED** - As of January 31, 2024, SLAS will no longer support the SESB `dwsid` parameter for `guest` users for `session-bridge/token` calls. It is recommended to transition over to using a SESB `dwsgst` token. - - The `dwsid` will still be needed for `registered` user `session-bridge/token` calls. - - **NOTE:** The registered customer Json Web Token (JWT) will be available in ECOM versions 25.4 and higher. - - displayName: getSessionBridgeAccessToken - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 503 - body: - application/x-www-form-urlencoded: - type: SessionBridgeTokenRequest - responses: - 200: - description: Success - body: - application/json: - type: TokenResponse - example: | - { - "access_token": "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg", - "id_token": "eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w", - "refresh_token": "EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU", - "expires_in": 900, - "refresh_token_expires_in": 7776000, - "token_type": "Bearer", - "usid": "18cda486-fe32-4e27-888b-6e4f89938e67", - "customer_id": "1000005", - "enc_user_id": "45D39A8499A95288F82855427EBA99B5", - "idp_access_token": "" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing authorization token." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 503: - description: Gateway Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /trusted-system/token: - description: Shopper OAuth 2.1 token endpoint. - post: - description: |- - Get a shopper JWT access token for a registered customer whose credentials are stored using a third party. The SLAS client must have the `sfcc.ts_ext_on_behalf_of` scope to access this endpoint. - - - For trusted-system requests, a basic authorization header that includes a SLAS private client ID and SLAS private client secret can be used in place of the bearer token. - - - For trusted-system requests SLAS public client_ids can not be used. - - displayName: getTrustedSystemAccessToken - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 503 - headers: - Authorization: - displayName: Authorization - description: "Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`. Required unless the grant type is `authorization_code_pkce`." - type: string - required: false - example: "Basic " - body: - application/x-www-form-urlencoded: - type: TrustedSystemTokenRequest - responses: - 200: - description: Success - body: - application/json: - type: TokenResponse - example: | - { - "access_token": "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg", - "id_token": "eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w", - "refresh_token": "EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU", - "expires_in": 900, - "refresh_token_expires_in": 7776000, - "token_type": "Bearer", - "usid": "18cda486-fe32-4e27-888b-6e4f89938e67", - "customer_id": "1000005", - "enc_user_id": "45D39A8499A95288F82855427EBA99B5", - "idp_access_token": "" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing access token." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 409: - description: Conflict - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "conflict", - "error_description": "The same loginId and tenantId tried to login twice within 1 second." - } - 503: - description: Gateway Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /trusted-agent/authorize: - description: Obtains a new agent on behalf authorization token for a registered customer. The SLAS client must have the `sfcc.ta_ext_on_behalf_of` scope to access this endpoint. - get: - description: Obtains a new agent on behalf authorization token for a registered customer. - displayName: getTrustedAgentAuthorizationToken - is: - - SlasRateLimit: - responseStatus: 303 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 500 - queryParameters: - client_id: - description: The SLAS public client ID or SLAS private client ID for use with trusted-agent requests. When using a private client ID a PKCE code challenge is not required. - type: string - required: true - maxLength: 40 - example: "6c388ebd-6843-4863-aef9-781382c9e8cd" - channel_id: - description: The channel (B2C Commerce site) that the user is associated with. - type: string - required: true - maxLength: 100 - example: "RefArch" - code_challenge: - description: |- - PKCE code challenge. Created by the caller. - - The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. - - The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - - The `code_challenge` is not needed if a using SLAS private `client_id`. - type: string - minLength: 43 - maxLength: 128 - example: "krc5G3_5lRUcXDUzFZQ88oJA_-ZmlHWkyGsgOrSLEWg" - login_id: - description: |- - The ID of the shopper for trusted agent access. - - For TAOB Guest the `login_id` must be set to `Guest`. - type: string - maxLength: 128 - example: "jack.shopper@example.com" - idp_origin: - description: |- - The IDP that the shopper is associated with. - - For TAOB Guest the `idp_origin` must be set to `slas`. This is standard for SLAS Guest requests. If any other `idp_origin` value is used, SLAS returns a bad request. - type: string - required: true - maxLength: 16 - example: "ecom" - redirect_uri: - description: | - The redirect for Account Manager to redirect to. A variety of URI formats and wildcard for host are supported, but app links like `airbnb://` or `fb://` are not. Examples of supported URIs: - - `http://localhost:3000/callback` - - `https://example.com/callback` - - `com.example.app:redirect_uri_path` - - ` *.subdomain.topleveldomain.com` - type: string - required: true - maxLength: 256 - example: "http://localhost:3000/callback" - response_type: - description: Must be `code`. Indicates that the caller wants an authorization code. - required: true - type: ResponseType - responses: - 303: - description: Success. Locaion header with `redirect_uri` to Account Manager to allow the Agent to log in. - body: - application/json: - type: string - example: "Location Header - https://account.demandware.com:443/dwsso/UI/Login?realm=/&goto=https://account.demandware.com:443/dwsso/oauth2/authorize?client_id=6739cb07-2f5f-4e16-a88a-8113a3cb5512&redirect_uri=https://stg.us1.shopper.cc.salesforce.com/api/v1/trusted-agent/callback" - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing client_id." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /trusted-agent/token: - description: Evaluate the trusted agent token and issue a shopper token (JWT). - post: - description: |- - Get a shopper JWT access token for a registered customer using a trusted agent (merchant). - - If using a SLAS private client ID, you must also use an `_sfdc_client_auth` header. - - The value of the `_sfdc_client_auth` header must be a Base64-encoded string. The string is composed of a SLAS private client ID and client secret, separated by a colon (`:`). For example, `privateClientId:privateClientsecret` becomes `cHJpdmF0ZUNsaWVudElkOnByaXZhdGVDbGllbnRzZWNyZXQ=` after Base64 encoding. - displayName: getTrustedAgentAccessToken - securedBy: - - CommerceCloudStandards.ShopperToken: - { - Bearer eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw, - } - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 503 - headers: - Authorization: - displayName: Authorization - description: "This is the `Bearer` token returned from Account Manager after the trusted agent on behalf of (TAOB) authorize call." - type: string - required: false - example: "Bearer HQ8zQXpc0VVaXEdBdzasZQaCQDw" - _sfdc_client_auth: - displayName: _sfdc_client_auth - description: |- - "Base64-encoded string of client credentials. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`. (Do not add the string `"Basic"`.) - - The `_sfdc_client_auth` header is only required when using a SLAS private client ID." - type: string - required: false - example: "" - body: - application/x-www-form-urlencoded: - type: TrustedAgentTokenRequest - responses: - 200: - description: Success - body: - application/json: - type: TokenResponse - example: | - { - "access_token": "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg", - "id_token": "eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w", - "refresh_token": "EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU", - "expires_in": 900, - "token_type": "Bearer", - "refresh_token_expires_in": 7776000, - "usid": "18cda486-fe32-4e27-888b-6e4f89938e67", - "customer_id": "1000005", - "enc_user_id": "45D39A8499A95288F82855427EBA99B5", - "idp_access_token": "" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing authorization token." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 503: - description: Gateway Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /password: - /reset: - description: -| - Request a password reset token. The password reset token will be sent to the shopper using a redirect URI back to the merchant who will then send the token to the customer. - - Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_verifier for password reset request. If the `hint` query parameter is used it must also have been used in the password action request. - post: - description: Request a reset password token - displayName: getPasswordResetToken - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 412 - body: - application/x-www-form-urlencoded: - type: PasswordActionRequest - responses: - 200: - description: Success - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing request parameters." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 412: - description: Precondition Failure - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "precondition_failure", - "error_description": "Depenant service is not available." - } - - /action: - description: -| - Creates a new password. Creates a new password that is passed in with the password action token that was sent from the `/password/reset` endpoint. - - Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_challenge for password reset request. If the `hint` query parameter is used it must also be used in the password reset request. - - When using the `hint` query parameter either a public or private client_id can be used. - post: - description: Creates a new password - displayName: resetPassword - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 503 - headers: - Authorization: - displayName: Authorization - description: "Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`" - type: string - required: false - example: "Basic " - body: - application/x-www-form-urlencoded: - type: PasswordActionVerifyRequest - responses: - 200: - description: Success - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing request parameters." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 503: - description: Gateway Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "gateway_server_error", - "error_description": "A service that the server relies on is down or is having difficulty." - } - /passwordless/token: - description: Evaluate the passwordless token and issue a shopper token (JWT). The SLAS client must have the `sfcc.pwdless_login` scope to access this endpoint. - post: - description: Issue a shopper token (JWT). - displayName: getPasswordLessAccessToken - is: - - SlasRateLimit: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 401 - responseStatus4: 503 - headers: - Authorization: - displayName: Authorization - description: "Base64-encoded string for HTTP Basic authentication. The string is composed of a client ID and client secret, separated by a colon (`:`), like this: `clientId:clientSecret`" - type: string - required: false - example: "Basic " - body: - application/x-www-form-urlencoded: - type: PasswordLessLoginTokenRequest - responses: - 200: - description: Success - body: - application/json: - type: TokenResponse - example: | - { - "access_token": "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiSjIuMS4wIiwiYWxnIjoiRVMyNTYifQ.eyJhdWQiOiJjb3JlL2Rldi9idGluZ2V5bHRtMiIsImF1dCI6IkdVSUQiLCJzdWIiOiJ1c2lkOjo1NGFkMmM1YS05MWYwLTQ0YWItODE3Yy03M2Q2Yjg2ODcyZDk6OnVwbjpndWVzdCIsIm5iZiI6MTU4Mjg0NTYyNCwiY3R4Ijoic2ZkYy5jb21tZXJjZWNsb3VkIiwiaXNzIjoiY29yZS9kZXYvYnRpbmdleWx0bTIiLCJzdHkiOiJVc2VyIiwiaXN0IjoxLCJleHAiOjE1ODI4NDU3NDQsImlhdCI6MTU4Mjg0NTY1NCwianRpIjoiQzJDOTA0ODg2NDA3MDkwNDg4NjQwNzMyMjExNzQ1ODEyMTQzIn0.2a6lMBSY17PrhDO8pvEk7PCXW_nkguMHi4J-Tuirkz-ETB6rnKyuRjF5yD6B55tMvm8dO8ulAHyDYqjObMxLJg", - "id_token": "eyJraWQiOiI3NGU2YjMxZS1lYTczLTQ3OTYtOWRkYi1jMDJmZGI4ZDgwYmUiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2lkOmQ1MDBhMzY5LTc1MWQtNDkzYy1iNDAzLThmOThmYjg3MTdiNiIsImF1ZCI6IjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3YiIsImlzcyI6ImRldi51cy5zaG9wcGVyLmNjLnNhbGVzZm9yY2UuY29tIiwibmFtZSI6ImJsYWlyLnNsYXMudGVzdEBnbWFpbC5jb20iLCJleHAiOjE1OTExMTE0MzgsImlhdCI6MTU5MTEwOTYzOCwiZW1haWwiOiJibGFpci5zbGFzLnRlc3RAZ21haWwuY29tIn0.KgpAcq-G9Lz7IGnjkJlaFLFXYncVCwcVrRIuy3bEfgzRozqaDRvAori4oOz4RtgYjmoc5x2euoisHL0mVnHgPKOdYBty1wTJqneJEQt6hP4Kp0KFciID_ILCi-DE8VWS5t0NknnMP_iKhIkqcRL48iwPFUWkWA6AEWxE_yvJLNRLithsSxsx7EfBfpD8Hr2b5tMEwImQNmJNYGRTI4LSmcYspBORvJoAnfGpMC0kglxl40bhf5j4ItX4_DiWQC4zaGYD-HJV4BDr6C7iGCs5ZVPypF0yQD3iBio26fwj9Ys5WF9XMtPtqET2kqsz6fDC5GkE6HTUHH_r87jxbDq-8w", - "refresh_token": "EgMYpjfFKdlSy-a3PYeyihmP95IpIp3FaDpPmVH1yu8.lahomBi7zJbRa6yKAuAAiKu3lprTPsEueKwqcBvhRLU", - "expires_in": 900, - "refresh_token_expires_in": 7776000, - "token_type": "Bearer", - "usid": "18cda486-fe32-4e27-888b-6e4f89938e67", - "customer_id": "1000005", - "enc_user_id": "45D39A8499A95288F82855427EBA99B5", - "idp_access_token": "" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing access token." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Authorization failed." - } - 503: - description: Gateway Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "gateway_server_error", - "error_description": "A service that the server relies on is down or is having difficulty." - } - - /revoke: - description: Shopper OAuth 2.1 token revoke endpoint. - post: - description: Invalidate the refresh token. A basic auth header with Base64-encoded `clientId:secret` is required in the Authorization header, and the refresh token to be revoked is required in the body. - displayName: revokeToken - headers: - Authorization: - displayName: Authorization - description: Base64 string for HTTP Basic authentication. - type: string - required: true - example: "Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW" - body: - application/x-www-form-urlencoded: - type: TokenActionRequest - example: | - { - "token": "ry5XU_WHX20S6Cn6W7keFIs7Pzkv4wTZJS9Yvh0Ve9A.cdBxoCY9Q3jffQQOFnb_qghbSmSRnn9-2H4GwFTDMTk", - "token_type_hint": "refresh_token" - } - responses: - 200: - description: Success - body: - application/json: - type: TokenResponse - example: | - { - "access_token": "", - "id_token": "null", - "refresh_token": "EnL9U2f3-WiVPwL60CFBI21UY_oxWAwX5JkgO-X12Vs", - "expires_in": 0, - "refresh_token_expires_in": 0, - "token_type": "Bearer", - "usid": "null", - "customer_id": "null", - "enc_user_id": "null", - "idp_access_token": "" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing refresh token." - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Basic Authorization failed." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /introspect: - description: Returns information about an access token or refresh token. Used by resource servers or other internal servers. - post: - description: Returns the token properties. A basic auth header with Base64-encoded `clientId:secret` is required in the Authorization header, as well as an access token or refresh token. Use `token_type_hint` to help identify the token. - displayName: introspectToken - headers: - Authorization: - displayName: Authorization - description: Base64 string for HTTP Basic authentication. - type: string - required: true - example: "Basic " - body: - application/x-www-form-urlencoded: - type: TokenActionRequest - example: | - { - "token": "eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw", - "token_type_hint": "access_token" - } - responses: - 200: - description: Success - body: - application/json: - example: | - { - "active": true, - "scope": "offline_access openid", - "client_id": "553ac8ac-4db9-4ed3-825c-3ae3bf5d327b", - "sub": "usid:edbf780a-2d83-4e82-9f64-8d051e3538d2::uido:Google::upn:blair.slas.test@gmail.com::uidn:Foo SLAS-Test", - "exp": 1602523099, - "iat": 1594747099, - "iss": "https://localhost:9000/", - "token_type": "refresh_token" - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing access token or refresh token" - } - 401: - description: Unauthorized - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_client", - "error_description": "Basic Authorization failed." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /userinfo: - description: Return claims about the authenticated user. - get: - description: Returns a JSON listing of claims about the currently authenticated user. - displayName: getUserInfo - securedBy: - - CommerceCloudStandards.ShopperToken: - { - Bearer eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw, - } - # headers: - # Authorization: - # displayName: Authorization - # description: SLAS Access Token - # type: string - # required: true - # example: "eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw" - queryParameters: - channel_id: - description: Used when getting user information for a SFCC login. For an B2C Commerce customer, this is angalous to the site ID. Required when getting user information for an B2C Commerce customer. - required: false - maxLength: 100 - type: string - example: "RefArch" - responses: - 200: - description: Success - body: - application/json: - type: string - example: | - { - "sub": "98a84e4b-be50-422a-ab04-e9034e859eb9", - "name": "Slas Test", - "given_name": "Slas", - "family_name": "Test", - "email": "slas-okta-test@test.org", - "external_id": "okta-00u38qdjnScLOB1mq5d6", - "customer_id": "abxHc1lblIlKwRl0k1mqYYkewY", - "validated": true - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Bad or missing access token." - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - - /.well-known/openid-configuration: - description: | - OpenID Connect (OIDC) is an identity layer built on top of the OAuth 2.1 standard and supported by some OAuth 2.1 providers, such as Google. It defines a sign-in flow that enables a client application to authenticate a user and obtain information about the user. Each piece of user information is called a claim. Claims can be used to access username, email, and so on. User identity information is encoded in a secure JSON Web Token (JWT). - - For performance purposes, the `/.well-known/openid-configuration` endpoint is rate limited to 25 call per minute. - get: - description: | - Returns a JSON listing of the OpenID/OAuth endpoints, supported scopes and claims, public keys used to sign the tokens, and other details. - - For performance purposes, the `/.well-known/openid-configuration` endpoint is rate limited to 25 call per minute. - displayName: getWellknownOpenidConfiguration - responses: - 200: - description: Success - body: - application/json: - type: string - example: | - { - "issuer": "https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2", - "authorization_endpoint": "https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/authorize", - "token_endpoint": "https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/token", - "revocation_endpoint": "https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/revoke", - "userinfo_endpoint": "https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/userinfo", - "jwks_uri": "https://stg.us.shopper.cc.salesforce.com/api/v1/organizations/zzzz_tst/oauth2/jwks", - "grant_types_supported": [ - "authorization_code", - "authorization_code_pkce", - "client_credentials", - "refresh_token" - ], - "id_token_encryption_enc_values_supported": [ - "A256GCM" - ], - "subject_types_supported": [ - "public" - ], - "claims_supported": [ - "email", - "name", - "given_name", - "family_name", - "sub" - ], - "scopes_supported": [ - "email", - "openid", - "profile" - ], - "response_types_supported": [ - "code", - "token", - "token id_token" - ], - "code_challenge_methods_supported": [ - "S256" - ] - } - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Tenant Id Exception - Must be a well-formed tenantId" - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation that it doesn't know how to handle." - } - /jwks: - description: | - The `/jwks` endpoint provides a JSON Web Key Set (JWKS) that includes current, past, and future public keys. These keys allow clients to validate the Shopper JSON Web Token (JWT) issued by SLAS, ensuring that no tampering has occurred with the token. Every SLAS JWT that is passed into SLAS, SCAPI, or OCAPI is always validated and is rejected if the signature validation does not match. - - To optimize performance, the `/jwks` endpoint is limited to 25 calls per minute, so it is recommended to cache the JWKS keys and refresh them only when necessary, instead of making frequent requests. Typically, the JWKs endpoint can be used once per DAY. - - For additional information on using JWKS, see https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-validate-jwt-with-jwks.html - get: - description: | - The `/jwks` endpoint provides a JSON Web Key Set (JWKS) that includes current, past, and future public keys. These keys allow clients to validate the Shopper JSON Web Token (JWT) issued by SLAS, ensuring that no tampering has occurred with the token. Every SLAS JWT that is passed into SLAS, SCAPI, or OCAPI is always validated and is rejected if the signature validation does not match. - - To optimize performance, the `/jwks` endpoint is limited to 25 calls per minute, so it is recommended to cache the JWKS keys and refresh them only when necessary, instead of making frequent requests. Typically, the JWKs endpoint can be used once per DAY. - - For additional information on using JWKS, see https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-validate-jwt-with-jwks.html - displayName: getJwksUri - responses: - 200: - description: Success, the response body contains the JWKS keys. - body: - application/json: - type: object - examples: - object: !include examples/jwks-get-response.json - 400: - description: Bad Request - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "invalid_request", - "error_description": "Tenant Id Exception - Must be a well-formed tenantId" - } - 500: - description: Internal Server Error - body: - application/problem+json: - type: Oauth2ErrorResponse - example: | - { - "error": "server_error", - "error_description": "The server has encountered a situation it doesn't know how to handle." - } diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/slasJWT-BearerSecurityScheme.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/slasJWT-BearerSecurityScheme.raml deleted file mode 100644 index 899084a6..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/slasJWT-BearerSecurityScheme.raml +++ /dev/null @@ -1,42 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements SLAS Service APIs secured with an SLAS access token. To permit access to Shopper APIs, this security scheme expects a valid SLAS access token as a bearer token passed in via the `Authorization` header. -type: x-custom -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - slasAccessToken: Bearer eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw - - responses: - 401: - description: Unauthorized. Your access token is invalid and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: ApiStandards.ErrorResponse - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/traits/private/slasRateLimitHeaders.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/traits/private/slasRateLimitHeaders.raml deleted file mode 100644 index 0ff40c81..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/traits/private/slasRateLimitHeaders.raml +++ /dev/null @@ -1,14 +0,0 @@ - description: The user has sent too many requests in a given amount of time, and rate limiting is in effect. - headers: - X-RateLimit-1M-Limit: - description: The 1 minute maximum number of requests permitted per hour. - X-RateLimit-1M-Remaining: - description: The 1 minute number of requests remaining in the current rate limit window. - X-RateLimit-1M-Reset: - description: The 1 minute time at which the current rate limit window resets in UTC epoch seconds. - X-RateLimit-5M-Limit: - description: The 5 minute maximum number of requests permitted per hour. - X-RateLimit-5M-Remaining: - description: The 5 minute number of requests remaining in the current rate limit window. - X-RateLimit-5M-Reset: - description: The 5 minute time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/traits/slasRateLimit.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/traits/slasRateLimit.raml deleted file mode 100644 index c6f89661..00000000 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/traits/slasRateLimit.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on SLAS endpoints for rate limiting. - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/slasRateLimitHeaders.raml - <>: - !include private/slasRateLimitHeaders.raml - <>: - !include private/slasRateLimitHeaders.raml - <>: - !include private/slasRateLimitHeaders.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/.metadata.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/.metadata.json deleted file mode 100644 index 2292cc4a..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/.metadata.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-discovery-search/1.1.6", - "name": "Shopper Discovery Search", - "description": "Einstein-powered product search and search suggestions.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-discovery-search", - "version": "1.1.6", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Discovery" - ], - "CC Version Status": [ - "Beta" - ] - } -} diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange.json deleted file mode 100644 index 345d536b..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"shopper-discovery-search.raml","name":"Shopper Discovery Search","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"shopper-discovery-search","version":"1.1.6","metadata":{"branchId":"master","commitId":"a4cb11ee1d04aca969bfbdf1b21327c40a64af33","projectId":"8ec8fc51-3758-4cad-be54-624e5fc81f48"},"apiVersion":"v1","classifier":"raml","dependencies":[{"assetId":"api-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.1.9"},{"assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.0.16"},{"assetId":"discovery-examples","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.0.2"},{"assetId":"discovery-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"0.0.27"},{"assetId":"discovery-query-common-library","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.0.8"}],"tags":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml deleted file mode 100644 index f1a8b110..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - Uuid: Identifiers.UniversallyUniqueIdentifier - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/error-response.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/identifers.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/identifers.raml deleted file mode 100644 index 9270d9e3..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/identifers.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/pagination-types.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/example.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/example.raml deleted file mode 100644 index 240efb3e..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/example.raml +++ /dev/null @@ -1,92 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/exchange.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/exchange.json deleted file mode 100644 index 46903cec..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.9","apiVersion":"v1","dependencies":[]} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/securitySchemes/gdot.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/securitySchemes/gdot.raml deleted file mode 100644 index 3afcaaf8..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/async-created.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/date-conditional-request.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-conditional-request.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-response.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/offset-paginated.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index 4463d386..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-2.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-3.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-4.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-5.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/sync-created.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml deleted file mode 100644 index fa1a4f62..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/discovery-examples.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/discovery-examples.raml deleted file mode 100644 index 57d9a4e5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/discovery-examples.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -Discovery Examples: \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/exchange.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/exchange.json deleted file mode 100644 index 5a83ba96..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"discovery-examples.raml","name":"Discovery Examples","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"discovery-examples","version":"1.0.1","classifier":"raml-fragment","dependencies":[],"tags":["example"]} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/results-400-error-example.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/results-400-error-example.raml deleted file mode 100644 index c25e3d76..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/results-400-error-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/invalid-request", - "title": "Invalid Request", - "detail": "Limit 'limit.max' out of bounds" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/results-example.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/results-example.raml deleted file mode 100644 index ff208029..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/results-example.raml +++ /dev/null @@ -1,97 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "hits": [ - { - "matchedItem": { - "itemId": "f6f3cbf1-ded5-408f-8b39-0ce678c5784f", - "highlights": [ - { - "attributeId": "89d8d0a5-90ef-4ca3-b4b4-a39e524aa712", - "value": "This is a sample highlight for a camera product." - } - ], - "attributes": [ - { - "attributeId": "89d8d0a5-90ef-4ca3-b4b4-a39e524aa712", - "path": "relative-image-path", - "value": "large/canon-powershot-s5-is.jpg" - }, - { - "attributeId": "2348d0a5-90ef-4ca3-b4b4-a39e524bb835", - "path": "price_usd-sale-prices", - "value": 399.99 - } - ] - }, - "groupId": "b97b2efa-f865-4926-9e19-872f42f9a700", - "groupedItems": [ - { - "itemId": "f6f3cbf1-ded5-408f-8b39-0ce678c5784f", - "links": { - "self": { - "href": "https://example.api.commercecloud.salesforce.com/discovery/query/organizations/f_ecom_zzxy_prd/channels/ACME-US-Site/items/f6f3cbf1-ded5-408f-8b39-0ce678c5784f" - } - } - }, - { - "itemId": "ded7df6a-5a09-42d8-b8d9-f6b00a4b4527" - } - ] - }, - { - "matchedItem": { - "itemId": "g7g4dbf1-ded5-408f-8b39-0ce678c695g", - "highlights": [ - { - "attributeId": "89d8d0a5-90ef-4ca3-b4b4-a39e524aa712", - "value": "This is a sample highlight for a camera product." - } - ], - "attributes": [ - { - "attributeId": "99e9e1b6-90ef-4ca3-b4b4-b49f635bb823", - "path": "relative-image-path", - "value": "large/canon-powershot-slr-is.jpg" - }, - { - "attributeId": "3459e1b6-90ef-4ca3-b4b4-b39f635cc946", - "path": "price_usd-sale-prices", - "value": 699.99 - } - ] - }, - "groupId": "b97b2efa-f865-4926-9e19-872f42f9a700", - "groupedItems": [ - { - "itemId": "g7g4dce2-ded5-408f-8b39-1df789d6895g", - "links": { - "self": { - "href": "https://example.api.commercecloud.salesforce.com/discovery/query/organizations/f_ecom_zzxy_prd/channels/ACME-US-Site/items/g7g4dce2-ded5-408f-8b39-1df789d6895g" - } - } - }, - { - "itemId": "ded7df6a-5a09-42d8-b8d9-f6b00a4b4527" - } - ] - } - ], - "facets": [ - { - "attributeId": "67fa5594-6c86-48ed-bfd6-5da1192dff99", - "facetType": "RANGE_FACET_OUTPUT", - "min": 399.99, - "max": 699.99 - } - ], - "limit": 10, - "offset": 0, - "total": 2, - "links": { - "self": { - "href": "https://example.api.commercecloud.salesforce.com/discovery/query/organizations/f_ecom_zzxy_prd/channels/ACME-US-Site/results?offset=0&limit=10" - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/suggestions-400-error-example.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/suggestions-400-error-example.raml deleted file mode 100644 index d30d8c09..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/suggestions-400-error-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/invalid-request", - "title": "Invalid Request", - "detail": "Limit 'searchTextLength.max' out of bounds" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/suggestions-example.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/suggestions-example.raml deleted file mode 100644 index 50abec81..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.1/suggestions-example.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "recentSearchPhrases": [], - "suggestedSearchPhrases": [ - { - "phrase": "camera" - } - ], - "popularSearchPhrases": [ - { - "phrase": "canon" - }, - { - "phrase": "camera" - }, - { - "phrase": "nikon" - }, - { - "phrase": "trouser" - }, - { - "phrase": "shorts" - }, - { - "phrase": "shirt" - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/discovery-examples.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/discovery-examples.raml deleted file mode 100644 index 57d9a4e5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/discovery-examples.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -Discovery Examples: \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/exchange.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/exchange.json deleted file mode 100644 index 66d4a407..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"discovery-examples.raml","name":"Discovery Examples","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"discovery-examples","version":"1.0.2","classifier":"raml-fragment","dependencies":[],"tags":["example"]} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/results-400-error-example.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/results-400-error-example.raml deleted file mode 100644 index c25e3d76..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/results-400-error-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/invalid-request", - "title": "Invalid Request", - "detail": "Limit 'limit.max' out of bounds" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/results-example.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/results-example.raml deleted file mode 100644 index 9a94eefa..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/results-example.raml +++ /dev/null @@ -1,119 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "hits": [ - { - "matchedItem": { - "itemId": "canon-powershot-sd990-is", - "attributes": [ - { - "attributeId": "name", - "path": "name-text@L:en", - "value": "Canon PowerShot A580 Digital Point and Shoot Camera" - }, - { - "attributeId": "relative-image-path", - "path": "relative-image-path", - "value": "large/canon-powershot-sd990-is.jpg" - }, - { - "attributeId": "price_usd-sale-prices", - "path": "price_usd-sale-prices", - "value": 399.99 - } - ] - }, - "groupId": "canon", - "groupedItems": [ - { - "itemId": "canon-powershot-sd990-is", - "links": { - "self": { - "href": "https://example.api.commercecloud.salesforce.com/discovery/query/organizations/f_ecom_zzxy_prd/channels/ACME-US-Site/items/canon-eos-rebel-xs-wlens" - } - } - }, - { - "itemId": "canon-eos-rebel-xs-wlens" - } - ] - }, - { - "matchedItem": { - "itemId": "canon-powershot-g10", - "attributes": [ - { - "attributeId": "name", - "path": "name-text@L:en", - "value": "Canon PowerShot G10 Digital Point and Shoot Camera" - }, - { - "attributeId": "relative-image-path", - "path": "relative-image-path", - "value": "large/canon-powershot-g10.jpg" - }, - { - "attributeId": "price_usd-sale-prices", - "path": "price_usd-sale-prices", - "value": 699.99 - } - ] - }, - "groupId": "canon", - "groupedItems": [ - { - "itemId": "canon-powershot-g10", - "links": { - "self": { - "href": "https://example.api.commercecloud.salesforce.com/discovery/query/organizations/f_ecom_zzxy_prd/channels/ACME-US-Site/items/canon-powershot-g10" - } - } - }, - { - "itemId": "canon-powershot-sd990-is" - } - ] - } - ], - "facets": [ - { - "attributeId": "category-id", - "facetType": "VALUE_FACET_OUTPUT", - "values": [ - { - "value": "electronics", - "count": 4 - }, - { - "value": "newarrivals", - "count": 2 - }, - ] - }, - { - "attributeId": "brand", - "facetType": "VALUE_FACET_OUTPUT", - "values": [ - { - "value": "Canon", - "count": 4 - } - ] - }, - { - "facetType": "RANGE_FACET_INPUT", - "attributeId": "price_usd-sale-prices", - "min": 399.99, - "max": 699.99 - } - ], - "limit": 10, - "offset": 0, - "total": 2, - "links": { - "self": { - "href": "https://example.api.commercecloud.salesforce.com/discovery/query/organizations/f_ecom_zzxy_prd/channels/ACME-US-Site/results?offset=0&limit=10" - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/suggestions-400-error-example.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/suggestions-400-error-example.raml deleted file mode 100644 index d30d8c09..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/suggestions-400-error-example.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/invalid-request", - "title": "Invalid Request", - "detail": "Limit 'searchTextLength.max' out of bounds" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/suggestions-example.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/suggestions-example.raml deleted file mode 100644 index 50abec81..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/suggestions-example.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "recentSearchPhrases": [], - "suggestedSearchPhrases": [ - { - "phrase": "camera" - } - ], - "popularSearchPhrases": [ - { - "phrase": "canon" - }, - { - "phrase": "camera" - }, - { - "phrase": "nikon" - }, - { - "phrase": "trouser" - }, - { - "phrase": "shorts" - }, - { - "phrase": "shirt" - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-facet-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-facet-library.raml deleted file mode 100644 index d746cd03..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-facet-library.raml +++ /dev/null @@ -1,84 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - FacetInput: - description: An entity describing what type of faceting of the results is required. For example, results can be faceted by an attribute like color which has distinct values like red, blue, white etc. This is called value faceting. The results can also be faceted on a range of values having a lower and an upper bound like price. This is called range faceting. - type: CommerceCloudStandards.ClosedObject - properties: - attributeId: DiscoveryStandards.AttributeId - facetType: - type: string - description: The type of faceting the results - either value based or based on a range. - discriminator: facetType - - ValueFacetInput: - description: An entity describing the attributes that need to be faceted. For example, results can be faceted by an attribute like color, or brand. - type: FacetInput - discriminatorValue: VALUE_FACET_INPUT - properties: - mask?: - description: Specifies the values that must be faceted. All other values are ignored in the results. - type: string[] - minItems: 1 - uniqueItems: true - example: [red, blue] - - RangeFacetInput: - description: An entity describing the attribute for which the range needs to be found in the returned results. For example, the results can be faceted by price; in which case, the min and max price of the items returned in the search results is made available. - type: FacetInput - discriminatorValue: RANGE_FACET_INPUT - - FacetOutput: - description: A specific view of the returned results. For example, if value faceting on the brand attribute, the output could be the brand name followed by how many of the items in the search results belong to that brand name - such as "Adidas - 5, Puma - 10, Nike - 15, New Balance - 2". If range faceting on price, the output is the price attribute followed by the minimum and maximum price of the items in the search results - such as "price - 9.99 (min), 549.99 (max)". - type: CommerceCloudStandards.ClosedObject - properties: - attributeId: DiscoveryStandards.AttributeId - facetType: - type: string - description: The type of faceting the results - either value based or based on a range. - discriminator: facetType - - ValueFacetOutputEntity: - description: An individual faceted entity. For example, when faceting by color, this will be a value like "red - 7" (color, followed by how many of the items in the search results have that color). - type: CommerceCloudStandards.ClosedObject - properties: - value: - description: The faceted value. - type: string - maxLength: 256 - example: red - count: - description: The count of the faceted value. - type: integer - format: int64 - example: 7 - - ValueFacetOutput: - description: A specific view of the returned results with unique attributes and their counts. For example, when faceted by color, this will be a set of values like "red - 7, blue - 10, white - 21" (color, followed by how many of the items in the search results have that color). - type: FacetOutput - discriminatorValue: VALUE_FACET_OUTPUT - properties: - values?: - description: Optional one or more ValueFacetOutputEntity objects. - type: ValueFacetOutputEntity[] - uniqueItems: true - example: [{value: red, count: 7}, {value: blue, count: 8}] - - RangeFacetOutput: - description: A specific view of the returned results with the minimum and maximum values. For example, when faceted by price, this will be value like "price - 9.99 (min), 549.99 (max)" (range faceted attribute (price in this case), followed by the minimum and maximum value of that attribute in the search results). - type: FacetOutput - discriminatorValue: RANGE_FACET_OUTPUT - properties: - min: - description: The serialized minimum value in the faceting range of number, integer, date-only, or datetime type. - type: any - example: "10, 100, 2019-12-31, 2019-12-31T23:59:59.000Z" - max: - description: The serialized maximum value in the faceting range of number, integer, date-only, or datetime type. - type: any - example: "20, 200, 2020-12-31, 2020-12-31T23:59:59.000Z" diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-grouping-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-grouping-library.raml deleted file mode 100644 index 40487bed..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-grouping-library.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - Grouping: - description: Describes what the returned results must be grouped on. For example, results can be grouped by category such as 'Men's Shirts' or 'Kid's Toys'. They can also be grouped by a particular attribute variation - for example, grouping can be done on color, showing a collection of items that only vary by the color and nothing else. - type: CommerceCloudStandards.ClosedObject - properties: - groupType: - description: Specifies what the returned results are grouped on. - type: string - discriminator: groupType - - AttributeGrouping: - description: Describes which attribute the returned results must be grouped on. For example, results can be grouped by size and all items belonging to a specific size will be belong to one group, such as Men's XL sized t-shirts. - type: Grouping - discriminatorValue: ATTRIBUTE - properties: - attributeId: DiscoveryStandards.AttributeId - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-query-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-query-library.raml deleted file mode 100644 index 99fe3fdc..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-query-library.raml +++ /dev/null @@ -1,133 +0,0 @@ -#%RAML 1.0 Library - -uses: - ApiStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - DiscoveryRefinementLibrary: discovery-refinement-library.raml - DiscoveryFacetLibrary: discovery-facet-library.raml - DiscoverySortingLibrary: discovery-sorting-library.raml - DiscoveryGroupingLibrary: discovery-grouping-library.raml - DiscoveryQueryOutputLibrary: discovery-query-output-library.raml - -types: - - Query: - description: An object which is used for performing a search. For example, a user can be search based on a phrase like "jacket" which looks for items containing that phrase in any searchable attribute. This type of querying is called a phrase query. Another example is to search a based on a phrase like "women's petite shirts" and constrain that search to a specific attribute like the item's description. This type of querying is called an attributes query. - type: CommerceCloudStandards.ClosedObject - properties: - queryType: - description: The type of the query. - type: string - correctableAttributes?: CorrectableAttributes - highlighting?: Highlighting - discriminator: queryType - - CorrectableAttributes: - description: An entity which contains configuration used for checking the spelling of a search phrase in a query. The provided attributes are used as the sources for correctly spelled words. - type: CommerceCloudStandards.ClosedObject - properties: - attributes: - description: One or more Attribute Id objects. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - maxItems: 10 - uniqueItems: true - example: [ 89d8d0a5-90ef-4ca3-b4b4-a39e524aa712 ] - - Highlighting: - description: An entity which contains configuration for returning snippets of attributes based on a phrase. Each result will return the most relevant highlight for the given search phrase used in the query. - type: CommerceCloudStandards.ClosedObject - properties: - attributes: - description: One or more Attribute Id objects. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - maxItems: 1 - uniqueItems: true - example: [ 89d8d0a5-90ef-4ca3-b4b4-a39e524aa712 ] - - PhraseQuery: - description: A type of query where the search is done for a phrase over all searchable fields. For example, a search based on a phrase like "thermometer" which will look for items containing that search phrase in any searchable attribute. - type: Query - discriminatorValue: PHRASE_QUERY - properties: - value: - description: The value to search for. - type: string - example: jacket - - AttributesQuery: - description: A type of query where the search is done for a phrase in a specified set of searchable attributes. For exampe, a search for a phrase like "thermometer" only in selected attributes like "description" and "features". - type: Query - discriminatorValue: ATTRIBUTES_QUERY - properties: - value: - description: A combination of one or more attributes, and the text to search for. - properties: - attributes: - description: One or more Attribute Id objects. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - uniqueItems: true - example: [ 89d8d0a5-90ef-4ca3-b4b4-a39e524aa712, c736ec6b-1285-4f3c-9a78-0d570d585eac ] - phrase: - description: The value to search for in the attributes. - type: string - example: socks - - QueryInput: - description: Body of the Query when a request is sent to do a search. - type: CommerceCloudStandards.ClosedObject - properties: - query?: - description: An object which is used for performing a search. - type: Query - refinements?: - description: One or more conditions which are used to filter the returned results. - type: DiscoveryRefinementLibrary.Refinement[] - minItems: 1 - uniqueItems: true - returnedAttributes?: - description: One or more attributes that must be returned in the results. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - uniqueItems: true - grouping?: DiscoveryGroupingLibrary.Grouping - facets?: - description: One or more attributes on which the returned results need to be faceted. - type: DiscoveryFacetLibrary.FacetInput[] - minItems: 1 - uniqueItems: true - sorting: DiscoverySortingLibrary.Sorting - - QueryOutput: - description: Body of the response after a search is completed. - type: CommerceCloudStandards.ClosedObject - properties: - hits: - description: A collection of result entities. - type: DiscoveryQueryOutputLibrary.Result[] - uniqueItems: true - facets?: - description: An optional collection of facet entities. - type: array - items: DiscoveryFacetLibrary.FacetOutput - minItems: 1 - uniqueItems: true - links: - type: DiscoveryStandards.PaginationLinks - examples: - links: - prev: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/query/v2/organizations/org-id/data-sets/c8e138bc-5aa0-48c7-b10a-eeb8d60fee0e/results?offset=0&limit=10 - self: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/query/v2/organizations/org-id/data-sets/c8e138bc-5aa0-48c7-b10a-eeb8d60fee0e/results?offset=10&limit=10 - next: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/query/v2/organizations/org-id/data-sets/c8e138bc-5aa0-48c7-b10a-eeb8d60fee0e/results?offset=20&limit=10 - limit: ApiStandards.Limit - offset: ApiStandards.Offset - total: - description: The total number of matching items. - type: integer - format: int64 diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-query-output-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-query-output-library.raml deleted file mode 100644 index bf0c23ce..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-query-output-library.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - ItemReference: - description: An entity that corresponds to an item in the search result. For example, in Commerce Cloud, this could be an item in a catalog of items that a merchant sells. - type: CommerceCloudStandards.ClosedObject - properties: - itemId: DiscoveryStandards.AttributeId - attributes?: - description: The attributes that were requested for when performing a search. - type: DiscoveryStandards.ExpansionAttribute[] - - Highlight: - description: An entity containing an attribute ID and the highlight value found for that attribute. Each highlight will have the matched segment from the input phrase wrapped in and tags. - type: CommerceCloudStandards.ClosedObject - properties: - attributeId: DiscoveryStandards.AttributeId - value: - type: string - description: The highlight value - example: This lightweight jacket is perfect for cool weather. - - Result: - description: An entity referencing an item and the group to which it belongs. Items can be grouped based on attributes that are groupable. If such a grouping is asked for at the time of querying, then the grouped items are also returned. - type: CommerceCloudStandards.ClosedObject - properties: - matchedItem: - description: An entity that corresponds to an item in the search result. - type: ItemReference - highlights?: - description: A collection of highlights found for the matched item. - type: Highlight[] - groupId?: - description: Identifier of the grouped items. - type: string - example: 26194e28-9b2a-4a7e-b3e9-8328dd9acfca - groupedItems?: - description: A collection of grouped items. - type: ItemReference[] - minItems: 1 - uniqueItems: true diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-refinement-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-refinement-library.raml deleted file mode 100644 index c802d1f9..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-refinement-library.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - Refinement: - description: The criteria for filtering search results. Search results can be filtered by filterable attributes to further narrow down the number of items being presented to the user. For example, search results can be filtered to only show items belonging to a specific brand. - type: CommerceCloudStandards.ClosedObject - properties: - attributeId: DiscoveryStandards.AttributeId - refinementType: - description: The type of a refinement. - type: string - discriminator: refinementType - - ValueRefinement: - description: A type of refinement where one or more phrases are used for refining the search results for a given attribute. For example, you can refine a search result to only show items that are eligible for expedited shipping. - type: Refinement - discriminatorValue: VALUE_REFINEMENT - properties: - values: - description: One or more ways of refining the search results based on number, integer, date-only, datetime, boolean, or string types. - type: array - items: - type: any - example: "9, 99, 2019-12-31, 2019-12-31T23:59:59.000Z, true, skiing" - minItems: 1 - uniqueItems: true - - RangeRefinement: - description: A type of refinement where a range of values is used for refining the search results for a given attribute. For example, you can refine the search results to only show items that are below a specific price point. - type: Refinement - discriminatorValue: RANGE_REFINEMENT - properties: - min: - description: The minimum value in a range of type number, integer, date-only, datetime. - type: any - example: "9, 99, 2019-12-31, 2019-12-31T23:59:59.000Z" - max: - description: The maximum value in a range of type number, integer, date-only, or datetime. - type: any - example: "90, 990, 2020-12-31, 2020-12-31T23:59:59.000Z" diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-sorting-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-sorting-library.raml deleted file mode 100644 index 868a1b4b..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-sorting-library.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - Sorting: - description: Describes what and how the returned results must be sorted. An attribute must be sortable before it can be used for sorting. - type: CommerceCloudStandards.ClosedObject - properties: - sortType: - description: Specifies what is sorted. For example, an attribute like 'brand' can be sorted. - type: string - discriminator: sortType - - AttributeSorting: - description: Describes which attribute the returned results must be sorted on. For example, sorting can be done based on the average user rating of the items returned in the results. - type: Sorting - discriminatorValue: ATTRIBUTE - properties: - attributeId: DiscoveryStandards.AttributeId - direction: - description: Specifies how to sort the returned results. - enum: - - ASCENDING - - DESCENDING - example: ASCENDING - - RelevanceSorting: - description: Describes if the results need to be sorted based on relevance score. - type: Sorting - discriminatorValue: RELEVANCE diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-suggestion-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-suggestion-library.raml deleted file mode 100644 index 6e68c473..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/discovery-suggestion-library.raml +++ /dev/null @@ -1,42 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - SuggestionType: - description: - The different types of suggestions. - * RECENT - Search phrases that a shopper has recently executed. - * SUGGESTED - Search phrases presented to a shopper based on recent activity and a base search text. - * POPULAR - Search phrases that are trending in a shopper’s geolocation. - enum: - - RECENT - - SUGGESTED - - POPULAR - example: SUGGESTED - - Suggestion: - description: A single suggested term for searching. For example, a suggested term can be handy when doing auto-complete as and when a user is searching for an item in an online store. - type: CommerceCloudStandards.ClosedObject - properties: - phrase: - description: The suggested phrase. - type: string - example: shoes - - Suggestions: - description: A collection of suggested terms for searching. - type: CommerceCloudStandards.ClosedObject - properties: - recentSearchPhrases?: - description: Most recent search phrases from the clients. - type: Suggestion[] - suggestedSearchPhrases?: - description: The suggested phrases based on the partial input. - type: Suggestion[] - popularSearchPhrases?: - description: Popular search phrases across the service. - type: Suggestion[] diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/exchange.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/exchange.json deleted file mode 100644 index 29514223..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.2/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"discovery-query-library.raml","name":"Discovery Query Common Library","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"discovery-query-common-library","version":"1.0.2","classifier":"raml-fragment","dependencies":[{"assetId":"api-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.1.9"},{"assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.0.16"},{"assetId":"discovery-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"0.0.26"}],"tags":[]} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-facet-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-facet-library.raml deleted file mode 100644 index f07985e1..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-facet-library.raml +++ /dev/null @@ -1,100 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - FacetRequest: - description: An entity describing the requested facet attributes. Explicit list of facet attributes can be requested in the "facets" field. Discovery will attempt to extend the result with most relevant facets up to the specified facet limit if one is set. - properties: - facetLimit?: - description: The number of expected facet attributes in the result. Discovery will try to fill up the result with most relevant facet attributes up to the specified limit including the required facet attributes from the "facets" property. If the "facets" property is not provided or empty the result will be extended with most relevant facet attributes based on the query up to the specified limit. If one or more facet attributes are provided at the optional "facets" property, the attributes will be included in the result in addition to the most relevant facet attributes. If this property is not specified, only facet attributes from the "facets" property will be considered in the result. If the "facetLimit" property is less than the number of attributes in the "facets" property, then the "facetLimit" property will be ignored. - type: integer - format: int64 - example: 8 - facets?: - description: Facet attributes which are required in the result. - type: FacetInput[] - - FacetInput: - description: An entity describing what type of faceting of the results is required. For example, results can be faceted by an attribute like color which has distinct values like red, blue, white etc. This is called value faceting. The results can also be faceted on a range of values having a lower and an upper bound like price. This is called range faceting. - type: object - properties: - attributeId: DiscoveryStandards.AttributeId - facetType: - type: string - description: The type of faceting the results - either value based or based on a range. - discriminator: facetType - - ValueFacetInput: - description: An entity describing the attributes that need to be faceted. For example, results can be faceted by an attribute like color, or brand. - type: FacetInput - discriminatorValue: VALUE_FACET_INPUT - properties: - mask?: - description: Specifies the values that must be faceted. All other values are ignored in the results. - type: string[] - minItems: 1 - uniqueItems: true - example: [red, blue] - additionalProperties: false - - RangeFacetInput: - description: An entity describing the attribute for which the range needs to be found in the returned results. For example, the results can be faceted by price; in which case, the min and max price of the items returned in the search results is made available. - type: FacetInput - discriminatorValue: RANGE_FACET_INPUT - additionalProperties: false - - FacetOutput: - description: A specific view of the returned results. For example, if value faceting on the brand attribute, the output could be the brand name followed by how many of the items in the search results belong to that brand name - such as "Adidas - 5, Puma - 10, Nike - 15, New Balance - 2". If range faceting on price, the output is the price attribute followed by the minimum and maximum price of the items in the search results - such as "price - 9.99 (min), 549.99 (max)". - type: object - properties: - attributeId: DiscoveryStandards.AttributeId - facetType: - type: string - description: The type of faceting the results - either value based or based on a range. - discriminator: facetType - - ValueFacetOutputEntity: - description: An individual faceted entity. For example, when faceting by color, this will be a value like "red - 7" (color, followed by how many of the items in the search results have that color). - type: object - properties: - value: - description: The faceted value. - type: string - maxLength: 256 - example: red - count: - description: The count of the faceted value. - type: integer - format: int64 - example: 7 - - ValueFacetOutput: - description: A specific view of the returned results with unique attributes and their counts. For example, when faceted by color, this will be a set of values like "red - 7, blue - 10, white - 21" (color, followed by how many of the items in the search results have that color). - type: FacetOutput - discriminatorValue: VALUE_FACET_OUTPUT - properties: - values?: - description: Optional one or more ValueFacetOutputEntity objects. - type: ValueFacetOutputEntity[] - uniqueItems: true - example: [{value: red, count: 7}, {value: blue, count: 8}] - additionalProperties: false - - RangeFacetOutput: - description: A specific view of the returned results with the minimum and maximum values. For example, when faceted by price, this will be value like "price - 9.99 (min), 549.99 (max)" (range faceted attribute (price in this case), followed by the minimum and maximum value of that attribute in the search results). - type: FacetOutput - discriminatorValue: RANGE_FACET_OUTPUT - properties: - min: - description: The serialized minimum value in the faceting range of number, integer, date-only, or datetime type. - type: any - example: "10, 100, 2019-12-31, 2019-12-31T23:59:59.000Z" - max: - description: The serialized maximum value in the faceting range of number, integer, date-only, or datetime type. - type: any - example: "20, 200, 2020-12-31, 2020-12-31T23:59:59.000Z" - additionalProperties: false \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-grouping-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-grouping-library.raml deleted file mode 100644 index 6d0defba..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-grouping-library.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - Grouping: - description: Describes what the returned results must be grouped on. For example, results can be grouped by category such as 'Men's Shirts' or 'Kid's Toys'. They can also be grouped by a particular attribute variation - for example, grouping can be done on color, showing a collection of items that only vary by the color and nothing else. - type: object - properties: - groupType: - description: Specifies what the returned results are grouped on. - type: string - discriminator: groupType - - AttributeGrouping: - description: Describes which attribute the returned results must be grouped on. For example, results can be grouped by size and all items belonging to a specific size will be belong to one group, such as Men's XL sized t-shirts. - type: Grouping - discriminatorValue: ATTRIBUTE - properties: - attributeId: DiscoveryStandards.AttributeId - additionalProperties: false - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-query-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-query-library.raml deleted file mode 100644 index df9ad741..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-query-library.raml +++ /dev/null @@ -1,138 +0,0 @@ -#%RAML 1.0 Library - -uses: - ApiStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - DiscoveryRefinementLibrary: discovery-refinement-library.raml - DiscoveryFacetLibrary: discovery-facet-library.raml - DiscoverySortingLibrary: discovery-sorting-library.raml - DiscoveryGroupingLibrary: discovery-grouping-library.raml - DiscoveryQueryOutputLibrary: discovery-query-output-library.raml - -types: - - Query: - description: An object which is used for performing a search. For example, a user can be search based on a phrase like "jacket" which looks for items containing that phrase in any searchable attribute. This type of querying is called a phrase query. Another example is to search a based on a phrase like "women's petite shirts" and constrain that search to a specific attribute like the item's description. This type of querying is called an attributes query. - type: object - properties: - queryType: - description: The type of the query. - type: string - correctableAttributes?: CorrectableAttributes - highlighting?: Highlighting - discriminator: queryType - - CorrectableAttributes: - description: An entity which contains configuration used for checking the spelling of a search phrase in a query. The provided attributes are used as the sources for correctly spelled words. - type: object - properties: - attributes: - description: One or more Attribute Id objects. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - maxItems: 10 - uniqueItems: true - example: [ 89d8d0a5-90ef-4ca3-b4b4-a39e524aa712 ] - - Highlighting: - description: An entity which contains configuration for returning snippets of attributes based on a phrase. Each result will return the most relevant highlight for the given search phrase used in the query. - type: object - properties: - attributes: - description: One or more Attribute Id objects. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - maxItems: 1 - uniqueItems: true - example: [ 89d8d0a5-90ef-4ca3-b4b4-a39e524aa712 ] - - PhraseQuery: - description: A type of query where the search is done for a phrase over all searchable fields. For example, a search based on a phrase like "thermometer" which will look for items containing that search phrase in any searchable attribute. - type: Query - discriminatorValue: PHRASE_QUERY - properties: - value: - description: The value to search for. - type: string - example: jacket - additionalProperties: false - - AttributesQuery: - description: A type of query where the search is done for a phrase in a specified set of searchable attributes. For exampe, a search for a phrase like "thermometer" only in selected attributes like "description" and "features". - type: Query - discriminatorValue: ATTRIBUTES_QUERY - properties: - value: - description: A combination of one or more attributes, and the text to search for. - properties: - attributes: - description: One or more Attribute Id objects. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - uniqueItems: true - example: [ 89d8d0a5-90ef-4ca3-b4b4-a39e524aa712, c736ec6b-1285-4f3c-9a78-0d570d585eac ] - phrase: - description: The value to search for in the attributes. - type: string - example: socks - additionalProperties: false - - QueryInput: - description: Body of the Query when a request is sent to do a search. - type: CommerceCloudStandards.ClosedObject - properties: - query?: - description: An object which is used for performing a search. - type: Query - refinements?: - description: One or more conditions which are used to filter the returned results. - type: DiscoveryRefinementLibrary.Refinement[] - minItems: 1 - uniqueItems: true - returnedAttributes?: - description: One or more attributes that must be returned in the results. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - uniqueItems: true - grouping?: DiscoveryGroupingLibrary.Grouping - facets?: - description: One or more attributes on which the returned results need to be faceted. - type: DiscoveryFacetLibrary.FacetInput[] - minItems: 1 - uniqueItems: true - facetRequest?: - description: An entity describing the required facet attributes in the result. - type: DiscoveryFacetLibrary.FacetRequest - sorting: DiscoverySortingLibrary.Sorting - - QueryOutput: - description: Body of the response after a search is completed. - type: CommerceCloudStandards.ClosedObject - properties: - hits: - description: A collection of result entities. - type: DiscoveryQueryOutputLibrary.Result[] - uniqueItems: true - facets?: - description: An optional collection of facet entities. - type: array - items: DiscoveryFacetLibrary.FacetOutput - minItems: 1 - uniqueItems: true - links: - type: DiscoveryStandards.PaginationLinks - examples: - links: - prev: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/query/v2/organizations/org-id/data-sets/c8e138bc-5aa0-48c7-b10a-eeb8d60fee0e/results?offset=0&limit=10 - self: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/query/v2/organizations/org-id/data-sets/c8e138bc-5aa0-48c7-b10a-eeb8d60fee0e/results?offset=10&limit=10 - next: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/query/v2/organizations/org-id/data-sets/c8e138bc-5aa0-48c7-b10a-eeb8d60fee0e/results?offset=20&limit=10 - limit: ApiStandards.Limit - offset: ApiStandards.Offset - total: - description: The total number of matching items. - type: integer - format: int64 diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-query-output-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-query-output-library.raml deleted file mode 100644 index c6c207e2..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-query-output-library.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - ItemReference: - description: An entity that corresponds to an item in the search result. For example, in Commerce Cloud, this could be an item in a catalog of items that a merchant sells. - type: object - properties: - itemId: DiscoveryStandards.AttributeId - attributes?: - description: The attributes that were requested for when performing a search. - type: DiscoveryStandards.ExpansionAttribute[] - - Highlight: - description: An entity containing an attribute ID and the highlight value found for that attribute. Each highlight will have the matched segment from the input phrase wrapped in and tags. - type: object - properties: - attributeId: DiscoveryStandards.AttributeId - value: - type: string - description: The highlight value - example: This lightweight jacket is perfect for cool weather. - - Result: - description: An entity referencing an item and the group to which it belongs. Items can be grouped based on attributes that are groupable. If such a grouping is asked for at the time of querying, then the grouped items are also returned. - type: CommerceCloudStandards.ClosedObject - properties: - matchedItem: - description: An entity that corresponds to an item in the search result. - type: ItemReference - highlights?: - description: A collection of highlights found for the matched item. - type: Highlight[] - groupId?: - description: Identifier of the grouped items. - type: string - example: 26194e28-9b2a-4a7e-b3e9-8328dd9acfca - groupedItems?: - description: A collection of grouped items. - type: ItemReference[] - minItems: 1 - uniqueItems: true diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-refinement-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-refinement-library.raml deleted file mode 100644 index 17c38d55..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-refinement-library.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - Refinement: - description: The criteria for filtering search results. Search results can be filtered by filterable attributes to further narrow down the number of items being presented to the user. For example, search results can be filtered to only show items belonging to a specific brand. - type: object - properties: - attributeId: DiscoveryStandards.AttributeId - refinementType: - description: The type of a refinement. - type: string - discriminator: refinementType - - ValueRefinement: - description: A type of refinement where one or more phrases are used for refining the search results for a given attribute. For example, you can refine a search result to only show items that are eligible for expedited shipping. - type: Refinement - discriminatorValue: VALUE_REFINEMENT - properties: - values: - description: One or more ways of refining the search results based on number, integer, date-only, datetime, boolean, or string types. - type: array - items: - type: any - example: "9, 99, 2019-12-31, 2019-12-31T23:59:59.000Z, true, skiing" - minItems: 1 - uniqueItems: true - additionalProperties: false - - RangeRefinement: - description: A type of refinement where a range of values is used for refining the search results for a given attribute. For example, you can refine the search results to only show items that are below a specific price point. - type: Refinement - discriminatorValue: RANGE_REFINEMENT - properties: - min: - description: The minimum value in a range of type number, integer, date-only, datetime. - type: any - example: "9, 99, 2019-12-31, 2019-12-31T23:59:59.000Z" - max: - description: The maximum value in a range of type number, integer, date-only, or datetime. - type: any - example: "90, 990, 2020-12-31, 2020-12-31T23:59:59.000Z" - additionalProperties: false diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-sorting-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-sorting-library.raml deleted file mode 100644 index 0578ddea..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-sorting-library.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - Sorting: - description: Describes what and how the returned results must be sorted. An attribute must be sortable before it can be used for sorting. - type: object - properties: - sortType: - description: Specifies what is sorted. For example, an attribute like 'brand' can be sorted. - type: string - discriminator: sortType - - AttributeSorting: - description: Describes which attribute the returned results must be sorted on. For example, sorting can be done based on the average user rating of the items returned in the results. - type: Sorting - discriminatorValue: ATTRIBUTE - properties: - attributeId: DiscoveryStandards.AttributeId - direction: - description: Specifies how to sort the returned results. - enum: - - ASCENDING - - DESCENDING - example: ASCENDING - additionalProperties: false - - RelevanceSorting: - description: Describes if the results need to be sorted based on relevance score. - type: Sorting - discriminatorValue: RELEVANCE - additionalProperties: false diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-suggestion-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-suggestion-library.raml deleted file mode 100644 index 6e68c473..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/discovery-suggestion-library.raml +++ /dev/null @@ -1,42 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - SuggestionType: - description: - The different types of suggestions. - * RECENT - Search phrases that a shopper has recently executed. - * SUGGESTED - Search phrases presented to a shopper based on recent activity and a base search text. - * POPULAR - Search phrases that are trending in a shopper’s geolocation. - enum: - - RECENT - - SUGGESTED - - POPULAR - example: SUGGESTED - - Suggestion: - description: A single suggested term for searching. For example, a suggested term can be handy when doing auto-complete as and when a user is searching for an item in an online store. - type: CommerceCloudStandards.ClosedObject - properties: - phrase: - description: The suggested phrase. - type: string - example: shoes - - Suggestions: - description: A collection of suggested terms for searching. - type: CommerceCloudStandards.ClosedObject - properties: - recentSearchPhrases?: - description: Most recent search phrases from the clients. - type: Suggestion[] - suggestedSearchPhrases?: - description: The suggested phrases based on the partial input. - type: Suggestion[] - popularSearchPhrases?: - description: Popular search phrases across the service. - type: Suggestion[] diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/exchange.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/exchange.json deleted file mode 100644 index 625bb4b0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.4/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"discovery-query-library.raml","name":"Discovery Query Common Library","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"discovery-query-common-library","version":"1.0.4","classifier":"raml-fragment","dependencies":[{"assetId":"api-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.1.9"},{"assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.0.16"},{"assetId":"discovery-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"0.0.26"}],"tags":[]} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-facet-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-facet-library.raml deleted file mode 100644 index 48f6beb2..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-facet-library.raml +++ /dev/null @@ -1,100 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - FacetRequest: - description: An entity describing the requested facet attributes. Explicit list of facet attributes can be requested in the "facets" field. Discovery will attempt to extend the result with most relevant facets up to the specified facet limit if one is set. - properties: - facetLimit?: - description: The number of expected facet attributes in the result. Discovery will try to fill up the result with most relevant facet attributes up to the specified limit including the required facet attributes from the "facets" property. If the "facets" property is not provided or empty the result will be extended with most relevant facet attributes based on the query up to the specified limit. If one or more facet attributes are provided at the optional "facets" property, the attributes will be included in the result in addition to the most relevant facet attributes. If this property is not specified, only facet attributes from the "facets" property will be considered in the result. If the "facetLimit" property is less than the number of attributes in the "facets" property, then the "facetLimit" property will be ignored. - type: integer - format: int64 - example: 8 - facets?: - description: Facet attributes which are required in the result. - type: FacetInput[] - - FacetInput: - description: An entity describing what type of faceting of the results is required. For example, results can be faceted by an attribute like color which has distinct values like red, blue, white etc. This is called value faceting. The results can also be faceted on a range of values having a lower and an upper bound like price. This is called range faceting. - type: object - properties: - attributeId: DiscoveryStandards.AttributeId - facetType: - type: string - description: The type of faceting the results - either value based or based on a range. - discriminator: facetType - - ValueFacetInput: - description: An entity describing the attributes that need to be faceted. For example, results can be faceted by an attribute like color, or brand. - type: FacetInput - discriminatorValue: VALUE_FACET_INPUT - properties: - mask?: - description: Specifies the values that must be faceted. All other values are ignored in the results. - type: string[] - minItems: 1 - uniqueItems: true - example: [red, blue] - additionalProperties: false - - RangeFacetInput: - description: An entity describing the attribute for which the range needs to be found in the returned results. For example, the results can be faceted by price; in which case, the min and max price of the items returned in the search results is made available. - type: FacetInput - discriminatorValue: RANGE_FACET_INPUT - additionalProperties: false - - FacetOutput: - description: A specific view of the returned results. For example, if value faceting on the brand attribute, the output could be the brand name followed by how many of the items in the search results belong to that brand name - such as "Adidas - 5, Puma - 10, Nike - 15, New Balance - 2". If range faceting on price, the output is the price attribute followed by the minimum and maximum price of the items in the search results - such as "price - 9.99 (min), 549.99 (max)". - type: object - properties: - attributeId: DiscoveryStandards.AttributeId - facetType: - type: string - description: The type of faceting the results - either value based or based on a range. - discriminator: facetType - - ValueFacetOutputEntity: - description: An individual faceted entity. For example, when faceting by color, this will be a value like "red - 7" (color, followed by how many of the items in the search results have that color). - type: object - properties: - value: - description: The faceted value. - type: string - maxLength: 256 - example: red - count: - description: The count of the faceted value. - type: integer - format: int64 - example: 7 - - ValueFacetOutput: - description: A specific view of the returned results with unique attributes and their counts. For example, when faceted by color, this will be a set of values like "red - 7, blue - 10, white - 21" (color, followed by how many of the items in the search results have that color). - type: FacetOutput - discriminatorValue: VALUE_FACET_OUTPUT - properties: - values?: - description: Optional one or more ValueFacetOutputEntity objects. - type: ValueFacetOutputEntity[] - uniqueItems: true - example: [{value: red, count: 7}, {value: blue, count: 8}] - additionalProperties: false - - RangeFacetOutput: - description: A specific view of the returned results with the minimum and maximum values. For example, when faceted by price, this will be value like "price - 9.99 (min), 549.99 (max)" (range faceted attribute (price in this case), followed by the minimum and maximum value of that attribute in the search results). - type: FacetOutput - discriminatorValue: RANGE_FACET_OUTPUT - properties: - min: - description: The serialized minimum value in the faceting range of number, integer, date-only, or datetime type. - type: any - example: "10, 100, 2019-12-31, 2019-12-31T23:59:59.000Z" - max: - description: The serialized maximum value in the faceting range of number, integer, date-only, or datetime type. - type: any - example: "20, 200, 2020-12-31, 2020-12-31T23:59:59.000Z" - additionalProperties: false \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-grouping-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-grouping-library.raml deleted file mode 100644 index e67e13e6..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-grouping-library.raml +++ /dev/null @@ -1,30 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - Grouping: - description: Describes what the returned results must be grouped on. For example, results can be grouped by category such as 'Men's Shirts' or 'Kid's Toys'. They can also be grouped by a particular attribute variation - for example, grouping can be done on color, showing a collection of items that only vary by the color and nothing else. - type: object - properties: - groupType: - description: Specifies what the returned results are grouped on. - type: string - discriminator: groupType - - AttributeGrouping: - description: Describes which attribute the returned results must be grouped on. For example, results can be grouped by size and all items belonging to a specific size will be belong to one group, such as Men's XL sized t-shirts. - type: Grouping - discriminatorValue: ATTRIBUTE - properties: - attributeId: DiscoveryStandards.AttributeId - returnedAttributes?: - description: One or more attributes that should exclusively be returned for grouped items. If this field is not specified then it will inherit the returned attributes specified under Query Input. If no returned attributes are specified under Query Input then all returnable attributes will be returned. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - uniqueItems: true - additionalProperties: false - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-query-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-query-library.raml deleted file mode 100644 index b9ad7079..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-query-library.raml +++ /dev/null @@ -1,138 +0,0 @@ -#%RAML 1.0 Library - -uses: - ApiStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - DiscoveryRefinementLibrary: discovery-refinement-library.raml - DiscoveryFacetLibrary: discovery-facet-library.raml - DiscoverySortingLibrary: discovery-sorting-library.raml - DiscoveryGroupingLibrary: discovery-grouping-library.raml - DiscoveryQueryOutputLibrary: discovery-query-output-library.raml - -types: - - Query: - description: An object which is used for performing a search. For example, a user can be search based on a phrase like "jacket" which looks for items containing that phrase in any searchable attribute. This type of querying is called a phrase query. Another example is to search a based on a phrase like "women's petite shirts" and constrain that search to a specific attribute like the item's description. This type of querying is called an attributes query. - type: object - properties: - queryType: - description: The type of the query. - type: string - correctableAttributes?: CorrectableAttributes - highlighting?: Highlighting - discriminator: queryType - - CorrectableAttributes: - description: An entity which contains configuration used for checking the spelling of a search phrase in a query. The provided attributes are used as the sources for correctly spelled words. - type: object - properties: - attributes: - description: One or more Attribute Id objects. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - maxItems: 10 - uniqueItems: true - example: [ name, brand ] - - Highlighting: - description: An entity which contains configuration for returning snippets of attributes based on a phrase. Each result will return the most relevant highlight for the given search phrase used in the query. - type: object - properties: - attributes: - description: One or more Attribute Id objects. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - maxItems: 1 - uniqueItems: true - example: [ name ] - - PhraseQuery: - description: A type of query where the search is done for a phrase over all searchable fields. For example, a search based on a phrase like "thermometer" which will look for items containing that search phrase in any searchable attribute. - type: Query - discriminatorValue: PHRASE_QUERY - properties: - value: - description: The value to search for. - type: string - example: jacket - additionalProperties: false - - AttributesQuery: - description: A type of query where the search is done for a phrase in a specified set of searchable attributes. For exampe, a search for a phrase like "thermometer" only in selected attributes like "description" and "features". - type: Query - discriminatorValue: ATTRIBUTES_QUERY - properties: - value: - description: A combination of one or more attributes, and the text to search for. - properties: - attributes: - description: One or more Attribute Id objects. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - uniqueItems: true - example: [ name, brand ] - phrase: - description: The value to search for in the attributes. - type: string - example: socks - additionalProperties: false - - QueryInput: - description: Body of the Query when a request is sent to do a search. - type: CommerceCloudStandards.ClosedObject - properties: - query?: - description: An object which is used for performing a search. - type: Query - refinements?: - description: One or more conditions which are used to filter the returned results. - type: DiscoveryRefinementLibrary.Refinement[] - minItems: 1 - uniqueItems: true - returnedAttributes?: - description: One or more attributes that should exclusively be returned. If this field is not specified then all returnable attributes will be returned. - type: DiscoveryStandards.AttributeId[] - minItems: 1 - uniqueItems: true - grouping?: DiscoveryGroupingLibrary.Grouping - facets?: - description: One or more attributes on which the returned results need to be faceted. - type: DiscoveryFacetLibrary.FacetInput[] - minItems: 1 - uniqueItems: true - facetRequest?: - description: An entity describing the required facet attributes in the result. - type: DiscoveryFacetLibrary.FacetRequest - sorting: DiscoverySortingLibrary.Sorting - - QueryOutput: - description: Body of the response after a search is completed. - type: CommerceCloudStandards.ClosedObject - properties: - hits: - description: A collection of result entities. - type: DiscoveryQueryOutputLibrary.Result[] - uniqueItems: true - facets?: - description: An optional collection of facet entities. - type: array - items: DiscoveryFacetLibrary.FacetOutput - minItems: 1 - uniqueItems: true - links: - type: DiscoveryStandards.PaginationLinks - examples: - links: - prev: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/query/v2/organizations/org-id/data-sets/c8e138bc-5aa0-48c7-b10a-eeb8d60fee0e/results?offset=0&limit=10 - self: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/query/v2/organizations/org-id/data-sets/c8e138bc-5aa0-48c7-b10a-eeb8d60fee0e/results?offset=10&limit=10 - next: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/query/v2/organizations/org-id/data-sets/c8e138bc-5aa0-48c7-b10a-eeb8d60fee0e/results?offset=20&limit=10 - limit: ApiStandards.Limit - offset: ApiStandards.Offset - total: - description: The total number of matching items. - type: integer - format: int64 diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-query-output-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-query-output-library.raml deleted file mode 100644 index 12607ce2..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-query-output-library.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - ItemReference: - description: An entity that corresponds to an item in the search result. For example, in Commerce Cloud, this could be an item in a catalog of items that a merchant sells. - type: object - properties: - itemId: DiscoveryStandards.AttributeId - attributes?: - description: The attributes that were requested for when performing a search. - type: DiscoveryStandards.ExpansionAttribute[] - - Highlight: - description: An entity containing an attribute ID and the highlight value found for that attribute. Each highlight will have the matched segment from the input phrase wrapped in and tags. - type: object - properties: - attributeId: DiscoveryStandards.AttributeId - value: - type: string - description: The highlight value - example: This lightweight jacket is perfect for cool weather. - - Result: - description: An entity referencing an item and the group to which it belongs. Items can be grouped based on attributes that are groupable. If such a grouping is asked for at the time of querying, then the grouped items are also returned. - type: CommerceCloudStandards.ClosedObject - properties: - matchedItem: - description: An entity that corresponds to an item in the search result. - type: ItemReference - highlights?: - description: A collection of highlights found for the matched item. - type: Highlight[] - groupId?: - description: Identifier of the grouped items. - type: string - example: 26194e28-9b2a-4a7e-b3e9-8328dd9acfca - totalGroupedItems?: - description: The total number of items grouped together if there are any grouped items. - type: number - example: 5 - groupedItems?: - description: A collection of grouped items. - type: ItemReference[] - minItems: 1 - uniqueItems: true diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-refinement-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-refinement-library.raml deleted file mode 100644 index 0b97b02d..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-refinement-library.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - Refinement: - description: The criteria for filtering search results. Search results can be filtered by filterable attributes to further narrow down the number of items being presented to the user. For example, search results can be filtered to only show items belonging to a specific brand. - type: object - properties: - attributeId: DiscoveryStandards.AttributeId - refinementType: - description: The type of a refinement. - type: string - discriminator: refinementType - - ValueRefinement: - description: A type of refinement where one or more phrases are used for refining the search results for a given attribute. For example, you can refine a search result to only show items that are eligible for expedited shipping. - type: Refinement - discriminatorValue: VALUE_REFINEMENT - properties: - values: - description: One or more ways of refining the search results based on number, integer, date-only, datetime, boolean, or string types. - type: array - items: - type: any - example: "9, 99, 2019-12-31, 2019-12-31T23:59:59.000Z, true, skiing" - minItems: 1 - uniqueItems: true - additionalProperties: false - - RangeRefinement: - description: A type of refinement where a range of values is used for refining the search results for a given attribute. For example, you can refine the search results to only show items that are below a specific price point. - type: Refinement - discriminatorValue: RANGE_REFINEMENT - properties: - min: - description: The minimum value in a range of type number, integer, date-only, datetime. - type: any - example: "9, 99, 2019-12-31, 2019-12-31T23:59:59.000Z" - max: - description: The maximum value in a range of type number, integer, date-only, or datetime. - type: any - example: "90, 990, 2020-12-31, 2020-12-31T23:59:59.000Z" - additionalProperties: false diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-sorting-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-sorting-library.raml deleted file mode 100644 index 6f254289..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-sorting-library.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - Sorting: - description: Describes what and how the returned results must be sorted. An attribute must be sortable before it can be used for sorting. - type: object - properties: - sortType: - description: Specifies what is sorted. For example, an attribute like 'brand' can be sorted. - type: string - discriminator: sortType - - AttributeSorting: - description: Describes which attribute the returned results must be sorted on. For example, sorting can be done based on the average user rating of the items returned in the results. - type: Sorting - discriminatorValue: ATTRIBUTE - properties: - attributeId: DiscoveryStandards.AttributeId - direction: - description: Specifies how to sort the returned results. - enum: - - ASCENDING - - DESCENDING - example: ASCENDING - additionalProperties: false - - RelevanceSorting: - description: Describes if the results need to be sorted based on relevance score. - type: Sorting - discriminatorValue: RELEVANCE - additionalProperties: false diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-suggestion-library.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-suggestion-library.raml deleted file mode 100644 index edf64bc8..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-suggestion-library.raml +++ /dev/null @@ -1,42 +0,0 @@ -#%RAML 1.0 Library - -uses: - DiscoveryStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - CommerceCloudStandards: ../../../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - - SuggestionType: - description: - The different types of suggestions. - * RECENT - Search phrases that a shopper has recently executed. - * SUGGESTED - Search phrases presented to a shopper based on recent activity and a base search text. - * POPULAR - Search phrases that are trending in a shopper’s geolocation. - enum: - - RECENT - - SUGGESTED - - POPULAR - example: SUGGESTED - - Suggestion: - description: A single suggested term for searching. For example, a suggested term can be handy when doing auto-complete as and when a user is searching for an item in an online store. - type: CommerceCloudStandards.ClosedObject - properties: - phrase: - description: The suggested phrase. - type: string - example: shoes - - Suggestions: - description: A collection of suggested terms for searching. - type: CommerceCloudStandards.ClosedObject - properties: - recentSearchPhrases?: - description: Most recent search phrases from the clients. - type: Suggestion[] - suggestedSearchPhrases?: - description: The suggested phrases based on the partial input. - type: Suggestion[] - popularSearchPhrases?: - description: Popular search phrases across the service. - type: Suggestion[] diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/exchange.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/exchange.json deleted file mode 100644 index 373d2070..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"discovery-query-library.raml","name":"Discovery Query Common Library","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"discovery-query-common-library","version":"1.0.8","classifier":"raml-fragment","dependencies":[{"assetId":"api-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.1.9"},{"assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.0.16"},{"assetId":"discovery-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"0.0.27"}],"tags":[]} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/Authentication.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/Authentication.json deleted file mode 100644 index 5fa11f58..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/Authentication.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/authentication-failure", - "title": "Authentication Failure", - "detail": "Authentication failed due to missing or invalid token.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/Authorization.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/Authorization.json deleted file mode 100644 index c8a35b8c..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/Authorization.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/authorization-failure", - "title": "Authorization Failure", - "detail": "The provided credentials are not authorized to access this resource.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/InternalServerError.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/InternalServerError.json deleted file mode 100644 index 67f7a9b1..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/InternalServerError.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/internal-server-error", - "title": "Internal Server Error", - "detail": "There was an error completing your request.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/InvalidRequest.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/InvalidRequest.json deleted file mode 100644 index 7d87b944..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/InvalidRequest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/invalid-request", - "title": "Invalid Request", - "detail": "The provided request information is of an invalid format.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/LimitExceeded.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/LimitExceeded.json deleted file mode 100644 index 04283b9e..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/LimitExceeded.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/limit-exceeded", - "title": "Limit Exceeded", - "detail": "You have exceeded a limit for the provided attibutes.", - "instance": "{Resource URI}", - "limits": [ - { - "limitDetails": "ATTRIBUTE_USAGE_FACETABLE_COUNT", - "count": 90, - "limit": 50 - }, - { - "limitDetails": "ATTRIBUTE_USAGE_FILTERABLE_COUNT", - "count": 15, - "limit": 12 - } - ] -} diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/NonReadableHttpMessage.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/NonReadableHttpMessage.json deleted file mode 100644 index ad324f32..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/NonReadableHttpMessage.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/non-readable-http-message", - "title": "Non-Readable HTTP Message", - "detail": "The request could not be processed.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/NotFound.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/NotFound.json deleted file mode 100644 index c8ef3747..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/NotFound.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/not-found", - "title": "Resource Not Found", - "detail": "The requested {resource} was not found.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/RateLimitExceeded.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/RateLimitExceeded.json deleted file mode 100644 index 023db860..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/RateLimitExceeded.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/rate-limit-reached", - "title": "Rate Limit Reached", - "detail": "The request could not be processed due to the current volume of requests.", - "instance": "{Resource URI}", - "requestLimit": 1000 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/ServiceUnavailable.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/ServiceUnavailable.json deleted file mode 100644 index e8511a4c..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Examples/ServiceUnavailable.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/service-unavailable", - "title": "Service Unavailable", - "detail": "The server is temporarily unable to handle the request.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Traits/common-errors.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Traits/common-errors.raml deleted file mode 100644 index e5b112f3..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Traits/common-errors.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be used to wrap common errors into a single trait include. - -uses: - ErrorTypes: ../discovery-error-types.raml - -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorTypes.BadRequest - 401: - description: Authentication Failure. - body: - application/problem+json: - type: ErrorTypes.AuthenticationFailure - 403: - description: Authorization Failure. - body: - application/problem+json: - type: ErrorTypes.AuthorizationFailure - 404: - description: Not Found. - body: - application/problem+json: - type: ErrorTypes.NotFound - 429: - description: Too Many Requests. - headers: - Retry-After: - examples: - after-seconds: "120" - body: - application/problem+json: - type: ErrorTypes.RateLimitExceeded - 500: - description: Internal Server Error. - body: - application/problem+json: - type: ErrorTypes.InternalServerError - 503: - description: Service Unavailable. - body: - application/problem+json: - type: ErrorTypes.ServiceUnavailable - - diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Traits/resource-common-errors.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Traits/resource-common-errors.raml deleted file mode 100644 index 6d7c5192..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/Traits/resource-common-errors.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be used to wrap common errors into a single trait include. - -uses: - ErrorTypes: ../discovery-error-types.raml - -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorTypes.ResourceBadRequest - 401: - description: Authentication Failure. - body: - application/problem+json: - type: ErrorTypes.AuthenticationFailure - 403: - description: Authorization Failure. - body: - application/problem+json: - type: ErrorTypes.AuthorizationFailure - 404: - description: Not Found. - body: - application/problem+json: - type: ErrorTypes.NotFound - 429: - description: Too Many Requests. - headers: - Retry-After: - examples: - after-seconds: "120" - body: - application/problem+json: - type: ErrorTypes.RateLimitExceeded - 500: - description: Internal Server Error. - body: - application/problem+json: - type: ErrorTypes.InternalServerError - 503: - description: Service Unavailable. - body: - application/problem+json: - type: ErrorTypes.ServiceUnavailable - - diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/discovery-error-types.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/discovery-error-types.raml deleted file mode 100644 index 18cc51e7..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Errors/discovery-error-types.raml +++ /dev/null @@ -1,156 +0,0 @@ -#%RAML 1.0 Library - -# Discovery Error Response Types -# -# These types have been defined as part of the Discovery Mercury project (https://salesforce.quip.com/0EWTAH24eIMb). -# All error types are based on the error response formats for HTTP APIs, following the standard [IETF rfc7807]. -# https://tools.ietf.org/html/rfc7807 - -types: - - BaseError: - description: Standardized properties defined in the Commerce Cloud Standard error-response DataType raml file. Every error type consists of at least the four properties provided here of type, title, detail, and resource. - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" - additionalProperties: false - - # Discovery Error Type Definitions: - AuthenticationFailure: - description: Error type indicating an error due to lack of authentication. Users are required to authenticate to access all Discovery API endpoints. Users should attempt to re-authenticate before retrying the request. - type: BaseError - example: !include Examples/Authentication.json - - AuthorizationFailure: - description: Error type indicating an error due to lack of privilege. Users who are authenticated but attempt to access a resource which they don't have permission to access will receive this error. - type: BaseError - example: !include Examples/Authorization.json - - NotFound: - description: Error type indicating the user attempted to access a resource or endpoint which doesn't exist. - type: BaseError - example: !include Examples/NotFound.json - - ServiceUnavailable: - description: Error type indicating the server temporarily cannot process the request due to internal issues, but the same request can be retried at a later point in time. - type: BaseError - example: !include Examples/ServiceUnavailable.json - - InternalServerError: - description: Error type indicating that the server could not fulfil the client’s request due to some unexpected condition. - type: BaseError - example: !include Examples/InternalServerError.json - - RateLimitExceeded: - description: Error type indicating that the user has reached a rate limit for the server by sending requests too frequently. This error includes the limit of allowed requests to the resource. - type: BaseError - properties: - requestLimit: - description: A number returned indicating the maximum number of allowed requests for the instance being requested. - type: number - example: !include Examples/RateLimitExceeded.json - - BadRequest: - description: Error indicating that the request was malformed. Provides multiple examples under the scope of one type. - type: BaseError - examples: - InvalidRequest: !include Examples/InvalidRequest.json - NonReadableHttpMessage: !include Examples/NonReadableHttpMessage.json - - InvalidRequest: - description: Error type indicating that the server cannot or will not process the request due to something that is perceived to be a client error. An example of this would be providing a attribute value within a json body which is not one of the defined attribute types. - type: BadRequest - example: !include Examples/InvalidRequest.json - - NonReadableHttpMessage: - description: Errors type indicating an invalid/non-parsable JSON was sent by the user. An example of this would be a JSON which is missing a bracket, and cannot be processed. - type: BadRequest - example: !include Examples/NonReadableHttpMessage.json - - ResourceBadRequest: - description: Error indicating that the request was malformed. Additionally thrown when the request was not processed due to violation of a server enforced quota or limit. This error will include a list of enums indicating the respective server limits which have been exceeded. - type: BaseError - properties: - limits?: - description: A list of limit objects providing the exceeded limits and the respective counts. - type: Limit[] - examples: - InvalidRequest: !include Examples/InvalidRequest.json - NonReadableHttpMessage: !include Examples/NonReadableHttpMessage.json - LimitExceeded: !include Examples/LimitExceeded.json - - ResourceInvalidRequest: - description: Error type indicating that the server cannot or will not process the request due to something that is perceived to be a client error. - type: BadRequest - example: !include Examples/InvalidRequest.json - - ResourceNonReadableHttpMessage: - description: Errors type indicating an invalid/non-parsable JSON was sent by the user. This case is normally handled by the spring framework before the request reaches the application endpoint. - type: ResourceBadRequest - example: !include Examples/NonReadableHttpMessage.json - - Limit: - description: A type of resource limit which can be exceeded. Each enum corresponds to a different limit defined by the Discovery APIs non-functional requirements. - properties: - limitDetails: - description: An enum indicating the respective server limit which has been exceeded. - enum: - - ATTRIBUTE_DEFINITION_COUNT - - ITEM_IDENTIFIER_ATTRIBUTE_DEFINITION_COUNT - - ATTRIBUTE_USAGE_FACETABLE_COUNT - - ATTRIBUTE_USAGE_FILTERABLE_COUNT - - ATTRIBUTE_USAGE_GROUPABLE_COUNT - - ATTRIBUTE_USAGE_SEARCHABLE_COUNT - - ATTRIBUTE_USAGE_SORTABLE_COUNT - - ATTRIBUTE_CONFIGURATION_LOCALIZED_PATHS_COUNT - - QUERY_INPUT_PHRASE_COUNT - - QUERY_INPUT_TAG_IDS_COUNT - - QUERY_INPUT_FACETS_COUNT - - QUERY_INPUT_SORTING_COUNT - - QUERY_INPUT_GROUPING_COUNT - - QUERY_INPUT_REFINEMENTS_COUNT - - QUERY_INPUT_PAGINATION_COUNT - count: - description: The current count of data associated with he provided enum. - type: integer - example: 51 - limit: - description: The defined limit value associated with the provided enum. - type: integer - example: 50 diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Traits/bulk-retrieval-filters.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Traits/bulk-retrieval-filters.raml deleted file mode 100644 index cadaa1f2..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Traits/bulk-retrieval-filters.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 Trait - -usage: This trait allows for the filtering of resources using timestamps and resource identifiers. - -queryParameters: - ids?: - description: Collection of resource identifiers representing the desired resources to return. - type: string[] - uniqueItems: true - example: - - 1907c0db-3845-431a-b36b-61f7efc818cc - - dee3ce6a-bc2f-4893-b91c-59c9a677f42d - creationDateTimeStart?: - description: Filters by excluding the resources that have creationDateTime before the defined time. - type: datetime - example: 2020-02-27T00:00:00Z - creationDateTimeEnd?: - description: Filters by excluding the resources that have creationDateTime after the defined time. - type: datetime - example: 2020-02-28T10:41:50Z - lastUpdateDateTimeStart?: - description: Filters by excluding the resources that have lastUpdateDateTime before the defined time. - type: datetime - example: 2020-02-28T09:41:50Z - lastUpdateDateTimeEnd?: - description: Filters by excluding the resources that have lastUpdateDateTime after the defined time. - type: datetime - example: 2020-02-28T10:41:50Z \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Traits/traceable.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Traits/traceable.raml deleted file mode 100644 index 1a5e95b4..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Traits/traceable.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 Trait - -usage: This trait allows for taking in an input header containing a request identifier. - -headers: - RequestId?: - description: Client defined unique identifier, used for tracking within the domain. - type: string - maxLength: 256 - example: f20c37c8-f153-4001-b033-c7b32e1e8651 diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/base-uri-parameters.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/base-uri-parameters.raml deleted file mode 100644 index cc90c09a..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/base-uri-parameters.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: - -types: - - Region: - description: Region in which the service is exposed. - example: en-US - - Version: - description: The version of the commerce cloud API. - example: v2 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/date-times.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/date-times.raml deleted file mode 100644 index e0aa5072..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/date-times.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 Library - -types: - - CreationDateTime: - description: The date time the resource was created. - type: datetime - example: 2020-02-28T10:41:50Z - - LastUpdateDateTime: - description: The date time when the resource was last modified. - type: datetime - example: 2020-02-27T06:13:07Z \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/expansion-attribute.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/expansion-attribute.raml deleted file mode 100644 index f98471b0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/expansion-attribute.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType - -uses: - IDs: identifiers.raml - -description: An entity containing an attribute ID, the attribute's path, and the attribute's value for a corresponding item. -properties: - attributeId: IDs.AttributeId - path: - description: The path, using dot notation, that this attribute corresponds to. - type: string - example: item.brand - value: - description: The data for the given attribute. - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/identifiers.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/identifiers.raml deleted file mode 100644 index bc1ce5da..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/identifiers.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Library - -types: - - DataSetId: - description: The unique identifier of a Data Set resource. - type: string - maxLength: 256 - example: d4330450-df8a-439f-80f8-847ae3cb564f - - AttributeId: - description: User defined unique identifier for a specific attribute. - type: string - maxLength: 256 - example: 67fa5594-6c86-48ed-bfd6-5da1192dff99 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/links.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/links.raml deleted file mode 100644 index 1bb88630..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/Types/links.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 Library - -types: - - Reference: - description: Location of a resource. - type: string - - Self: - description: Link to the resource. - properties: - href: Reference - additionalProperties: false - - SelfResourceLink: - description: Entity containing a HATEOS link to a resource. - properties: - self: Self - additionalProperties: false - - Pagination: - description: Entity containing HATEOS links. These are links that allow navigating (paging) a result set. - properties: - prev?: - description: Link to the previous set of results. - type: Self - self: - description: Link to the current set of results. - type: Self - next?: - description: Link to the next set of results. - type: Self - additionalProperties: false diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml deleted file mode 100644 index 2629c1bf..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/discovery-standards.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Library -usage: | - These RAML components look to define the common entities in the Discovery Domain, and are intended to be used in combination with the API Standards and Commerce Cloud Standards libraries to ensure consistency over all Discovery API contracts. - -uses: - DateTimes: Types/date-times.raml - IDs: Types/identifiers.raml - Links: Types/links.raml - UriParameters: Types/base-uri-parameters.raml - -types: - - # Base URI Parameters - Region: UriParameters.Region - Version: UriParameters.Version - - # Resource Indentifiers - DataSetId: IDs.DataSetId - AttributeId: IDs.AttributeId - - # Datetimes - CreationDateTime: DateTimes.CreationDateTime - LastUpdateDateTime: DateTimes.LastUpdateDateTime - - # Links - ResourceLink: Links.SelfResourceLink - - # Pagination - PaginationLinks: Links.Pagination - - # Resources - ExpansionAttribute: !include Types/expansion-attribute.raml - -traits: - - Traceable: !include Traits/traceable.raml - - Filterable: !include Traits/bulk-retrieval-filters.raml - - # Error Traits: - # - # Wraps Traits of the same status code to provide an optional response. - # Provides a CommonErrors trait for errors shared across all APIs. - - CommonErrors: !include Errors/Traits/common-errors.raml - # Wraps: Invalid Request, NonReadableHttpMessage, AuthorizationFailure, AuthenticationFailure, NotFound, RateLimitExceeded, InternalServerError, ServiceUnavailable. - - ResourceCommonErrors: !include Errors/Traits/resource-common-errors.raml - # Wraps: Invalid Request, NonReadableHttpMessage, AuthorizationFailure, AuthenticationFailure, NotFound, RateLimitExceeded, InternalServerError, ServiceUnavailable, LimitExceeded - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/example.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/example.raml deleted file mode 100644 index de9191e5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/example.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 -title: An example file showing the usage of the Discovery Standards library. -version: v0 -mediaType: - - application/json - -uses: - Standards: discovery-standards.raml - -protocols: [ HTTPS ] - -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/discovery/sample/{version} - -description: A sample file showing the various entities in this standards library. - -/organizations/{organizationId}: - /data-sets: - post: - description: A sample endpoint to create a resource. - displayName: createResource - is: - - Standards.ResourceCommonErrors - responses: - 200: - description: Returns the identifier of the created resource. - body: - properties: - attributeId: Standards.AttributeId - - /data-sets/{dataSetId}/attributes: - uriParameters: - dataSetId: - type: Standards.DataSetId - get: - description: A sample endpoint to get a resource. - displayName: getResource - is: - - Standards.CommonErrors - responses: - 200: - description: The resource was retrieved. - body: - description: A collection of attribute identifiers. - properties: - type: Standards.DataSetId - - /data-sets/{dataSetId}/attributes/{attributeId}: - uriParameters: - dataSetId: - type: Standards.DataSetId - attributeId: - type: Standards.AttributeId - delete: - description: A sample endpoint to delete a resource. - displayName: deleteResource - responses: - 201: - description: The resource was deleted. diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/exchange.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/exchange.json deleted file mode 100644 index 9317085d..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.26/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"discovery-standards.raml","name":"Discovery Standards","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"discovery-standards","version":"0.0.26","classifier":"raml-fragment","dependencies":[],"tags":[]} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/Authentication.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/Authentication.json deleted file mode 100644 index 5fa11f58..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/Authentication.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/authentication-failure", - "title": "Authentication Failure", - "detail": "Authentication failed due to missing or invalid token.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/Authorization.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/Authorization.json deleted file mode 100644 index c8a35b8c..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/Authorization.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/authorization-failure", - "title": "Authorization Failure", - "detail": "The provided credentials are not authorized to access this resource.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/InternalServerError.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/InternalServerError.json deleted file mode 100644 index 67f7a9b1..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/InternalServerError.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/internal-server-error", - "title": "Internal Server Error", - "detail": "There was an error completing your request.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/InvalidRequest.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/InvalidRequest.json deleted file mode 100644 index 7d87b944..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/InvalidRequest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/invalid-request", - "title": "Invalid Request", - "detail": "The provided request information is of an invalid format.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/LimitExceeded.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/LimitExceeded.json deleted file mode 100644 index 04283b9e..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/LimitExceeded.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/limit-exceeded", - "title": "Limit Exceeded", - "detail": "You have exceeded a limit for the provided attibutes.", - "instance": "{Resource URI}", - "limits": [ - { - "limitDetails": "ATTRIBUTE_USAGE_FACETABLE_COUNT", - "count": 90, - "limit": 50 - }, - { - "limitDetails": "ATTRIBUTE_USAGE_FILTERABLE_COUNT", - "count": 15, - "limit": 12 - } - ] -} diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/NonReadableHttpMessage.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/NonReadableHttpMessage.json deleted file mode 100644 index ad324f32..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/NonReadableHttpMessage.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/non-readable-http-message", - "title": "Non-Readable HTTP Message", - "detail": "The request could not be processed.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/NotFound.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/NotFound.json deleted file mode 100644 index c8ef3747..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/NotFound.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/not-found", - "title": "Resource Not Found", - "detail": "The requested {resource} was not found.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/RateLimitExceeded.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/RateLimitExceeded.json deleted file mode 100644 index 023db860..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/RateLimitExceeded.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/rate-limit-reached", - "title": "Rate Limit Reached", - "detail": "The request could not be processed due to the current volume of requests.", - "instance": "{Resource URI}", - "requestLimit": 1000 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/ServiceUnavailable.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/ServiceUnavailable.json deleted file mode 100644 index e8511a4c..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Examples/ServiceUnavailable.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/service-unavailable", - "title": "Service Unavailable", - "detail": "The server is temporarily unable to handle the request.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Traits/common-errors.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Traits/common-errors.raml deleted file mode 100644 index e5b112f3..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Traits/common-errors.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be used to wrap common errors into a single trait include. - -uses: - ErrorTypes: ../discovery-error-types.raml - -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorTypes.BadRequest - 401: - description: Authentication Failure. - body: - application/problem+json: - type: ErrorTypes.AuthenticationFailure - 403: - description: Authorization Failure. - body: - application/problem+json: - type: ErrorTypes.AuthorizationFailure - 404: - description: Not Found. - body: - application/problem+json: - type: ErrorTypes.NotFound - 429: - description: Too Many Requests. - headers: - Retry-After: - examples: - after-seconds: "120" - body: - application/problem+json: - type: ErrorTypes.RateLimitExceeded - 500: - description: Internal Server Error. - body: - application/problem+json: - type: ErrorTypes.InternalServerError - 503: - description: Service Unavailable. - body: - application/problem+json: - type: ErrorTypes.ServiceUnavailable - - diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Traits/resource-common-errors.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Traits/resource-common-errors.raml deleted file mode 100644 index 6d7c5192..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/Traits/resource-common-errors.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be used to wrap common errors into a single trait include. - -uses: - ErrorTypes: ../discovery-error-types.raml - -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorTypes.ResourceBadRequest - 401: - description: Authentication Failure. - body: - application/problem+json: - type: ErrorTypes.AuthenticationFailure - 403: - description: Authorization Failure. - body: - application/problem+json: - type: ErrorTypes.AuthorizationFailure - 404: - description: Not Found. - body: - application/problem+json: - type: ErrorTypes.NotFound - 429: - description: Too Many Requests. - headers: - Retry-After: - examples: - after-seconds: "120" - body: - application/problem+json: - type: ErrorTypes.RateLimitExceeded - 500: - description: Internal Server Error. - body: - application/problem+json: - type: ErrorTypes.InternalServerError - 503: - description: Service Unavailable. - body: - application/problem+json: - type: ErrorTypes.ServiceUnavailable - - diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/discovery-error-types.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/discovery-error-types.raml deleted file mode 100644 index 18cc51e7..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/discovery-error-types.raml +++ /dev/null @@ -1,156 +0,0 @@ -#%RAML 1.0 Library - -# Discovery Error Response Types -# -# These types have been defined as part of the Discovery Mercury project (https://salesforce.quip.com/0EWTAH24eIMb). -# All error types are based on the error response formats for HTTP APIs, following the standard [IETF rfc7807]. -# https://tools.ietf.org/html/rfc7807 - -types: - - BaseError: - description: Standardized properties defined in the Commerce Cloud Standard error-response DataType raml file. Every error type consists of at least the four properties provided here of type, title, detail, and resource. - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" - additionalProperties: false - - # Discovery Error Type Definitions: - AuthenticationFailure: - description: Error type indicating an error due to lack of authentication. Users are required to authenticate to access all Discovery API endpoints. Users should attempt to re-authenticate before retrying the request. - type: BaseError - example: !include Examples/Authentication.json - - AuthorizationFailure: - description: Error type indicating an error due to lack of privilege. Users who are authenticated but attempt to access a resource which they don't have permission to access will receive this error. - type: BaseError - example: !include Examples/Authorization.json - - NotFound: - description: Error type indicating the user attempted to access a resource or endpoint which doesn't exist. - type: BaseError - example: !include Examples/NotFound.json - - ServiceUnavailable: - description: Error type indicating the server temporarily cannot process the request due to internal issues, but the same request can be retried at a later point in time. - type: BaseError - example: !include Examples/ServiceUnavailable.json - - InternalServerError: - description: Error type indicating that the server could not fulfil the client’s request due to some unexpected condition. - type: BaseError - example: !include Examples/InternalServerError.json - - RateLimitExceeded: - description: Error type indicating that the user has reached a rate limit for the server by sending requests too frequently. This error includes the limit of allowed requests to the resource. - type: BaseError - properties: - requestLimit: - description: A number returned indicating the maximum number of allowed requests for the instance being requested. - type: number - example: !include Examples/RateLimitExceeded.json - - BadRequest: - description: Error indicating that the request was malformed. Provides multiple examples under the scope of one type. - type: BaseError - examples: - InvalidRequest: !include Examples/InvalidRequest.json - NonReadableHttpMessage: !include Examples/NonReadableHttpMessage.json - - InvalidRequest: - description: Error type indicating that the server cannot or will not process the request due to something that is perceived to be a client error. An example of this would be providing a attribute value within a json body which is not one of the defined attribute types. - type: BadRequest - example: !include Examples/InvalidRequest.json - - NonReadableHttpMessage: - description: Errors type indicating an invalid/non-parsable JSON was sent by the user. An example of this would be a JSON which is missing a bracket, and cannot be processed. - type: BadRequest - example: !include Examples/NonReadableHttpMessage.json - - ResourceBadRequest: - description: Error indicating that the request was malformed. Additionally thrown when the request was not processed due to violation of a server enforced quota or limit. This error will include a list of enums indicating the respective server limits which have been exceeded. - type: BaseError - properties: - limits?: - description: A list of limit objects providing the exceeded limits and the respective counts. - type: Limit[] - examples: - InvalidRequest: !include Examples/InvalidRequest.json - NonReadableHttpMessage: !include Examples/NonReadableHttpMessage.json - LimitExceeded: !include Examples/LimitExceeded.json - - ResourceInvalidRequest: - description: Error type indicating that the server cannot or will not process the request due to something that is perceived to be a client error. - type: BadRequest - example: !include Examples/InvalidRequest.json - - ResourceNonReadableHttpMessage: - description: Errors type indicating an invalid/non-parsable JSON was sent by the user. This case is normally handled by the spring framework before the request reaches the application endpoint. - type: ResourceBadRequest - example: !include Examples/NonReadableHttpMessage.json - - Limit: - description: A type of resource limit which can be exceeded. Each enum corresponds to a different limit defined by the Discovery APIs non-functional requirements. - properties: - limitDetails: - description: An enum indicating the respective server limit which has been exceeded. - enum: - - ATTRIBUTE_DEFINITION_COUNT - - ITEM_IDENTIFIER_ATTRIBUTE_DEFINITION_COUNT - - ATTRIBUTE_USAGE_FACETABLE_COUNT - - ATTRIBUTE_USAGE_FILTERABLE_COUNT - - ATTRIBUTE_USAGE_GROUPABLE_COUNT - - ATTRIBUTE_USAGE_SEARCHABLE_COUNT - - ATTRIBUTE_USAGE_SORTABLE_COUNT - - ATTRIBUTE_CONFIGURATION_LOCALIZED_PATHS_COUNT - - QUERY_INPUT_PHRASE_COUNT - - QUERY_INPUT_TAG_IDS_COUNT - - QUERY_INPUT_FACETS_COUNT - - QUERY_INPUT_SORTING_COUNT - - QUERY_INPUT_GROUPING_COUNT - - QUERY_INPUT_REFINEMENTS_COUNT - - QUERY_INPUT_PAGINATION_COUNT - count: - description: The current count of data associated with he provided enum. - type: integer - example: 51 - limit: - description: The defined limit value associated with the provided enum. - type: integer - example: 50 diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Traits/bulk-retrieval-filters.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Traits/bulk-retrieval-filters.raml deleted file mode 100644 index cadaa1f2..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Traits/bulk-retrieval-filters.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 Trait - -usage: This trait allows for the filtering of resources using timestamps and resource identifiers. - -queryParameters: - ids?: - description: Collection of resource identifiers representing the desired resources to return. - type: string[] - uniqueItems: true - example: - - 1907c0db-3845-431a-b36b-61f7efc818cc - - dee3ce6a-bc2f-4893-b91c-59c9a677f42d - creationDateTimeStart?: - description: Filters by excluding the resources that have creationDateTime before the defined time. - type: datetime - example: 2020-02-27T00:00:00Z - creationDateTimeEnd?: - description: Filters by excluding the resources that have creationDateTime after the defined time. - type: datetime - example: 2020-02-28T10:41:50Z - lastUpdateDateTimeStart?: - description: Filters by excluding the resources that have lastUpdateDateTime before the defined time. - type: datetime - example: 2020-02-28T09:41:50Z - lastUpdateDateTimeEnd?: - description: Filters by excluding the resources that have lastUpdateDateTime after the defined time. - type: datetime - example: 2020-02-28T10:41:50Z \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Traits/traceable.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Traits/traceable.raml deleted file mode 100644 index 1a5e95b4..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Traits/traceable.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 Trait - -usage: This trait allows for taking in an input header containing a request identifier. - -headers: - RequestId?: - description: Client defined unique identifier, used for tracking within the domain. - type: string - maxLength: 256 - example: f20c37c8-f153-4001-b033-c7b32e1e8651 diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/base-uri-parameters.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/base-uri-parameters.raml deleted file mode 100644 index cc90c09a..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/base-uri-parameters.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: - -types: - - Region: - description: Region in which the service is exposed. - example: en-US - - Version: - description: The version of the commerce cloud API. - example: v2 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/date-times.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/date-times.raml deleted file mode 100644 index e0aa5072..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/date-times.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 Library - -types: - - CreationDateTime: - description: The date time the resource was created. - type: datetime - example: 2020-02-28T10:41:50Z - - LastUpdateDateTime: - description: The date time when the resource was last modified. - type: datetime - example: 2020-02-27T06:13:07Z \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/expansion-attribute.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/expansion-attribute.raml deleted file mode 100644 index f98471b0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/expansion-attribute.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType - -uses: - IDs: identifiers.raml - -description: An entity containing an attribute ID, the attribute's path, and the attribute's value for a corresponding item. -properties: - attributeId: IDs.AttributeId - path: - description: The path, using dot notation, that this attribute corresponds to. - type: string - example: item.brand - value: - description: The data for the given attribute. - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/identifiers.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/identifiers.raml deleted file mode 100644 index 1d55a387..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/identifiers.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Library - -types: - - DataSetId: - description: The unique identifier of a Data Set resource. - type: string - maxLength: 256 - example: d4330450-df8a-439f-80f8-847ae3cb564f - - AttributeId: - description: User defined unique identifier for a specific attribute. - type: string - maxLength: 256 - example: name \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/links.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/links.raml deleted file mode 100644 index 1bb88630..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Types/links.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 Library - -types: - - Reference: - description: Location of a resource. - type: string - - Self: - description: Link to the resource. - properties: - href: Reference - additionalProperties: false - - SelfResourceLink: - description: Entity containing a HATEOS link to a resource. - properties: - self: Self - additionalProperties: false - - Pagination: - description: Entity containing HATEOS links. These are links that allow navigating (paging) a result set. - properties: - prev?: - description: Link to the previous set of results. - type: Self - self: - description: Link to the current set of results. - type: Self - next?: - description: Link to the next set of results. - type: Self - additionalProperties: false diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml deleted file mode 100644 index 2629c1bf..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Library -usage: | - These RAML components look to define the common entities in the Discovery Domain, and are intended to be used in combination with the API Standards and Commerce Cloud Standards libraries to ensure consistency over all Discovery API contracts. - -uses: - DateTimes: Types/date-times.raml - IDs: Types/identifiers.raml - Links: Types/links.raml - UriParameters: Types/base-uri-parameters.raml - -types: - - # Base URI Parameters - Region: UriParameters.Region - Version: UriParameters.Version - - # Resource Indentifiers - DataSetId: IDs.DataSetId - AttributeId: IDs.AttributeId - - # Datetimes - CreationDateTime: DateTimes.CreationDateTime - LastUpdateDateTime: DateTimes.LastUpdateDateTime - - # Links - ResourceLink: Links.SelfResourceLink - - # Pagination - PaginationLinks: Links.Pagination - - # Resources - ExpansionAttribute: !include Types/expansion-attribute.raml - -traits: - - Traceable: !include Traits/traceable.raml - - Filterable: !include Traits/bulk-retrieval-filters.raml - - # Error Traits: - # - # Wraps Traits of the same status code to provide an optional response. - # Provides a CommonErrors trait for errors shared across all APIs. - - CommonErrors: !include Errors/Traits/common-errors.raml - # Wraps: Invalid Request, NonReadableHttpMessage, AuthorizationFailure, AuthenticationFailure, NotFound, RateLimitExceeded, InternalServerError, ServiceUnavailable. - - ResourceCommonErrors: !include Errors/Traits/resource-common-errors.raml - # Wraps: Invalid Request, NonReadableHttpMessage, AuthorizationFailure, AuthenticationFailure, NotFound, RateLimitExceeded, InternalServerError, ServiceUnavailable, LimitExceeded - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/example.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/example.raml deleted file mode 100644 index de9191e5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/example.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 -title: An example file showing the usage of the Discovery Standards library. -version: v0 -mediaType: - - application/json - -uses: - Standards: discovery-standards.raml - -protocols: [ HTTPS ] - -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/discovery/sample/{version} - -description: A sample file showing the various entities in this standards library. - -/organizations/{organizationId}: - /data-sets: - post: - description: A sample endpoint to create a resource. - displayName: createResource - is: - - Standards.ResourceCommonErrors - responses: - 200: - description: Returns the identifier of the created resource. - body: - properties: - attributeId: Standards.AttributeId - - /data-sets/{dataSetId}/attributes: - uriParameters: - dataSetId: - type: Standards.DataSetId - get: - description: A sample endpoint to get a resource. - displayName: getResource - is: - - Standards.CommonErrors - responses: - 200: - description: The resource was retrieved. - body: - description: A collection of attribute identifiers. - properties: - type: Standards.DataSetId - - /data-sets/{dataSetId}/attributes/{attributeId}: - uriParameters: - dataSetId: - type: Standards.DataSetId - attributeId: - type: Standards.AttributeId - delete: - description: A sample endpoint to delete a resource. - displayName: deleteResource - responses: - 201: - description: The resource was deleted. diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/exchange.json b/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/exchange.json deleted file mode 100644 index 78146a9c..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"discovery-standards.raml","name":"Discovery Standards","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"discovery-standards","version":"0.0.27","classifier":"raml-fragment","dependencies":[],"tags":[]} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/ramltojaxrs.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/ramltojaxrs.raml deleted file mode 100644 index c677d803..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/ramltojaxrs.raml +++ /dev/null @@ -1,32 +0,0 @@ -#%RAML 1.0 Library -annotationTypes: - types: - allowedTargets: [TypeDeclaration,API] - properties: - className?: - type: string - implementationClassName?: - type: string - usePrimitiveType?: - type: boolean - abstract?: - type: boolean - plugins?: any[] - resources: - allowedTargets: [Resource, Method, Response, API] - properties: - plugins?: any[] - methods: - allowedTargets: [Method, API] - properties: - plugins?: any[] - - responseClasses: - allowedTargets: [Method, API] - properties: - plugins?: any[] - - responses: - allowedTargets: [Response, API] - properties: - plugins?: any[] diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/shopper-discovery-search-description.md b/testIntegration/stagingApis/discovery/shopper-discovery-search/shopper-discovery-search-description.md deleted file mode 100644 index c182056f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/shopper-discovery-search-description.md +++ /dev/null @@ -1 +0,0 @@ -These APIs provide the capability to search Discovery services based on channel identifier and also get Suggestions that show the most recently searched items, items that are popular in the user's locale, and items that are recommended based on the user's search history. \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-discovery-search/shopper-discovery-search.raml b/testIntegration/stagingApis/discovery/shopper-discovery-search/shopper-discovery-search.raml deleted file mode 100644 index 9bfa27c7..00000000 --- a/testIntegration/stagingApis/discovery/shopper-discovery-search/shopper-discovery-search.raml +++ /dev/null @@ -1,101 +0,0 @@ -#%RAML 1.0 -version: v1 -title: Shopper Discovery Search - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/discovery-standards.raml - DiscoveryQueryLibrary: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-query-library.raml - DiscoverySuggestionLibrary: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-query-common-library/1.0.8/discovery-suggestion-library.raml - ErrorTypes: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.27/Errors/discovery-error-types.raml - ISOStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml - RamlToJaxrs: ramltojaxrs.raml - -mediaType: application/json -protocols: [ HTTPS ] - -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/discovery/query/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - example: 0dnz6oep - -description: !include shopper-discovery-search-description.md - -(RamlToJaxrs.resources): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.responses): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.responseClasses): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.methods): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.types): - plugins: - - name: ramltojaxrs.chainSetter - -/organizations/{organizationId}/channels/{channelId}: - type: CommerceCloudStandards.Organization - is: - - DiscoveryStandards.Traceable - - DiscoveryStandards.ResourceCommonErrors - uriParameters: - channelId: - description: The unique identifier of a Channel. - type: string - maxLength: 256 - example: ACME-US-Site - /results: - type: CommerceCloudStandards.Organization - post: - description: This method retrieves search results for a Channel. - displayName: retrieveResults - is: - - ApiStandards.OffsetPaginated: - maxLimit: 240 - defaultSize: 30 - queryParameters: - locale: ISOStandards.LanguageCountry - body: - type: DiscoveryQueryLibrary.QueryInput - responses: - 200: - description: The response after retrieving search results. - body: - type: DiscoveryQueryLibrary.QueryOutput - examples: - results: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/results-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-discovery-search] } - /suggestions: - type: CommerceCloudStandards.Organization - get: - description: This method gets suggestions for the user's search activity for a channel. - displayName: getSuggestions - queryParameters: - suggestionTypes: - description: The types of suggestions to return. - type: DiscoverySuggestionLibrary.SuggestionType[] - example: [ SUGGESTED, POPULAR ] - searchText?: - description: The optional text to retrieve suggestions for. - type: string - minLength: 3 - maxLength: 10 - example: wool - locale: ISOStandards.LanguageCountry - responses: - 200: - description: The response on requesting for suggestions. - body: - type: DiscoverySuggestionLibrary.Suggestions - examples: - results: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-examples/1.0.2/suggestions-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-discovery-search] } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/.metadata.json b/testIntegration/stagingApis/discovery/shopper-search/.metadata.json deleted file mode 100644 index 35e42bcb..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-search/1.0.42", - "name": "Shopper Search", - "description": "product search and helpful search suggestions.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-search", - "version": "1.0.42", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Discovery" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/discovery/shopper-search/Examples/product-search-400-error-example.raml b/testIntegration/stagingApis/discovery/shopper-search/Examples/product-search-400-error-example.raml deleted file mode 100644 index bcb9bdd1..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/Examples/product-search-400-error-example.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "title": "Malformed Price Refinement", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-price-refinement", - "detail": "The price refinement '(0.500)' is malformed. Something similar to '(0..100)' was expected.", - "malformedPrice": "(0.500)" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/Examples/product-search-result-example.raml b/testIntegration/stagingApis/discovery/shopper-search/Examples/product-search-result-example.raml deleted file mode 100644 index b77b733f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/Examples/product-search-result-example.raml +++ /dev/null @@ -1,336 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "limit": 3, - "hits": [ - { - "currency": "USD", - "hitType": "master", - "image": { - "alt": "Modern Dress Shirt, , large", - "disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw7671b929/images/large/B0174501_GY9_0.jpg", - "link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw7671b929/images/large/B0174501_GY9_0.jpg", - "title": "Modern Dress Shirt, " - }, - "orderable": true, - "price": 135, - "productId": "74974310", - "productName": "Modern Dress Shirt", - "productType": { - "master": true - }, - "representedProduct": { - "id": "74974310-1" - }, - "representedProducts": [ - { - "id": "74974310-1" - }, - { - "id": "74974310-2" - }, - { - "id": "74974310-3" - }, - { - "id": "74974310-4" - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "color", - "values": [ - { - "name": "Blue", - "orderable": true, - "value": "002" - } - ] - }, - { - "id": "size", - "name": "size", - "values": [ - { - "name": "15R", - "orderable": true, - "value": "15R" - }, - { - "name": "15L", - "orderable": true, - "value": "15L" - }, - { - "name": "16L", - "orderable": true, - "value": "16L" - } - ] - } - ] - }, - { - "currency": "USD", - "hitType": "master", - "image": { - "alt": "The White Dress Shirt, , large", - "disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg", - "link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg", - "title": "The White Dress Shirt, " - }, - "orderable": true, - "price": 135, - "productId": "78916783", - "productName": "The White Dress Shirt", - "productType": { - "master": true - }, - "representedProduct": { - "id": "78916783-1" - }, - "representedProducts": [ - { - "id": "78916783-1" - }, - { - "id": "78916783-2" - }, - { - "id": "78916783-3" - }, - { - "id": "78916783-4" - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "White", - "orderable": true, - "value": "white" - } - ] - }, - { - "id": "size", - "name": "size", - "values": [ - { - "name": "15L", - "orderable": true, - "value": "15L" - }, - { - "name": "15R", - "orderable": true, - "value": "15R" - } - ] - } - ] - }, - { - "currency": "USD", - "hitType": "master", - "image": { - "alt": "Striped Shirt, , large", - "disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw83b22281/images/large/PG.10213135.JJ9VSA5.PZ.jpg", - "link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw83b22281/images/large/PG.10213135.JJ9VSA5.PZ.jpg", - "title": "Striped Shirt, " - }, - "orderable": true, - "price": 40.99, - "productId": "25518484", - "productName": "Striped Shirt", - "productType": { - "master": true - }, - "representedProduct": { - "id": "701642854760" - }, - "representedProducts": [ - { - "id": "701642854760" - }, - { - "id": "701642854784" - }, - { - "id": "701642854791" - }, - { - "id": "701642854777" - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "Royal Multi", - "orderable": true, - "value": "JJ9VSA5" - } - ] - }, - { - "id": "size", - "name": "Size", - "values": [ - { - "name": "S", - "orderable": true, - "value": "9SM" - }, - { - "name": "M", - "orderable": true, - "value": "9MD" - }, - { - "name": "L", - "orderable": true, - "value": "9LG" - }, - { - "name": "XL", - "orderable": true, - "value": "9XL" - } - ] - } - ] - } - ], - "pageMetaTags": [ - { - "id": "robots", - "value": "index,follow" - }, - { - "id": "title", - "value": "Find amazing products in Storefront Catalog - EN' today" - } - ], - "query": "shirt", - "refinements": [ - { - "attributeId": "cgid", - "label": "Category", - "values": [ - { - "hitCount": 4, - "label": "New Arrivals", - "value": "newarrivals" - } - ] - }, - { - "attributeId": "c_refinementColor", - "label": "Color", - "values": [ - { - "hitCount": 0, - "label": "Beige", - "presentationId": "beige", - "value": "Beige" - }, - { - "hitCount": 0, - "label": "Yellow", - "presentationId": "yellow", - "value": "Yellow" - }, - { - "hitCount": 7, - "label": "Miscellaneous", - "presentationId": "miscellaneous", - "value": "Miscellaneous" - } - ] - }, - { - "attributeId": "price", - "label": "Price", - "values": [ - { - "hitCount": 14, - "label": "$20 - $49.99", - "value": "(20..50)" - }, - { - "hitCount": 26, - "label": "$50 - $99.99", - "value": "(50..100)" - }, - { - "hitCount": 6, - "label": "$100 - $499.99", - "value": "(100..500)" - } - ] - }, - { - "attributeId": "c_isNew", - "label": "New Arrival", - "values": [ - { - "hitCount": 1, - "label": "true", - "value": "true" - } - ] - }, - { - "attributeId": "brand", - "label": "brand", - "values": [ - { - "hitCount": 1, - "label": "Lacy-S", - "value": "Lacy-S" - } - ] - } - ], - "searchPhraseSuggestions": { - "suggestedPhrases": [ - { - "exactMatch": true, - "phrase": "shirt" - } - ], - "suggestedTerms": [ - { - "originalTerm": "shirt", - "terms": [ - { - "completed": false, - "corrected": false, - "exactMatch": true, - "value": "shirt" - } - ] - } - ] - }, - "sortingOptions": [ - { - "id": "best-matches", - "label": "Best Matches" - }, - { - "id": "price-low-to-high", - "label": "Price Low To High" - } - ], - "offset": 0, - "total": 46 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/Examples/search-suggestion-400-error-example.raml b/testIntegration/stagingApis/discovery/shopper-search/Examples/search-suggestion-400-error-example.raml deleted file mode 100644 index 13bff5e1..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/Examples/search-suggestion-400-error-example.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "title": "String Constraint Violation", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/string-constraint-violation", - "detail": "The string length constraint was violated by 'q'. The expected length is '(3..50)'.", - "expected": "(3..50)", - "parameter": "q" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/Examples/search-suggestion-result-example.raml b/testIntegration/stagingApis/discovery/shopper-search/Examples/search-suggestion-result-example.raml deleted file mode 100644 index ef1b4e12..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/Examples/search-suggestion-result-example.raml +++ /dev/null @@ -1,93 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "brandSuggestions": { - "suggestedPhrases": [ - { - "exactMatch": false, - "phrase": "Sony" - } - ], - "suggestedTerms": [ - { - "originalTerm": "son", - "terms": [ - { - "completed": true, - "corrected": false, - "exactMatch": false, - "value": "sony" - } - ] - } - ] - }, - "categorySuggestions": { - "suggestedTerms": [ - { - "originalTerm": "son" - } - ] - }, - "productSuggestions": { - "products": [ - { - "currency": "EUR", - "price": 300.00, - "productId": "sony-ps3-bundle", - "productName": "Playstation 3 Bundle" - }, - { - "currency": "EUR", - "price": 310.00, - "productId": "sony-alpha350-wlen", - "productName": "Sony Alpha 350 Digital SLR Camera w/18-70mm Lens" - }, - { - "currency": "EUR", - "price": 10.00, - "productId": "sony-alpha900-body", - "productName": "Sony Alpha 900 Digital SLR Camera (body only)" - }, - { - "currency": "EUR", - "price": 50.00, - "productId": "sony-warhawk-ps3", - "productName": "Warhawk (for Sony PS3)" - }, - { - "currency": "EUR", - "price": 280.00, - "productId": "sony-psp-console", - "productName": "Sony PSP® Game Console" - } - ], - "suggestedPhrases": [ - { - "exactMatch": false, - "phrase": "sony" - } - ], - "suggestedTerms": [ - { - "originalTerm": "son", - "terms": [ - { - "completed": true, - "corrected": false, - "exactMatch": false, - "value": "sony" - }, - { - "completed": true, - "corrected": false, - "exactMatch": false, - "value": "sonyalpha" - } - ] - } - ] - }, - "searchPhrase": "son" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/Traits/ProductSearchSelectBadRequest.raml b/testIntegration/stagingApis/discovery/shopper-search/Traits/ProductSearchSelectBadRequest.raml deleted file mode 100644 index d2cb2307..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/Traits/ProductSearchSelectBadRequest.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response. -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - examples: - MalformedSelectorGetProductsSearchForSelect: | - { - "title": "Malformed Selector", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-selector", - "detail": "The property selector '(hits.(currency, hitType,image.(**))' is malformed.", - "selector": "(hits.(currency, hitType,image.(**))" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/Traits/Unauthorized.raml b/testIntegration/stagingApis/discovery/shopper-search/Traits/Unauthorized.raml deleted file mode 100644 index 662f89f4..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/Traits/Unauthorized.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 401 response in case of authorization failure. - -responses: - 401: - description: Unauthorized. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "hbGciOiJIUzI1NiIsInR5cCI6Ikp" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange.json b/testIntegration/stagingApis/discovery/shopper-search/exchange.json deleted file mode 100644 index 2b7e0117..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.42", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-search.raml", - "backwardsCompatible": false, - "assetId": "shopper-search", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Search", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml deleted file mode 100644 index fa1a4f62..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 86f76c76..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index f29a317f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 9517ea0e..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml deleted file mode 100644 index b00dcea6..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml deleted file mode 100644 index 5f1a0bcb..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`ShopperTokenTsob`:** a security scheme for endpoints that only allow the ShopperTokenTsob token type (tsob = Trusted system on behalf). - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json deleted file mode 100644 index 89dcc88a..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.20"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml deleted file mode 100644 index 99e06ea0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml +++ /dev/null @@ -1,120 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml deleted file mode 100644 index f9abcef7..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml +++ /dev/null @@ -1,69 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json deleted file mode 100644 index fbeb9213..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.27","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/shopper-search-description.md b/testIntegration/stagingApis/discovery/shopper-search/shopper-search-description.md deleted file mode 100644 index 15cf3828..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/shopper-search-description.md +++ /dev/null @@ -1,77 +0,0 @@ -# API Overview - -The Shopper Search API enables you to implement search functionality that lets shoppers search for products using keywords and refinement. The search results can be products or suggestions based on the endpoint you choose in the API. - -Caching is provided for the Shopper Search API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) - -## Authentication & Authorization - -The client requesting the API must have access to the product search and search suggestion resource. -The Shopper Search API requires a JWT acquired via the Shopper Customers endpoint: - -``` -https://{shortCode}.api.commercecloud.salesforce.com/customer/shopper-customers/v1/organizations/{organizationId}/customers/actions/login -``` -## Use Cases - -### Provide Search Suggestions - -Use the Shopper Search API to provide search suggestions as a shopper searches. - -For example, a developer who is building a shopping app using the Salesforce Commerce API would like to provide product, brand, and category suggestions. When a shopper types in a search phrase that exceeds a definable minimum length and the GET Search Suggestion endpoint is requested, the platform delivers a set of suggestions with products (name, ID), brands (name), and categories (name, ID). Shoppers can reach their desired search results more quickly using the suggested completion and correction. - -### Provide Search Results - -Use the Shopper Search API to gather product results for a shoppers search query. - -For example, a developer who is building a shopping app using the Salesforce Commerce API would like to implement a product search functionality. When a shopper enters a search phrase and the GET Product Search endpoint is requested, the platform performs a keyword search and a sorted search result is returned. The sorted search result can be refined according to given values (for example, a price range). -The product search result contains a definable number of product search hits. A product search hit describes a matching product with its ID and name. Furthermore, the search hit contains product images, prices, represented products, and variations. In addition to the search hits, the search results also deliver refinement and sorting options. - -### Retrieve Promotion Information - -Note: This only applies if `promotions` expand is provided in the query parameter. - -Promotions provide discounts to shoppers when they meet certain purchase requirements. - -Promotion information is described in detail in [Promotion Details](https://developer.salesforce.com/docs/commerce/commerce-api/guide/promotion-details.html), but the following list provides several key points: - -- Pricing discounts for basket and shipping promotions are NEVER returned by the 'getProduct' or 'getProducts' endpoint. -- Promotional pricing is ONLY returned for products that are included with non-conditional promotions. -- Callout messages are ALWAYS returned by the 'getProduct' and 'getProducts' endpoints. - -By default, 'getProduct' and 'getProducts' return promotion information for a queried product. Promotion information includes both pricing and callout message information. However, the specific pricing and callout information that is fetched is determined by: - -- Promotion Type -- Product Type -- Product Purchase Requirements - -Some promotions can be displayed on a Product Data Page (PDP) or Product Listing page (PLP), while other promotions are displayed in the context of a basket, such as an order level promotion: "add the product to your basket to view price information". It is important to understand what is included in the response when designing a PDP or PLP on top of SCAPI to ensure your design aligns with implementable features. - -Note: When you search for a variant product, the Product Search API returns the master or main product as the primary search hit. When promotion data (productPromotion) is returned, it does not contain pricing information because the returned product is the main product. To retrieve pricing information, pass the query string `allVariationProperties=true` with the `promotions` expand parameter, which returns pricing data for variant products if the promotion is unconditional. The `allVariationProperties` flag specifies the variation properties to be included in the result. - -#### Shopper Personalization -The SCAPI response can be personalized using the Shopper Context API or hooks. By setting specific values in the Shopper Context API, you can modify the response of the 'getProduct' or 'getProducts' endpoint based on the shopper's context. For instance, you can offer a 5% discount or free shipping to shoppers using mobile devices. - -#### JWA Caching -The response is cached in JWA, which means promotion data contained in the response is also cached based on the TTL (Time to Live) specified in the Business Manager [Feature Switches](https://help.salesforce.com/s/articleView?id=cc.b2c_feature_switches.htm&type=5) configuration. -When the shopper context value is updated, a check is conducted to see if the updated shopper context affects the retrieval of product-promotion data. If it does, then the response is fetched from the source and cached in the JWA. - -For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) - - -### Use Hooks - -For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) - -## Best Practices - -These best practices refer to features that are generally available with B2C Commerce 24.3. - -For better performance, when you call the GET Product Search endpoint, we recommend that you: - -- Use the `select` query parameter to filter the response of a specified field or set of fields, and remove default outputs that you don't need. For example, filter the response to return only the relevant product names, ids, variants, and product IDs of the variants. -- Limit API requests to the GET Product Search endpoint instead of calling both the GET Product Search and GET Products endpoints to show information on a product listing page (PLP). Use these features to provide the additional product information needed to render product tiles: - - **Allowable value:** `promotions` value in the `expand` query parameter - - **Query parameters:** `perPricebook`, `allImages`, and `allVariationProperties` - - **Responses:** `productPromotions`, `imageGroups`, `priceRanges`, `tieredPrices`, `variants`, and `variationGroups` -- Pass in only the `expand` values and query parameters that you consider necessary to meet your PLP requirements. Requesting large amounts of information can increase the latency, especially if there's a lot of data to be returned (for example, many imageGroups and variants). \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/shopper-search-library.raml b/testIntegration/stagingApis/discovery/shopper-search/shopper-search-library.raml deleted file mode 100644 index afb231fc..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/shopper-search-library.raml +++ /dev/null @@ -1,650 +0,0 @@ -#%RAML 1.0 Library - -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -traits: - Unauthorized: !include Traits/Unauthorized.raml - BadRequest: !include /Traits/ProductSearchSelectBadRequest.raml -types: - #types for product-search resource - PageMetaTag: - description: Document representing a Page Meta Tag object. - properties: - id: - description: The ID of the Page Meta Tag. - type: string - required: false - example: "title" - value: - description: Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID. - type: string - required: false - example: "Buy the Long Sleeve Covered Placket Blouse for USD 61.99." - - ProductRef: - description: Document representing a product reference. - properties: - id: - description: The ID of the product reference. - type: string - - ProductSearchHit: - description: Document representing a product search hit. - properties: - currency: - type: CommerceCloudStandards.CurrencyCode - required: false - hitType: - description: The type information for the search hit. - type: string - required: false - image: - description: The first image of the product hit for the configured viewtype. - type: Image - required: false - - orderable: - description: A flag indicating whether the product is orderable. - type: boolean - required: false - - price: - description: |- - The sales price of the product. In complex products, like master or set, this is the minimum price of - related child products. - type: number - format: double - required: false - - priceMax: - description: The maximum sales of related child products in complex products like master or set. - type: number - format: double - required: false - - prices: - description: The prices map with price book IDs and their values. - type: object - properties: - //: - type: number - format: double - required: false - - productId: - description: The ID (SKU) of the product. - type: string - - productName: - description: The localized name of the product. - type: string - required: false - - productType: - description: The type information for the product. - type: ProductType - required: false - - representedProduct: - description: The first represented product. - type: ProductRef - required: false - - representedProducts: - description: All the represented products. - type: array - items: - type: ProductRef - required: false - - variationAttributes: - description: The array of represented variation attributes, for the master product only. This array can be empty. - type: array - items: - type: VariationAttribute - required: false - - imageGroups: - description: The array of product image groups. - type: array - items: - type: ImageGroup - required: false - - priceRanges: - description: Array of one or more price range objects representing one or more Pricebooks in context for the site. - type: array - items: - type: PriceRange - required: false - - productPromotions: - description: |- - The array of active customer product promotions for this product. This array can be empty. - Coupon promotions are not returned in this array. - type: array - items: - type: ProductPromotion - required: false - - tieredPrices: - description: The document represents list of tiered prices if the product is a variant - type: array - items: - type: ProductPriceTable - required: false - - variants: - description: The array of actual variants. Only for master, variation group, and variant types. This array can be empty. - type: array - items: - type: Variant - required: false - - variationGroups: - description: The array of actual variation groups. Only for master, variation group, and variant types. This array can be empty. - type: array - items: - type: VariationGroup - required: false - - - ProductSearchRefinement: - description: Document representing a product search refinement attribute. - properties: - attributeId: - description: |- - The ID of the search refinement attribute. In the case of an attribute refinement, this is the attribute ID. - Custom attributes are marked by the prefix "c_" (for example, "c_refinementColor"). In the case of a - category refinement, the ID must be "cgid". In the case of a price refinement, the ID must be "price". - type: string - label: - description: The localized label of the refinement. - type: string - required: false - values: - description: The sorted array of refinement values. This array can be empty. - type: array - items: - type: ProductSearchRefinementValue - required: false - - ProductSearchRefinementValue: - description: Document representing a product search refinement value. - properties: - description: - description: The localized description of the refinement value. - type: string - required: false - hitCount: - description: The number of search hits when selecting the refinement value. Can be 0. - type: integer - format: int32 - label: - description: The localized label of the refinement value. - type: string - presentationId: - description: |- - The optional presentation ID associated with the refinement value. - The presentation ID can be used, for example, to associate an ID with - an HTML widget. - type: string - required: false - value: - description: |- - The refinement value. In the case of an attribute refinement, this is the bucket, - the attribute value, or a value range. In the case of a category refinement, this is the - category ID. In the case of a price refinement, this is the price range. Ranges are - enclosed by parentheses and separated by ".."; for example, "(100..999)" and "(Aa..Fa)" - are valid ranges. - type: string - values: - description: The array of hierarchical refinement values. This array can be empty. - type: array - items: - type: ProductSearchRefinementValue - required: false - - - ProductSearchSortingOption: - description: Document representing a product search sorting option. - properties: - id: - description: The ID of the sorting option. - type: string - label: - description: The localized label of the sorting option. - type: string - - ProductType: - description: Document representing a product type. - properties: - bundle: - description: A flag indicating whether the product is a bundle. - type: boolean - required: false - item: - description: A flag indicating whether the product is a standard item. - type: boolean - required: false - master: - description: A flag indicating whether the product is a master. - type: boolean - required: false - option: - description: A flag indicating whether the product is an option. - type: boolean - required: false - set: - description: A flag indicating whether the product is a set. - type: boolean - required: false - variant: - description: A flag indicating whether the product is a variant. - type: boolean - required: false - variationGroup: - description: A flag indicating whether the product is a variation group. - type: boolean - required: false - - VariationAttributeValue: - description: Document representing a variation attribute value. - properties: - description: - description: The localized description of the variation value. - type: string - required: false - image: - description: The first product image for the configured viewtype and this variation value. - type: Image - required: false - imageSwatch: - description: The first product image for the configured viewtype and this variation value. Typically the swatch image. - type: Image - required: false - name: - description: The localized display name of the variation value. - type: string - required: false - orderable: - description: A flag indicating whether at least one variant with this variation attribute value is available to sell. - type: boolean - required: false - value: - description: The actual variation value. - minLength: 1 - type: string - - VariationAttribute: - description: Document representing a variation attribute. - properties: - id: - description: The ID of the variation attribute. - minLength: 1 - type: string - name: - description: The localized display name of the variation attribute. - type: string - required: false - values: - description: The sorted array of variation values. This array can be empty. - type: array - items: - type: VariationAttributeValue - required: false - - ProductSearchResult: - description: Document representing a product search result. - properties: - limit: - description: The number of returned documents. - type: ApiStandards.Limit - format: int32 - hits: - description: A sorted array of search hits (`ProductSearchHit` objects). The array can be empty. - type: ProductSearchHit[] - pageMetaTags: - description: Page Meta tags associated with the search result. - type: array - items: - PageMetaTag - required: false - query: - description: The query string that was searched for. - type: string - refinements: - description: The sorted array of search refinements. This array can be empty. - type: array - items: - type: ProductSearchRefinement - searchPhraseSuggestions: - description: The suggestion given by the system for the submitted search phrase. - type: Suggestion - selectedRefinements: - description: A map of selected refinement attribute ID or value pairs. The sorting order is the same as in request URL. - type: object - properties: - //: - type: string - required: false - selectedSortingOption: - description: The ID of the applied sorting option. - type: string - required: false - sortingOptions: - description: The sorted array of search sorting options. This array can be empty. - type: array - items: - type: ProductSearchSortingOption - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - total: - description: The total number of documents. - type: integer - format: int32 - - #shared types: used in both resources - Image: - properties: - alt: - type: string - required: false - disBaseLink: - type: string - required: false - link: - minLength: 1 - type: string - title: - type: string - required: false - - SuggestedPhrase: - description: Document representing a suggested search phrase. - properties: - exactMatch: - description: Returns whether this suggested phrase exactly matches the user input search phrase. - type: boolean - phrase: - description: Returns the suggested search phrase. - type: string - - SuggestedTerms: - description: Document representing a list of suggested terms for each term of a search phrase. - properties: - originalTerm: - description: Returns the original term that the suggested terms relates to. - type: string - terms: - description: Returns the suggested terms. - type: array - required: false - items: - type: SuggestedTerm - - SuggestedTerm: - description: Document representing a suggested term. - properties: - completed: - description: Returns whether this term value is a completion match. - type: boolean - corrected: - description: Returns whether this term value is a correction match. - type: boolean - exactMatch: - description: Returns whether this term value is a exact match. - type: boolean - value: - description: Returns the term value. - type: string - - Suggestion: - description: Document representing a suggestion. - properties: - suggestedPhrases: - description: A list of suggested phrases. This list can be empty. - type: array - required: false - items: - type: SuggestedPhrase - suggestedTerms: - description: A list of suggested terms. This list can be empty. - type: array - items: - type: SuggestedTerms - - #types for product-search resource - SuggestedProduct: - description: Document representing a product search hit. - properties: - currency: - type: CommerceCloudStandards.CurrencyCode - price: - description: |- - The sales price of the product. In the case of complex products like a master or a set, this is the minimum price of - related child products. - type: number - format: double - productId: - description: The ID (SKU) of the product. - type: string - productName: - description: The localized name of the product. - type: string - - SuggestedCategory: - properties: - id: - description: The ID of the category. - type: string - name: - description: The localized name of the category. - type: string - parentCategoryName: - description: The name of the parent category. - type: string - - CategorySuggestions: - type: Suggestion - properties: - categories: - required: false - description: The sorted list of suggested categories. This list can be empty. - type: array - items: - type: SuggestedCategory - - ProductSuggestions: - type: Suggestion - properties: - products: - required: false - description: The sorted list of suggested products. This list can be empty. - type: array - items: - type: SuggestedProduct - - BrandSuggestions: - description: The suggested brand names are listed in suggested phrases. If this list is empty, no brand suggestion for a given search phrase was found. - type: Suggestion - - CustomSuggestions: - description: The custom suggestions are listed in suggested phrases. If this list is empty, no custom suggestion for the given search phrase was found. - type: Suggestion - properties: - customSuggestion: - required: false - - SuggestionResult: - description: Document representing a search suggestion result. - properties: - brandSuggestions: - required: false - description: Returns the suggested brands. - type: BrandSuggestions - categorySuggestions: - required: false - description: Returns the suggested categories. - type: CategorySuggestions - productSuggestions: - required: false - description: Returns the suggested products. - type: ProductSuggestions - customSuggestion: - required: false - description: Returns custom suggestions. - type: CustomSuggestions - searchPhrase: - description: The query phrase (q) for which suggestions where made. - type: string - - ImageGroup: - description: Document representing an image group containing a list of images for a particular view type and an optional variation value. - properties: - images: - description: The images of the image group. - type: array - items: - type: Image - variationAttributes: - description: Returns a list of variation attributes applying to this image group. - type: array - items: - type: VariationAttribute - required: false - viewType: - description: The image view type. - type: string - example: "hi-res" - - PriceRange: - description: Document representing price ranges for a product which happens to be a master product (per Pricebook) - properties: - maxPrice: - description: Maximum price for the given pricebook (usually for a master Product would be the price for the Variant which has the highest price out of all Variants in that pricebook) - type: number - format: double - required: false - example: 10.89 - minPrice: - description: Minimum price for the given pricebook (usually for a master Product would be the price for the Variant which has the least price out of all Variants in that pricebook) - type: number - format: double - required: false - example: 10.89 - pricebook: - description: The active pricebook from which the min and the max prices are calculated. The pricebook is based on the site context of the request as defined in ECOM. - type: string - required: false - example: usd-list-pricebook - - ProductPriceTable: - description: Tiered Price Level Object - properties: - price: - description: Price for the product for the specified tier for the specified pricebook - type: number - format: double - required: false - example: 12.99 - pricebook: - description: The active pricebook for which this price is defined - type: string - required: false - example: usd-list-pricebook - quantity: - description: Quantity tier for which the price is defined. - type: number - format: double - required: false - example: 1.00 - - ProductPromotion: - description: Document representing a product promotion. - properties: - calloutMsg: - description: The localized call-out message of the promotion. - type: string - example: "Fantastic promotion" - promotionId: - description: The unique ID of the promotion. - type: string - example: "summerSale" - promotionalPrice: - description: The promotional price for this product. - type: number - format: double - example: 12.99 - - Variant: - description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU.* - properties: - orderable: - description: A flag indicating whether the variant is orderable. - type: boolean - required: false - example: true - price: - description: The sales price of the variant. - type: number - format: double - required: false - example: 25.99 - productId: - description: The ID (SKU) of the variant. - maxLength: 100 - minLength: 1 - type: string - example: "8W4756834" - tieredPrices: - description: List of tiered prices if the product is a variant - type: array - items: - type: ProductPriceTable - required: false - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - required: false - productPromotions: - description: |- - The array of active customer product promotions for this product. This array can be empty. - Coupon promotions are not returned in this array. - type: array - items: - type: ProductPromotion - required: false - - VariationGroup: - description: Representation of a group of variant products by an attribute. This can't be purchased by a shopper. It provides inheritable attributes for its product variants and is used for navigation. A VariationGroup doesn't have a SKU. - properties: - orderable: - description: A flag indicating whether the variation group is orderable. - type: boolean - example: false - price: - description: The sales price of the variation group. - type: number - format: double - example: 24.99 - productId: - description: The ID (SKU) of the variation group. - maxLength: 100 - minLength: 1 - type: string - example: "49345VG" - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/shopper-search.raml b/testIntegration/stagingApis/discovery/shopper-search/shopper-search.raml deleted file mode 100644 index 008aeba5..00000000 --- a/testIntegration/stagingApis/discovery/shopper-search/shopper-search.raml +++ /dev/null @@ -1,160 +0,0 @@ -#%RAML 1.0 -version: v1 -title: Shopper Search -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - SearchTypeLibrary: shopper-search-library.raml - -mediaType: application/json -protocols: [HTTPS] -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/search/shopper-search/{version}/ -baseUriParameters: - shortCode: - description: Region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include shopper-search-description.md - -/organizations/{organizationId}: - /product-search: - type: CommerceCloudStandards.Organization - get: - description: |- - Provides keyword and refinement search functionality for products. Only returns the product ID, link, and name in - the product search hit. The search result contains only products that are online and assigned to site catalog. - displayName: productSearch - is: - - SearchTypeLibrary.Unauthorized - - SearchTypeLibrary.BadRequest - - ApiStandards.OffsetPaginated: - maxLimit: 200 - defaultSize: 25 - responses: - '200': - description: Product search successfully returned results. - body: - type: SearchTypeLibrary.ProductSearchResult - examples: - product_search: !include Examples/product-search-result-example.raml - '400': - description: Thrown if a price refinement parameter is malformed or the refinement limit is exceeded. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - examples: - product-search-400-error: !include Examples/product-search-400-error-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-product-search] } - queryParameters: - select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names, or work with wildcards.You can also sepcify Array Operations and filter expressions.The actual selector value must be enclosed within parentheses. - type: CommerceCloudStandards.Select - required: false - example: (hits.(**)) - siteId: - type: CommerceCloudStandards.SiteId - q: - description: The query phrase to search for. For example to search for a product "shirt", type q=shirt. - maxLength: 50 - type: string - required: false - refine: - description: |- - Parameter that represents a refinement attribute or values pair. Refinement attribute ID and - values are separated by '='. Multiple values are supported by a subset of refinement attributes and - can be provided by separating them using a pipe (URL - encoded = "|") i.e. refine=c_refinementColor=red|green|blue. Value ranges can be specified like this: refine=price=(100..500) . Multiple refine parameters can be provided by using the refine as the key i.e refine=price=(0..10)&refine=c_refinementColor=green. The refinements can be a collection of custom defined attributes IDs and the system defined attributes IDs but the search can only accept a total of 9 refinements at a time. - The following system refinement attribute ids are supported: - - cgid: Allows refinement per single category ID. Multiple category ids are not supported. - price: Allows refinement per single price range. Multiple price ranges are not supported. - pmid: Allows refinement per promotion ID. - htype: Allow refinement by including only the provided hit types. Accepted types are 'product', 'master', 'set', 'bundle', 'slicing_group' (deprecated), 'variation_group'. - orderable_only: Unavailable products are excluded from the search results if true is set. Multiple refinement values are not supported. - type: string[] - required: false - sort: - description: The ID of the sorting option to sort the search hits. - type: string - required: false - currency: - description: The currency mnemonic specified for price. This parameter is effective only if the returned results contain prices. - type: CommerceCloudStandards.CurrencyCode - required: false - locale: - type: CommerceCloudStandards.LocaleCode - required: false - expand: - description: A comma-separated list with allowed values - `availability`, `images`, `prices`, `represented_products`, `variations`, `promotions`, `custom_properties`. By default, the expand parameter includes `availability, images, prices, represented_products, variations`. Use none to disable all expand options. **The page_meta_tags expand value is optional and is available B2C Commerce version 25.2.** - type: array - items: - enum: [none,availability,images,prices,represented_products,variations,promotions,custom_properties,page_meta_tags] - required: false - example: [prices,represented_products] - allImages: - description: When the `images` expand parameter is used with this flag, the response includes the `imageGroups property`, which contains an image model. If this flag is true, the full image model is returned. If false, only matching images are included. If no flag is passed, the `imageGroups` property is omitted from the response. - type: boolean - required: false - example: false - perPricebook: - description: When this flag is set to `true` and is used with the `prices` expand parameter, the response includes per PriceBook prices and tiered prices (if available). - type: boolean - required: false - example: false - allVariationProperties: - description: The flag that determines which variation properties are included in the result. When set to `true` with the `variations` expand parameter, all variation properties (`variationAttributes`, `variationGroups`, `variants`) are returned. When set to false, only the default property `variationAttributes` is returned. - type: boolean - required: false - example: false - /search-suggestions: - type: CommerceCloudStandards.Organization - get: - description: Provides keyword search functionality for products, categories, and brands suggestions. - Returns suggested products, suggested categories, and suggested brands for the given search phrase. - displayName: getSearchSuggestions - is: - - SearchTypeLibrary.Unauthorized - responses: - '200': - description: Search suggestions are successfully returned. - body: - type: SearchTypeLibrary.SuggestionResult - examples: - search_suggestion: !include Examples/search-suggestion-result-example.raml - '400': - description: Thrown in case a query parameter or its value is unknown, or a maximum or minimum constraint is violated. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - examples: - search-suggestion-400-error: !include Examples/search-suggestion-400-error-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-product-search] } - queryParameters: - siteId: - type: CommerceCloudStandards.SiteId - q: - description: The search phrase (q) for which suggestions are evaluated. Search suggestions are determined when the search phrase input is at least three (default) characters long. The value is configurable in the Business Manager. - maxLength: 50 - minLength: 1 - type: string - required: true - example: son - limit: - description: The maximum number of suggestions made per request. If no value is defined, by default five suggestions per suggestion type are evaluated. This affects all types of suggestions (category, product, brand, and custom suggestions). - maximum: 10 - minimum: 1 - default: 5 - type: integer - format: int32 - required: false - example: 5 - currency: - description: The currency code specified for price. This parameter is effective only for product suggestions. - type: CommerceCloudStandards.CurrencyCode - required: false - locale: - type: CommerceCloudStandards.LocaleCode - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/.metadata.json b/testIntegration/stagingApis/experience/shopper-experience/.metadata.json deleted file mode 100644 index 68428e98..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/.metadata.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-experience/1.0.5", - "name": "Shopper Experience", - "description": "", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-experience", - "version": "1.0.5", - "categories": { - "CC API Family": [ - "Experience" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/experience/shopper-experience/Examples/carousel-regions-example.raml b/testIntegration/stagingApis/experience/shopper-experience/Examples/carousel-regions-example.raml deleted file mode 100644 index caede7d1..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/Examples/carousel-regions-example.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - { - "id" : "tiles", - "components" : [ - { - "id" : "w3reö9wsjf3", - "typeId" : "commerce_assets.productTile", - "data" : { - "product" : "iphone6" - } - }, - { - "id" : "cgn8d4ngdl4n", - "typeId" : "commerce_assets.productTile", - "data" : { - "product" : "iphone7" - } - } - ] - } - ] \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/Examples/header-components-example.raml b/testIntegration/stagingApis/experience/shopper-experience/Examples/header-components-example.raml deleted file mode 100644 index 2a9ba5bc..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/Examples/header-components-example.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - { - "id" : "iofwj38fhw3f", - "typeId" : "commerce_assets.banner", - "data" : { - "title" : "Products On Sale", - "bannerImage" : "sale/topsellerPromo.jpg" - }, - "custom" : { - "thumbnail_full" : "http://static.myshop.com/sale/topsellerPromo.jpg" - } - } - ] \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/Examples/storepage-regions-example.raml b/testIntegration/stagingApis/experience/shopper-experience/Examples/storepage-regions-example.raml deleted file mode 100644 index 16326dbc..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/Examples/storepage-regions-example.raml +++ /dev/null @@ -1,61 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - { - "id" : "header", - "components" : [ - { - "id" : "iofwj38fhw3f", - "typeId" : "commerce_assets.banner", - "data" : { - "title" : "Products On Sale", - "bannerImage" : "sale/topsellerPromo.jpg" - }, - "custom" : { - "thumbnail_full" : "http://static.myshop.com/sale/topsellerPromo.jpg" - } - } - ] - }, - { - "id" : "main", - "components" : [ - { - "id" : "rfdvj4ojtltljw3", - "typeId" : "commerce_assets.carousel", - "data" : { - "title" : "Topseller", - "category" : "topseller" - }, - "custom" : { - "detailUrl" : "www.myshop.com/topseller" - }, - "regions" : [ - { - "id" : "tiles", - "components" : [ - { - "id" : "w3reö9wsjf3", - "typeId" : "commerce_assets.productTile", - "data" : { - "product" : "iphone6" - } - }, - { - "id" : "cgn8d4ngdl4n", - "typeId" : "commerce_assets.productTile", - "data" : { - "product" : "iphone7" - } - } - ] - } - ] - } - ] - }, - { - "id" : "footer", - "components" : [] - } - ] \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/Experience-traits-library.raml b/testIntegration/stagingApis/experience/shopper-experience/Experience-traits-library.raml deleted file mode 100644 index 43edb8f6..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/Experience-traits-library.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for the request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - ErrorResponse: ApiStandards.ErrorResponse - -traits: - LocaleSpecific: !include Traits/LocaleSpecific.raml - AspectAttributeInvalid: !include Traits/AspectAttributesInvalid.raml - BusinessObjectIdInvalid: !include Traits/BusinessObjectIdInvalid.raml - AspectTypeNotFound: !include Traits/AspectTypeNotFound.raml - PageNotFound: !include Traits/PageNotFound.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/Traits/AspectAttributesInvalid.raml b/testIntegration/stagingApis/experience/shopper-experience/Traits/AspectAttributesInvalid.raml deleted file mode 100644 index 24aa01b2..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/Traits/AspectAttributesInvalid.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: 400 response when an aspect attribute does not suffice its definition. -responses: - 400: - description: | - Provided Aspect Attribute Invalid - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Aspect Attribute Invalid", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/aspect-attribute-invalid", - "detail": "Aspect attribute value '5555' does not fulfill its respective definition {\"id\" : \"foobar\", \"type\" : \"string\",\"required\" : false\"}" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/Traits/AspectTypeNotFound.raml b/testIntegration/stagingApis/experience/shopper-experience/Traits/AspectTypeNotFound.raml deleted file mode 100644 index 6a37b4d5..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/Traits/AspectTypeNotFound.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: 404 response when an aspect type is not found. -responses: - 404: - description: | - Requested Aspect Type Not Found - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Aspect Type Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/aspect-type-not-found", - "detail": "No aspect type with ID 'pdp' was found in site 'RefArch'." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/Traits/BusinessObjectIdInvalid.raml b/testIntegration/stagingApis/experience/shopper-experience/Traits/BusinessObjectIdInvalid.raml deleted file mode 100644 index 422e7241..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/Traits/BusinessObjectIdInvalid.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: 400 response when no proper business object id was provided. -responses: - 400: - description: | - Business Object ID Invalid - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Business Object ID Invalid", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/business-object-id-invalid", - "detail": "At least one provided business object identifier was invalid. This means either none was provided at all or exclusiveness of multiple identifiers wasn't honored or the referenced business object didn't exist." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/Traits/LocaleSpecific.raml b/testIntegration/stagingApis/experience/shopper-experience/Traits/LocaleSpecific.raml deleted file mode 100644 index 1f6d7c99..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/Traits/LocaleSpecific.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait -usage: This trait should be used whenever a resource uses the context of a locale associated with its request. This will add a locale query parameter. -queryParameters: - locale?: - type: CommerceCloudStandards.LocaleCode - description: |- - A descriptor to provide locale context for a geographical region by both a language and/or country code. The locale pattern in the query param follows the ISO 639-1 for the language code (e.g. en, de, fr) and ISO 3166-1 for the country code (e.g. US, DE, AT). The param can be a combination of language code and country code or can just refer to the language code. - Below are some valid examples: - - en-US - - de-AT - - de - - default - example: - en-US \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/Traits/PageNotFound.raml b/testIntegration/stagingApis/experience/shopper-experience/Traits/PageNotFound.raml deleted file mode 100644 index c566fb09..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/Traits/PageNotFound.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: 404 response when a page is not found, i.e. does not exist or isn't visible. -responses: - 404: - description: | - Requested Page Not Found - body: - application/problem+json: - type: ErrorResponse - example: - { - "title": "Page Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/page-not-found", - "detail": "No visible page with ID 'homepage' was found in site 'RefArch'." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange.json b/testIntegration/stagingApis/experience/shopper-experience/exchange.json deleted file mode 100644 index 4dc2c6d5..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.5", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-experience.raml", - "assetId": "shopper-experience", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Experience", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/experience/shopper-experience/shopper-experience-description.md b/testIntegration/stagingApis/experience/shopper-experience/shopper-experience-description.md deleted file mode 100644 index b5389c26..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/shopper-experience-description.md +++ /dev/null @@ -1,13 +0,0 @@ -Use the Shopper Experience API to look up page information for pages that are created in Page Designer. - -Responses include the following: - -- The entire component hierarchy of the page at design time. -- All merchant data provided at design time. -- Server-side scripting data provided at run time. - -Both the page and components contain the values of all native and custom attributes that have been populated during page authoring. - -Only visible pages are returned. Because the visibility of components is driven by rules (scheduling or customer groups, for example), these rules are subject to evaluation when assembling the component hierarchy in the response. Only components that are visible for the current customer context appear in the response. The same rules apply to the page itself, which is only be processed and returned if it is visible. - -**Important**: Currently, the Shopper Experience API can’t be used when the [storefront password protection](https://documentation.b2c.commercecloud.salesforce.com/DOC1/index.jsp?topic=%2Fcom.demandware.dochelp%2Fcontent%2Fb2c_commerce%2Ftopics%2Fpermissions%2Fb2c_storefront_password_protection.html&resultof=%22%73%74%6f%72%65%66%72%6f%6e%74%22%20%22%70%72%6f%74%65%63%74%69%6f%6e%22%20%22%70%72%6f%74%65%63%74%22%20) feature is enabled. diff --git a/testIntegration/stagingApis/experience/shopper-experience/shopper-experience.raml b/testIntegration/stagingApis/experience/shopper-experience/shopper-experience.raml deleted file mode 100644 index def30b47..00000000 --- a/testIntegration/stagingApis/experience/shopper-experience/shopper-experience.raml +++ /dev/null @@ -1,252 +0,0 @@ -#%RAML 1.0 -title: Shopper Experience -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/experience/shopper-experience/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include shopper-experience-description.md - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - ExperienceTraits: Experience-traits-library.raml - -types: - PageResult: - properties: - data: - description: List of pages. - type: Page[] - displayName: Data - required: true - Page: - properties: - id: - description: Page identifier. - type: string - displayName: ID - required: true - example: homepage - typeId: - description: Page type identifier. - type: string - displayName: Page Type ID - required: true - example: storePage - aspectTypeId: - description: The aspect type assigned to the page. - type: string - displayName: Aspect Type ID - required: false - example: pdpAspect - name: - description: Display name of the page. - type: string - displayName: Page Name - required: false - example: Homepage - description: - description: Description of the page. - type: string - displayName: Page Description - required: false - example: Home page of the storefront. - pageTitle: - description: The SEO title of the page. - type: string - displayName: SEO Title - required: false - example: Homepage - My Shop - pageDescription: - description: The SEO description of the page. - type: string - displayName: SEO Description - required: false - example: Get started shopping - pageKeywords: - description: The SEO keywords of the page. - type: string - displayName: SEO Keywords - required: false - example: fashion, my shop - data: - description: The configuration data assigned to the page. - type: object - displayName: Page Data - required: false - example: { "thumbnail": "myshop.jpg" } - custom: - description: Any custom data added by the custom code for the page type. - type: object - displayName: Custom Page Data - required: false - example: { "thumbnail_full": "http://static.myshop.com/myshop.jpg" } - regions: - description: The regions (and their assigned components) for the page. - type: Region[] - displayName: Regions - required: false - example: !include Examples/storepage-regions-example.raml - Region: - properties: - id: - description: Region identifier. - type: string - displayName: ID - required: true - example: "header" - components: - description: The components in the region. - type: Component[] - displayName: Components - required: false - example: !include Examples/header-components-example.raml - Component: - properties: - id: - description: Component identifier. - type: string - displayName: ID - required: true - example: "rfdvj4ojtltljw3" - typeId: - description: Component type identifier. - type: string - displayName: Component Type ID - required: true - example: "commerce_assets.carousel" - data: - description: The configuration data assigned to the component. - type: object - displayName: Component Data - required: false - example: { "title": "Topseller", "category": "topseller" } - custom: - description: Any custom data added by the custom code for this component. - type: object - displayName: Custom Component Data - required: false - example: { "detailUrl": "www.myshop.com/topseller" } - regions: - description: The regions (and their assigned components) for the component. - type: Region[] - displayName: Regions - required: false - example: !include Examples/carousel-regions-example.raml - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /pages: - get: - displayName: getPages - description: |- - Get Page Designer pages. The results will apply the visibility rules for each page's components, such as personalization or scheduled visibility. - - Either `categoryId` or `productId` must be given in addition to `aspectTypeId`. Because only a single page-to-product and page-to-category assignment per aspect type can be authored today, the returned result contains one element at most. - - **Important**: Currently, the Shopper Experience API can’t be used when the [storefront password protection](https://documentation.b2c.commercecloud.salesforce.com/DOC1/index.jsp?topic=%2Fcom.demandware.dochelp%2Fcontent%2Fb2c_commerce%2Ftopics%2Fpermissions%2Fb2c_storefront_password_protection.html&resultof=%22%73%74%6f%72%65%66%72%6f%6e%74%22%20%22%70%72%6f%74%65%63%74%69%6f%6e%22%20%22%70%72%6f%74%65%63%74%22%20) feature is enabled. - - **Important**: Because this resource uses the GET method, you must not pass sensitive data (payment card information, for example) and must not perform any transactional processes within the server-side scripts that are run for the page and components. - is: - - CommerceCloudStandards.SiteSpecific: - - ExperienceTraits.LocaleSpecific: - - ExperienceTraits.AspectAttributeInvalid - - ExperienceTraits.BusinessObjectIdInvalid - - ExperienceTraits.AspectTypeNotFound - responses: - "200": - description: Success. - body: - application/json: - type: PageResult - queryParameters: - categoryId: - description: Category identifier that is used for searching the page assignment. Must be provided if no `productId` is provided. - maxLength: 256 - type: string - required: false - example: home-clearance - productId: - description: Product identifier that is used for searching the page assignment. Must be provided if no `categoryId` is provided. - maxLength: 256 - type: string - required: false - example: iphone11 - aspectTypeId: - description: Aspect type identifier that is used for searching the page assignment in conjunction with either the `productId` or `categoryId`. - maxLength: 256 - type: string - required: true - example: pdp - aspectAttributes: - description: |- - A JSON respresentation of aspect attributes. Each aspect attribute is a key/value pair. Aspect attributes serve as a runtime parameter contract between caller (for example, this API or the DWScript API) and callee (the page). This parameter must not contain more than 256 characters after URL decoding. - type: string - required: false - example: |- - { - "product" : "iphone11", - "breadcrumbCategory" : "home-clearance" - } - parameters: - description: |- - A free-form definition of parameters that influences the page rendering according to its implementation. This parameter must not contain more than 256 characters after URL decoding. - type: string - required: false - maxLength: 256 - example: "refine=color,size;currency=USD;showNavigation=false" - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-experience] } - uriParameters: - /pages/{pageId}: - get: - displayName: getPage - description: |- - Get a Page Designer page based on a single page ID. The results will apply the visibility rules for the page's components, such as personalization or scheduled visibility. - - **Important**: Currently, the Shopper Experience API can’t be used when the [storefront password protection](https://documentation.b2c.commercecloud.salesforce.com/DOC1/index.jsp?topic=%2Fcom.demandware.dochelp%2Fcontent%2Fb2c_commerce%2Ftopics%2Fpermissions%2Fb2c_storefront_password_protection.html&resultof=%22%73%74%6f%72%65%66%72%6f%6e%74%22%20%22%70%72%6f%74%65%63%74%69%6f%6e%22%20%22%70%72%6f%74%65%63%74%22%20) feature is enabled. - - **Important**: Because this resource uses the GET method, you must not pass sensitive data (payment card information, for example) and must not perform any transactional processes within the server-side scripts that are run for the page and components. - is: - - CommerceCloudStandards.SiteSpecific: - - ExperienceTraits.LocaleSpecific: - - ExperienceTraits.AspectAttributeInvalid - - ExperienceTraits.PageNotFound - responses: - "200": - description: Success. - body: - application/json: - type: Page - queryParameters: - aspectAttributes: - description: |- - A JSON respresentation of aspect attributes. Each aspect attribute is a key/value pair. Aspect attributes serve as a runtime parameter contract between caller (for example, this API or the DWScript API) and callee (the page). This parameter must not contain more than 256 characters after URL decoding. - type: string - required: false - example: |- - { - "product" : "iphone11", - "breadcrumbCategory" : "home-clearance" - } - parameters: - description: |- - A free-form definition of parameters that influences the page rendering according to its implementation. This parameter must not contain more than 256 characters after URL decoding. - type: string - required: false - maxLength: 256 - example: "refine=color,size;currency=USD;showNavigation=false" - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-experience] } - uriParameters: - pageId: - description: Identifier for the requested page. - maxLength: 256 - type: string - example: homepage diff --git a/testIntegration/stagingApis/pricing/assignments/.metadata.json b/testIntegration/stagingApis/pricing/assignments/.metadata.json deleted file mode 100644 index d6a658fc..00000000 --- a/testIntegration/stagingApis/pricing/assignments/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/assignments/1.0.26", - "name": "Assignments", - "description": "Search for promotions associated with campaigns.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "assignments", - "version": "1.0.26", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/pricing/assignments/assignments-description.md b/testIntegration/stagingApis/pricing/assignments/assignments-description.md deleted file mode 100644 index 923e9f6e..00000000 --- a/testIntegration/stagingApis/pricing/assignments/assignments-description.md +++ /dev/null @@ -1,23 +0,0 @@ -# API Overview - -The Assignments API enables you to search for promotions associated with campaigns. - -For more information, see [Campaigns and Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Promotions/CampaignsandPromotions.html) in the Salesforce B2C Commerce Infocenter. - -## Authentication & Authorization - -The client requesting the promotion information must have access to the Promotion resource. The API requests pass a bearer token in the header of the request. The client must first authenticate against Account Manager to log in. - -You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Find All Associated Promotions - -Use the Assignments API to find all associated promotions for a given campaign. - -## Resources - -### PromotionCampaignAssignmentSearchResult - -Details of the Campaign and Promotion assignments. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/assignments.raml b/testIntegration/stagingApis/pricing/assignments/assignments.raml deleted file mode 100644 index 3b059a7a..00000000 --- a/testIntegration/stagingApis/pricing/assignments/assignments.raml +++ /dev/null @@ -1,417 +0,0 @@ -#%RAML 1.0 -title: Assignments -version: v1 -protocols: https -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/pricing/assignments/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -description: !include assignments-description.md - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Campaign: - description: |- - Document representing a campaign. - type: - CommerceCloudStandards.OpenObject - properties: - campaignId: - description: The ID of the campaign. - maxLength: 256 - minLength: 1 - type: string - coupons: - description: The array of assigned coupon IDs, not sorted. - type: array - items: - type: string - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - customerGroups: - description: The array of assigned customer groups, not sorted. - type: array - items: - type: string - required: false - description: - description: The description of the campaign. - maxLength: 4000 - type: string - required: false - enabled: - description: The enabled flag for the campaign. - type: boolean - required: false - endDate: - description: The date that the scenario ends. - type: datetime - required: false - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - sourceCodeGroups: - description: The array of assigned source code groups, not sorted. - type: array - items: - type: string - required: false - startDate: - description: The date that the scenario begins. - type: datetime - required: false - Promotion: - description: |- - Document representing a promotion. Unless otherwise stated, attributes of this document are not supported when using - the Open Commerce API to update multiple promotions at once. - type: - CommerceCloudStandards.OpenObject - properties: - archived: - description: |- - Determines whether or not this promotion is archived. This attribute is allowed to be updated when using the Open - Commerce API to update multiple promotions at once. - type: boolean - required: false - assignmentInformation: - description: Information about the assignments, and assignment schedules, of this promotion. - type: PromotionAssignmentInformation - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - currencyCode: - description: |- - The ISO 4217 mnemonic code of the currency this promotion is restricted to. If not populated, then there is no - currency restriction on the promotion. - maxLength: 3 - type: string - required: false - disableGloballyExcluded: - description: Determines if this promotion ignores the global product exclusions for promotions. - type: boolean - required: false - enabled: - description: |- - Determines if this promotion is enabled. This attribute is allowed to be updated when using the Open - Commerce API to update multiple promotions at once. - type: boolean - required: false - exclusivity: - description: |- - Determines if the promotion can be combined with other promotions of the same promotion class or if it cannot be - combined with any other promotions. This attribute is allowed to be updated when using the Open Commerce API to - update multiple promotions at once. - type: string - enum: - - 'no' - - class - - global - id: - description: The ID for the promotion. - type: string - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - name: - description: The user supplied name of this promotion, which can be localized. - type: object - properties: - //: - type: string - required: false - promotionClass: - description: |- - The class of the promotion. If the promotion class is modified, the promotion rule and all of its values - (such as whether or not to disable global product exclusions) are reset. - type: string - enum: - - product - - shipping - - order - required: false - tags: - description: |- - Returns the list of tags assigned to this promotion. If used to set the tags on a promotion, the promotion has the tags passed in the input. Any existing tags are removed. - type: array - items: - type: Tag - required: false - PromotionAbtestGroupAssignment: - type: - CommerceCloudStandards.ClosedObject - properties: - abtestDescription: - type: string - abtestId: - type: string - enabled: - type: boolean - schedule: - type: Schedule - segmentDescription: - type: string - segmentId: - type: string - PromotionAssignmentInformation: - type: - CommerceCloudStandards.ClosedObject - properties: - abtestId: - description: |- - If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test the segment - belongs to. Otherwise, empty. - type: string - abtestSegmentId: - description: |- - If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test segment. - Otherwise, empty. - type: string - active: - description: True if the individual assignment, or the multiple assignments, are currently active. - type: boolean - activeAbtestAssignments: - description: A list of currently active A/B tests this is assigned to. - type: array - items: - type: PromotionAbtestGroupAssignment - activeCampaignAssignments: - description: A list of currently active campaigns this is assigned to. - type: array - items: - type: PromotionCampaignAssignment - campaignId: - description: If there is only one assignment, and that assignment is a campaign, the ID of the campaign. Otherwise, empty. - type: string - enabled: - type: boolean - endDate: - description: |- - The end date of the container of the assignment (a Campaign or ABTest). If scheduleType is - scheduleType : "multiple" or scheduleType : "none", the result is null. Also, a null - date returns null. - type: datetime - schedule: - description: |- - The schedule of the assignment (a Campaign or ABTest). If scheduleType is - scheduleType : "multiple" or scheduleType : "none", the result is null. - type: Schedule - scheduleType: - description: |- - If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type - of assignment (scheduleType : "campaign" or scheduleType : "abtest"). If there are no - assignments, it is scheduleType : "none", otherwise, scheduleType : "multiple". - type: string - enum: - - none - - campaign - - abtest - - multiple - startDate: - description: |- - The start date of the container of the assignment (a Campaign or ABTest). If scheduleType is - scheduleType : "multiple" or scheduleType : "none", the result is null. Also, a null - date returns null. - type: datetime - upcomingAbtestAssignments: - description: A list of upcoming A/B tests this is assigned to. - type: array - items: - type: PromotionAbtestGroupAssignment - upcomingCampaignAssignments: - description: A list of upcoming campaigns this is assigned to. - type: array - items: - type: PromotionCampaignAssignment - PromotionCampaignAssignment: - type: - CommerceCloudStandards.ClosedObject - description: |- - Document representing a promotion campaign assignment. - properties: - campaign: - description: The campaign. - type: Campaign - campaignId: - description: The ID of the campaign. - maxLength: 256 - minLength: 1 - type: string - coupons: - description: The sorted array of assigned coupon IDs. - type: array - items: - type: string - customerGroups: - description: The sorted array of assigned customer groups. - type: array - items: - type: string - description: - description: The description of the promotion campaign assignment. - maxLength: 4000 - type: string - enabled: - description: True if the assignment resource is enabled. - type: boolean - promotion: - description: The promotion. - type: Promotion - promotionId: - description: The ID of the promotion. - maxLength: 256 - minLength: 1 - type: string - rank: - description: The rank of promotion campaign assignment. - type: integer - format: int32 - minimum: 1 - maximum: 100 - schedule: - description: The schedule of the assignment resource. - type: Schedule - sourceCodeGroups: - description: The sorted array of assigned source code groups. - type: array - items: - type: string - Schedule: - type: - CommerceCloudStandards.ClosedObject - description: |- - Document representing a time schedule for slots. - properties: - endDate: - description: 'The date to end of validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' - type: datetime - recurrence: - description: The recurrence of the schedule by day of week and time of day. Not all schedules support a recurrence. - type: Recurrence - startDate: - description: 'The date to start validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' - type: datetime - Recurrence: - type: - CommerceCloudStandards.ClosedObject - description: |- - Document representing a schedule recurrence. - properties: - dayOfWeek: - description: The days of week for recurrence. - type: array - items: - type: string - enum: - - monday - - tuesday - - wednesday - - thursday - - friday - - saturday - - sunday - timeOfDay: - description: The time of the day for recurrence. - type: TimeOfDay - TimeOfDay: - type: - CommerceCloudStandards.ClosedObject - description: |- - Document representing a time schedule within a single day. - properties: - timeFrom: - description: |- - The time to start from. Time format: HH:mm:ss. Seconds - are ignored and set to 0. - type: string - timeTo: - description: |- - The time to end on. Time format: HH:mm:ss. Seconds - are ignored and set to 0. - type: string - Tag: - type: - CommerceCloudStandards.ClosedObject - description: |- - Document representing a tag. - properties: - tagId: - description: The ID of the tag. - type: string - PromotionCampaignAssignmentSearchResult: - description: Document representing a promotion campaign assignment search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of campaign search hits. Can be empty. - type: PromotionCampaignAssignment[] -'/organizations/{organizationId}/assignments': - type: CommerceCloudStandards.Organization - post: - description: | - Searches for promotion campaign assignments. - - The promotion campaign assignment search document contains a search object that allows filtering on various attributes. - - The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped into different buckets. - - The following is a list of searchable attributes with their corresponding buckets: - - main: - - | Attribute | Type | - |-----------|--------| - | rank| Integer | - | startDate | Date | - | endDate | Date | - - campaign: - - | Attribute | Type | - |-----------|--------| - | campaign| String | - - promotion: - - | Attribute | Type | - |-----------|--------| - | promotionId| String | - | description | String | - | enabled | Boolean | - - special handling: - - | Attribute | Type | - |-----------|--------| - | couponId| String | - - Only fields in the same bucket can be joined using a disjunction (or). For instance, when joining campaignId and rank, only a conjunction (and) is allowed, whereas promotionId and description can be joined to each other using a disjunction because they are in the same bucket. Special handling fields must always use conjunctions. If the field is used in a disjunction that violates this rule, an exception is thrown. - - - Note that only searchable attributes can be used in sorting. - displayName: assignmentsSearch - is: - - CommerceCloudStandards.SiteSpecific - responses: - '200': - description: API Executed Successfully. - body: - application/json: - type: PromotionCampaignAssignmentSearchResult - body: - application/json: - type: CommerceCloudStandards.SearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } diff --git a/testIntegration/stagingApis/pricing/assignments/exchange.json b/testIntegration/stagingApis/pricing/assignments/exchange.json deleted file mode 100644 index 97de630c..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.26", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "assignments.raml", - "backwardsCompatible": false, - "assetId": "assignments", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Assignments", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml deleted file mode 100644 index 3fa2f65e..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml deleted file mode 100644 index 9270d9e3..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml deleted file mode 100644 index 27fa085f..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml +++ /dev/null @@ -1,95 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - 405: - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json deleted file mode 100644 index 75652f8c..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.12","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml deleted file mode 100644 index b616b750..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml deleted file mode 100644 index fa1a4f62..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 86f76c76..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index f29a317f..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 9517ea0e..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml deleted file mode 100644 index b00dcea6..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml deleted file mode 100644 index 5f1a0bcb..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`ShopperTokenTsob`:** a security scheme for endpoints that only allow the ShopperTokenTsob token type (tsob = Trusted system on behalf). - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json deleted file mode 100644 index 89dcc88a..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.20"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/pricing/assignments/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/.metadata.json b/testIntegration/stagingApis/pricing/campaigns/.metadata.json deleted file mode 100644 index 910d60f8..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/campaigns/1.0.28", - "name": "Campaigns", - "description": "Utilize campaign experiences for your customers.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "campaigns", - "version": "1.0.28", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/pricing/campaigns/Examples/get-campaign-example.raml b/testIntegration/stagingApis/pricing/campaigns/Examples/get-campaign-example.raml deleted file mode 100644 index 7e678dc0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/Examples/get-campaign-example.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "campaignId": "NewYearCampaign", - "coupons": [ - "20%offOrdersAbove100", - "10%offties" - ], - "creationDate": "2019-10-03T19:36:56.000Z", - "customerGroups": [ - "Registered" - ], - "description": "Campaign for the New Year", - "enabled": true, - "endDate": "2020-07-31T23:09:08.000Z", - "lastModified": "2019-10-10T14:27:00.867Z", - "sourceCodeGroups": [ - "affiliate-email", - "gaming-email" - ], - "startDate": "2019-04-01T11:30:15.000Z" -} diff --git a/testIntegration/stagingApis/pricing/campaigns/Examples/patch-campaign-request.raml b/testIntegration/stagingApis/pricing/campaigns/Examples/patch-campaign-request.raml deleted file mode 100644 index 13c6db45..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/Examples/patch-campaign-request.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "description" : "Thanksgiving campaign enabling special promotions", - "enabled" : true, - "coupons": [ - "thanksgiving", - "special" - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/Examples/patch-campaign-response.raml b/testIntegration/stagingApis/pricing/campaigns/Examples/patch-campaign-response.raml deleted file mode 100644 index e5c466b1..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/Examples/patch-campaign-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "campaignId": "ThanksgivingCampaign", - "coupons": [ - "special", - "thanksgiving" - ], - "creationDate": "2019-10-03T19:36:56.000Z", - "customerGroups": [ - "Registered" - ], - "description": "Thanksgiving campaign enabling special promotions", - "enabled": true, - "endDate": "2020-07-31T23:09:08.000Z", - "lastModified": "2019-10-10T14:52:47.356Z", - "sourceCodeGroups": [ - "affiliate-email", - "gaming-email" - ], - "startDate": "2019-04-01T11:30:15.000Z" -} diff --git a/testIntegration/stagingApis/pricing/campaigns/Examples/post_campaign_search_200.raml b/testIntegration/stagingApis/pricing/campaigns/Examples/post_campaign_search_200.raml deleted file mode 100644 index 50fcc435..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/Examples/post_campaign_search_200.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 NamedExample -postCampaignSearch200: - { - "limit": 2, - "hits": [ - { - "campaignId": "mens-clothing-dress-shirts", - "creationDate": "2019-11-06T21:12:35.000Z", - "customerGroups": [ - "Everyone" - ], - "description": "This a campaign for the Mens Dress Shirts Category offering a specific banner as well as a 20% off dress shirts promotion, and a custom sort rule of product name ascending", - "enabled": false, - "lastModified": "2019-11-06T21:12:35.000Z" - }, - { - "campaignId": "mens-clothing-suits", - "creationDate": "2019-11-06T21:12:35.000Z", - "customerGroups": [ - "Everyone" - ], - "description": "This is a campaign that displays a landing banner, with a 25% discount on all suits and default sorting rule of top selling suits.", - "enabled": false, - "lastModified": "2019-11-06T21:12:35.000Z" - } - ], - "query": { - "textQuery": { - "fields": [ - "id", - "description" - ], - "searchPhrase": "campaign" - } - }, - "offset": 1, - "total": 4 -} diff --git a/testIntegration/stagingApis/pricing/campaigns/Examples/post_campaign_search_400.raml b/testIntegration/stagingApis/pricing/campaigns/Examples/post_campaign_search_400.raml deleted file mode 100644 index bced6834..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/Examples/post_campaign_search_400.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -post_campaign_search_400: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "detail": "Failed to execute search query: wrong syntax.", - "title": "Incorrect Syntax" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/Examples/put-campaign-request.raml b/testIntegration/stagingApis/pricing/campaigns/Examples/put-campaign-request.raml deleted file mode 100644 index 356618b0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/Examples/put-campaign-request.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "campaignId": "NewWinterCampaign", - "coupons": [ - "WinterSpecial" - ], - "creationDate": "2019-10-03T19:36:56.000Z", - "customerGroups": [ - "Registered" - ], - "description": "Campaign for winter specials", - "enabled": true, - "endDate": "2020-07-31T23:09:08.000Z", - "lastModified": "2019-10-10T14:52:47.356Z", - "startDate": "2019-04-01T11:30:15.000Z" -} diff --git a/testIntegration/stagingApis/pricing/campaigns/Examples/put-campaign-response.raml b/testIntegration/stagingApis/pricing/campaigns/Examples/put-campaign-response.raml deleted file mode 100644 index 356618b0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/Examples/put-campaign-response.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "campaignId": "NewWinterCampaign", - "coupons": [ - "WinterSpecial" - ], - "creationDate": "2019-10-03T19:36:56.000Z", - "customerGroups": [ - "Registered" - ], - "description": "Campaign for winter specials", - "enabled": true, - "endDate": "2020-07-31T23:09:08.000Z", - "lastModified": "2019-10-10T14:52:47.356Z", - "startDate": "2019-04-01T11:30:15.000Z" -} diff --git a/testIntegration/stagingApis/pricing/campaigns/Traits/CampaignDuplicateExceptionTrait.raml b/testIntegration/stagingApis/pricing/campaigns/Traits/CampaignDuplicateExceptionTrait.raml deleted file mode 100644 index 28b7263a..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/Traits/CampaignDuplicateExceptionTrait.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response for a duplicate campaign in the Data Campaigns API. -responses: - 400: - description: - Thrown if a campaign exists already in the site with the given campaign ID. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/campaign-duplicate", - "detail": "The campaign couldn't be created because of duplicate ID 'CampaignXYZ'.", - "title": "Duplicate Error" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/Traits/CampaignNotFoundExceptionTrait.raml b/testIntegration/stagingApis/pricing/campaigns/Traits/CampaignNotFoundExceptionTrait.raml deleted file mode 100644 index d5c6afa6..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/Traits/CampaignNotFoundExceptionTrait.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in the Data Campaigns API. -responses: - 404: - description: - Thrown when there is no campaign found with the given ID for the requested site. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/campaign-not-found", - "detail": "No campaign with ID 'SpecialCampaign' in site 'SiteGenesis' could be found.", - "title": "Not Found Error" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/Traits/IdConflictExceptionTrait.raml b/testIntegration/stagingApis/pricing/campaigns/Traits/IdConflictExceptionTrait.raml deleted file mode 100644 index 1ec2a02d..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/Traits/IdConflictExceptionTrait.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response for an ID conflict for campaign in the Data Campaigns API. -responses: - 400: - description: - Thrown if the ID in request is not the same as the ID in document. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/id-conflict", - "detail": "The ID in the request body ('CampaignXYZ') doesn't match the ID in the URL ('NewWinterCampaign')", - "title": "Duplicate Error" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/campaigns-description.md b/testIntegration/stagingApis/pricing/campaigns/campaigns-description.md deleted file mode 100644 index 4d8d207f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/campaigns-description.md +++ /dev/null @@ -1,49 +0,0 @@ -# API Overview - -Campaigns enable experiences based on an optional schedule and qualifying criteria. -When an experience is assigned to a campaign, the schedule and qualifiers can only refine those of the containing campaign. A campaign is defined in the context of a site and is not shared among sites. A campaign can be enabled or disabled. A disabled campaign is inactive and not available to consumers. Enabled promotions contained within a disabled campaign are also inactive. - -## Qualifiers - -Qualifiers are requirements that must be met to enable a campaign's experience. - -- Schedule: A start and end time and date. This can be open ended at one or both ends. -- Coupon: A coupon -- Customer Group: Membership in a customer group. -- Source Code: A code attached to the site URL used to identify where the customer was redirected from. - -For more details, see [Qualifiers](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_qualifiers.html) on the Salesforce B2C Commerce Infocenter. - -## Experiences - -Promotion: A monetary discount or bonus item. Promotions can have additional criteria such as quantity or number of products gating the discount. - -## Authentication & Authorization - -The client requesting the campaign information must have access to the Campaign resource. The API requests pass a bearer token in the header of the request. The client must first authenticate against Account Manager to log in. - -You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Flash Sales - -Single date promotions can be used when you want to run a campaign only for a short period of time. -For example, a '20% Off Black Friday' campaign enables a 20% off promotion for registered customers on Black Friday. - -### No Date or Time Restrictions - -Promotions can also be configured with no time or date restrictions. This is useful when running coupon-coded promotions, or qualifier based promotions that require certain criteria to be met. -For example, a 'Free Shipping' campaign enables a free shipping promotion when the coupon code "freeship" is added to the cart. - -### Redirections - -Redirection promotions can be used to trigger a promotion when a customer arrives at the storefront from a specific location. You may want to use this when partnering with other resources or running external advertisements. -For example, all users directed from Facebook receive a free hat with purchase. -For more information, see [Use Source Codes as Qualifiers](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_using_source_codesas_qualifiers.html) in the Salesforce B2C Commerce Infocenter. - -## Resources - -### Campaign - -Details of the campaign including the schedule, qualifiers, and experiences. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/campaigns-traits-library.raml b/testIntegration/stagingApis/pricing/campaigns/campaigns-traits-library.raml deleted file mode 100644 index c343b1f7..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/campaigns-traits-library.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml -types: - ErrorResponse: ApiStandards.ErrorResponse - -traits: - CampaignDuplicate: !include Traits/CampaignDuplicateExceptionTrait.raml - CampaignNotFound: !include Traits/CampaignNotFoundExceptionTrait.raml - IdConflict: !include Traits/IdConflictExceptionTrait.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/campaigns.raml b/testIntegration/stagingApis/pricing/campaigns/campaigns.raml deleted file mode 100644 index 89fa50ce..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/campaigns.raml +++ /dev/null @@ -1,214 +0,0 @@ -#%RAML 1.0 -title: Campaigns -version: v1 -protocols: https -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/pricing/campaigns/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -description: !include campaigns-description.md - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - CampaignsTraits: campaigns-traits-library.raml - -types: - CampaignSearchResult: - description: Document representing a campaign search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of campaign search hits. Can be empty. - type: Campaign[] - Campaign: - description: |- - Document representing a campaign. - type: - CommerceCloudStandards.OpenObject - properties: - campaignId: - description: The ID of the campaign. - maxLength: 256 - minLength: 1 - type: string - required: false - example: NewYearCampaign - coupons: - description: The array of assigned coupon IDs, not sorted. - type: array - items: - type: string - example: - - 20%offOrder - - 10%offWelcomeNewUser - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - example: 2019-10-03T19:36:56.000Z - required: false - customerGroups: - description: The array of assigned customer groups, not sorted. - type: array - items: - type: string - example: - - BigShoppers - - NorthAmericanShoppers - required: false - description: - description: The description of the campaign. - maxLength: 4000 - type: string - required: false - enabled: - description: The enabled flag for campaign. - type: boolean - example: true - required: false - endDate: - description: The date the scenario ends. - type: datetime - required: false - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - example: 2019-10-03T19:36:56.000Z - required: false - sourceCodeGroups: - description: The array of assigned source code groups, not sorted. - type: array - items: - type: string - example: - - affiliate-email - - gaming-email - required: false - startDate: - description: The date the scenario begins. - type: datetime - example: 2019-10-03T19:36:56.000Z - required: false - siteId?: CommerceCloudStandards.SiteId -'/organizations/{organizationId}/campaigns': - type: CommerceCloudStandards.Organization - is: - - CommerceCloudStandards.SiteSpecific - post: - description: |- - Searches for campaigns using a search request object that allows filtering on various attributes. - - ## Supported Query Attributes - - The query attribute specifies a complex query that can be used to narrow down the search. A subset of these can optionally be used to sort the returned results. - - | Attribute | Type | Sortable | - |-----------|--------|----------| - | campaignId | String | yes | - | description | String | yes | - | enabled | Boolean | yes | - | couponId | String | no | - | customerGroup | String | no | - | sourceCode | String | no | - | startDate | Date | no | - | endDate | Date | no | - | lastModified | Date | no | - - These fields can only be used in queries as conjunctions (using `AND`). If the field is used in a disjunction (`OR`), an exception is thrown. - displayName: campaignsSearch - responses: - '200': - description: API Executed Successfully. - body: - application/json: - type: CampaignSearchResult - examples: !include Examples/post_campaign_search_200.raml - '400': - description: Thrown if the query is ill-formed. - body: - application/json: - type: ApiStandards.ErrorResponse - examples: - !include Examples/post_campaign_search_400.raml - body: - application/json: - type: CommerceCloudStandards.SearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - '/{campaignId}': - uriParameters: - campaignId: - description: The ID of the campaign. - minLength: 1 - type: string - example: ThanksGivingCampaign - is: - - CommerceCloudStandards.SiteSpecific - delete: - description: Deletes the campaign by ID. - displayName: deleteCampaign - responses: - '204': - description: Campaign deleted successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - get: - description: Action to get campaign information. - displayName: getCampaign - is: - - CampaignsTraits.CampaignNotFound - responses: - '200': - description: Campaign is retrieved successfully. - body: - application/json: - type: Campaign - examples: - campaignGetResponse: !include Examples/get-campaign-example.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - patch: - description: Updates the campaign with the specified information. - displayName: updateCampaign - is: - - CampaignsTraits.CampaignNotFound - - CampaignsTraits.CampaignDuplicate - responses: - '200': - description: Campaign is updated successfully. - body: - application/json: - type: Campaign - examples: - campaignPatchResponse: !include Examples/patch-campaign-response.raml - body: - application/json: - type: Campaign - examples: - campaignPatchRequest: !include Examples/patch-campaign-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - put: - description: Creates a campaign using the information provided. - displayName: createCampaign - is: - - CampaignsTraits.IdConflict - responses: - '200': - description: Campaign is created successfully. - body: - application/json: - type: Campaign - examples: - campaignPutResponse: !include Examples/put-campaign-response.raml - body: - application/json: - type: Campaign - examples: - campaignPutRequest: !include Examples/put-campaign-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange.json b/testIntegration/stagingApis/pricing/campaigns/exchange.json deleted file mode 100644 index c88f93f9..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.28", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "campaigns.raml", - "backwardsCompatible": false, - "assetId": "campaigns", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Campaigns", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml deleted file mode 100644 index 3fa2f65e..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml deleted file mode 100644 index 9270d9e3..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml deleted file mode 100644 index 27fa085f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml +++ /dev/null @@ -1,95 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - 405: - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json deleted file mode 100644 index 75652f8c..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.12","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml deleted file mode 100644 index b616b750..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml deleted file mode 100644 index fa1a4f62..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 86f76c76..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index f29a317f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 9517ea0e..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml deleted file mode 100644 index b00dcea6..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml deleted file mode 100644 index 5f1a0bcb..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`ShopperTokenTsob`:** a security scheme for endpoints that only allow the ShopperTokenTsob token type (tsob = Trusted system on behalf). - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json deleted file mode 100644 index 89dcc88a..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.20"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/pricing/campaigns/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/.metadata.json b/testIntegration/stagingApis/pricing/coupons/.metadata.json deleted file mode 100644 index 195de24b..00000000 --- a/testIntegration/stagingApis/pricing/coupons/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/coupons/1.0.30", - "name": "Coupons", - "description": "Manage coupons for use in your storefront.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "coupons", - "version": "1.0.30", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/pricing/coupons/Examples/coupon_codes_data_example.raml b/testIntegration/stagingApis/pricing/coupons/Examples/coupon_codes_data_example.raml deleted file mode 100644 index 13113d3f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/Examples/coupon_codes_data_example.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - { - "code": "Code1", - "issued": false, - "redemptionCount": 0 - } - ] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/Examples/coupons_data_example.raml b/testIntegration/stagingApis/pricing/coupons/Examples/coupons_data_example.raml deleted file mode 100644 index a9925206..00000000 --- a/testIntegration/stagingApis/pricing/coupons/Examples/coupons_data_example.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - { - "couponId":"CouponA", - "creationDate":"2019-10-25T12:00:00Z", - "description":"A Coupon", - "enabled":false, - "exportedCodeCount":0, - "lastModified":"2019-10-25T12:00:00Z", - "redemptionCount":0, - "redemptionLimits":{ - "limitPerCode":0, - "limitPerCustomer":0, - "limitPerTimeFrame":{ - "redemptionTimeFrame":0, - "limit":0 - } - }, - "singleCode":"MyCode", - "totalCodesCount":1, - "type":"single_code" - } - ] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/Examples/get_sites_siteid_coupons_couponid_codes.raml b/testIntegration/stagingApis/pricing/coupons/Examples/get_sites_siteid_coupons_couponid_codes.raml deleted file mode 100644 index b76b8806..00000000 --- a/testIntegration/stagingApis/pricing/coupons/Examples/get_sites_siteid_coupons_couponid_codes.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 3, - "offset": 0, - "total": 50, - "data": [ - { - "code": "CodeA", - "issued": false, - "redemptionCount": 0 - }, - { - "code": "CodeB", - "issued": false, - "redemptionCount": 0 - }, - { - "code": "CodeC", - "issued": false, - "redemptionCount": 0 - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/Examples/patch_sites_siteid_coupons_couponid_400.raml b/testIntegration/stagingApis/pricing/coupons/Examples/patch_sites_siteid_coupons_couponid_400.raml deleted file mode 100644 index 19a8b7df..00000000 --- a/testIntegration/stagingApis/pricing/coupons/Examples/patch_sites_siteid_coupons_couponid_400.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-update-read-only", - "title": "Coupon Update Read Only", - "detail": "The coupon field 'system_codes_config/coupon_code_prefix' in coupon 'foo' can't be updated. Once a coupon is redeemed or exported, certain fields can no longer be edited.", - "couponId": "foo", - "field": "system_codes_config/coupon_code_prefix" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/Examples/patch_sites_siteid_coupons_couponid_403.raml b/testIntegration/stagingApis/pricing/coupons/Examples/patch_sites_siteid_coupons_couponid_403.raml deleted file mode 100644 index 7dd4238b..00000000 --- a/testIntegration/stagingApis/pricing/coupons/Examples/patch_sites_siteid_coupons_couponid_403.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-legacy-update-forbidden", - "title": "Coupon Legacy Update Forbidden", - "detail": "The coupon 'foo' can't be modified because it was created before Release 16.7.2. Customers can still redeem this coupon code on the Storefront.", - "couponId": "foo" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/Examples/post_sites_siteid_coupons_actions_redeem_400.raml b/testIntegration/stagingApis/pricing/coupons/Examples/post_sites_siteid_coupons_actions_redeem_400.raml deleted file mode 100644 index 255de868..00000000 --- a/testIntegration/stagingApis/pricing/coupons/Examples/post_sites_siteid_coupons_actions_redeem_400.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-code-not-redeemable", - "title": "Coupon Code Not Redeemable", - "detail": "The coupon code 'CODE374' in site 'RefArch' is not redeemable because 'COUPON_DISABLED'.", - "errorCode": "COUPON_DISABLED", - "couponCode": "CODE374", - "siteId": "RefArch" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/Examples/post_sites_siteid_coupons_actions_redeem_404.raml b/testIntegration/stagingApis/pricing/coupons/Examples/post_sites_siteid_coupons_actions_redeem_404.raml deleted file mode 100644 index 92678941..00000000 --- a/testIntegration/stagingApis/pricing/coupons/Examples/post_sites_siteid_coupons_actions_redeem_404.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-not-found", - "title": "Coupon Not Found", - "detail": "No coupon for the given coupon code 'CODE374' and site 'RefArch' could be found.", - "couponCode": "CODE374", - "siteId": "RefArch" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/Examples/post_sites_siteid_coupons_couponid_codes_400.raml b/testIntegration/stagingApis/pricing/coupons/Examples/post_sites_siteid_coupons_couponid_codes_400.raml deleted file mode 100644 index 3a550b1f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/Examples/post_sites_siteid_coupons_couponid_codes_400.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-code-create", - "title": "Coupon Code Create", - "detail": "The coupon code 'bar' couldn't be created. Please make sure the code is valid.", - "couponCode": "bar" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid.raml b/testIntegration/stagingApis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid.raml deleted file mode 100644 index 4fec6a01..00000000 --- a/testIntegration/stagingApis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.\n", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 0, - "limitPerCustomer": 0, - "limitPerTimeFrame": { - "redemptionTimeFrame": 24, - "limit": 1 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 50000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid_400.raml b/testIntegration/stagingApis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid_400.raml deleted file mode 100644 index cef3c08c..00000000 --- a/testIntegration/stagingApis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid_400.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-code-duplicate", - "title": "Coupon Code Duplicate", - "detail": "The coupon code 'bar' is already used in coupon 'foo'. Please make sure the code is unique.", - "couponId": "foo", - "couponCode": "bar" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid_403.raml b/testIntegration/stagingApis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid_403.raml deleted file mode 100644 index 8897649b..00000000 --- a/testIntegration/stagingApis/pricing/coupons/Examples/put_sites_siteid_coupons_couponid_403.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/site-access-forbidden", - "title": "Site Access Forbidden", - "detail": "Site-specific access via '/s/RefArch/' isn't allowed. Organization-specific access is expected via '/s/-/'.", - "siteId": "RefArch" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/Examples/redeem_coupon_code.raml b/testIntegration/stagingApis/pricing/coupons/Examples/redeem_coupon_code.raml deleted file mode 100644 index 1d9642e7..00000000 --- a/testIntegration/stagingApis/pricing/coupons/Examples/redeem_coupon_code.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "code": "Code1", - "customerEmail": "shopper@salesforce-test.com", - "orderNo": "00023120@store4" - } - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/Traits/CouponNotFound.raml b/testIntegration/stagingApis/pricing/coupons/Traits/CouponNotFound.raml deleted file mode 100644 index 8fb66d30..00000000 --- a/testIntegration/stagingApis/pricing/coupons/Traits/CouponNotFound.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in the Data Coupons API. - -responses: - 404: - description: | - Thrown if the coupon does not exist matching the given ID. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/coupon-not-found", - "title": "Coupon Not Found", - "detail": "No coupon with ID 'foo' for site 'RefArch' could be found.", - "couponId": "foo", - "siteId": "RefArch" - } diff --git a/testIntegration/stagingApis/pricing/coupons/coupons-description.md b/testIntegration/stagingApis/pricing/coupons/coupons-description.md deleted file mode 100644 index f8c25234..00000000 --- a/testIntegration/stagingApis/pricing/coupons/coupons-description.md +++ /dev/null @@ -1,43 +0,0 @@ -# API Overview - -The Coupons API lets you create, modify, retrieve, and delete coupons for a given channel. It also allows you to create and retrieve coupon codes by the couponID. - -Coupons _must_ be added as a qualifier to a campaign before they can be used. - -For more information, see [Using Coupons as Qualifiers](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Promotions/UsingCouponsasQualifiers.html) in the Salesforce B2C Commerce Infocenter. - -## Authentication & Authorization - -The client requesting the coupon's information must have access to the Coupon resource. The API requests pass a bearer token in the header of the request. The client must first authenticate against Account manager to log in. - -You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Single-Use Coupon - -Single-use coupons are your standard coupon that can only be used once per customer. - -For example, use the Coupons API to create a coupon that can be applied only once per order per customer and has a single coupon code. - -### Multiple-Use Coupon - -A multiple-use coupon can be used any number of times, by any number of customers. - -For example, use the Coupons API to create a coupon that can be applied once per order and has system-generated codes. - -### Search Coupon - -Use the Coupons API to search for coupons using simple or complex querying. - -### Search Coupon Redemptions - -Use the Coupons API to search for coupons redemptions using simple or complex querying. - -For more detail, see [Coupon Redemption](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Coupons/CouponRedemption.html) in the Salesforce B2C Commerce Infocenter. - -## Resources - -### Coupons - -Details of the coupon including redemption limit, redemption count, and the type of the coupon. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/coupons-traits-library.raml b/testIntegration/stagingApis/pricing/coupons/coupons-traits-library.raml deleted file mode 100644 index c96329f7..00000000 --- a/testIntegration/stagingApis/pricing/coupons/coupons-traits-library.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 Library -usage: Traits for fault responses for the Data Coupons - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -traits: - CouponNotFound: !include Traits/CouponNotFound.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/coupons.raml b/testIntegration/stagingApis/pricing/coupons/coupons.raml deleted file mode 100644 index da6ca484..00000000 --- a/testIntegration/stagingApis/pricing/coupons/coupons.raml +++ /dev/null @@ -1,524 +0,0 @@ -#%RAML 1.0 -title: Coupons -version: v1 -protocols: - - HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/pricing/coupons/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include coupons-description.md -mediaType: application/json - -uses: - CouponTraits: coupons-traits-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Coupon: - description: |- - Document representing a coupon. - type: - CommerceCloudStandards.ClosedObject - properties: - couponId: - description: The ID of the coupon. - maxLength: 256 - minLength: 1 - type: string - example: MyCoupon - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - example: 2019-10-20T12:00:00Z - required: false - description: - description: The description of the coupon. - maxLength: 4000 - type: string - required: false - example: | - This coupon is used to give 10% off stuff. - enabled: - description: A flag indicating whether the coupon is enabled. - type: boolean - example: false - exportedCodeCount: - description: The number of coupon codes attached to the coupon that have been issued (read only). - type: integer - format: int32 - example: - 0 - required: false - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - example: 2019-10-30T04:23:59Z - required: false - redemptionCount: - description: The number of times the coupon has been redeemed (read only). The count is updated once per hour. - type: integer - format: int32 - example: 3 - required: false - redemptionLimits: - description: The redemption limit per coupon code. - type: RedemptionLimits - required: false - example: - limitPerCode: 1 - limitPerCustomer: 1 - limitPerTimeFrame: - limit: 2 - redemptionTimeFrame: 24 - singleCode: - description: Single coupon code, only valid for Single Code type. - maxLength: 256 - minLength: 1 - type: string - required: false - example: MyCode - systemCodesConfig: - description: The configuration of system coupon codes, including prefix and number of codes. - type: CouponSystemCodeConfig - required: false - example: - codePrefix: SG - numberOfCodes: 500000 - totalCodesCount: - description: The total number of coupon codes associated with this coupon (read only). The count is updated once per hour. - type: integer - format: int32 - required: false - example: 50 - type: - description: The type of coupon code. - type: string - enum: - - single_code - - multiple_codes - - system_codes - example: single_code - CouponCode: - description: |- - A coupon code with accompanying stats for redemptions and issues. - type: - CommerceCloudStandards.ClosedObject - properties: - code: - description: The code used to redeem the coupon. - type: string - example: MyCode - issued: - description: Flag indicating if the coupon code has been issued. - type: boolean - example: true - redemptionCount: - description: The count of the number of redemptions associated with the code. - type: integer - format: int32 - example: 1 - CouponCodes: - description: |- - Document representing a set of coupon codes. - type: - CommerceCloudStandards.ClosedObject - properties: - limit?: ApiStandards.Limit - data: - description: The collection of coupon codes. - type: array - example: !include Examples/coupon_codes_data_example.raml - items: - type: CouponCode - offset?: ApiStandards.Offset - total: - description: The total number of documents. - type: integer - format: int32 - example: 50 - CouponMultiCodesRequest: - description: |- - A request object to add and remove coupon codes from a document. - type: - CommerceCloudStandards.ClosedObject - properties: - codes: - description: The list of coupon codes to add or delete. - type: array - example: ["CodeA","CodeB"] - items: - type: string - CouponSystemCodeConfig: - type: - CommerceCloudStandards.ClosedObject - properties: - codePrefix: - description: The code prefix for system-generated coupon codes. - type: string - example: "SG" - numberOfCodes: - description: The number of system coupon codes that can be issued. - type: integer - format: int32 - example: 50000 - RedemptionLimitPerPeriod: - description: |- - Document representing a coupon redemption limit. - type: - CommerceCloudStandards.ClosedObject - properties: - limit: - description: The limit on the number of times a coupon can be redeemed for a specified redemption time period. - minimum: 0 - type: integer - format: int32 - example: 1 - redemptionTimeFrame: - description: The redemption time period. - maximum: 999 - minimum: 0 - type: integer - format: int32 - example: 24 - RedemptionLimits: - description: |- - Document representing a coupon. - type: - CommerceCloudStandards.ClosedObject - properties: - limitPerCode: - description: The redemption limit per code. - minimum: 0 - type: integer - format: int32 - example: 0 - limitPerCustomer: - description: The redemption limit per customer. - minimum: 0 - type: integer - format: int32 - example: 0 - limitPerTimeFrame: - description: The redemption limit per time frame. - type: RedemptionLimitPerPeriod - example: - redemptionTimeFrame: 24 - limit: 1 - CouponRedemption: - description: |- - A redemption record returned from the coupon redemption resources. - type: - CommerceCloudStandards.ClosedObject - properties: - code: - description: The coupon code that was redeemed. - type: string - couponId: - description: The coupon id that was redeemed. - type: string - creationDate: - description: Date when the redemption was created. - type: datetime - customerEmail: - description: The customer email that was used to redeem it. - type: string - orderNo: - description: The order number where the redemption occurred. - type: string - viewOrderUrl: - description: A URL able to access the order. - type: string - CouponSearchResult: - description: Document representing a coupon search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of coupon search hits. Can be empty. - type: Coupon[] - CouponRedemptionSearchResult: - description: The result of the coupon redemption search. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The array of coupon redemption search hits. Can be empty. - type: CouponRedemption[] - CouponCodeRedemptionRequest: - description: |- - Document representing a request to redeem a coupon. - type: - CommerceCloudStandards.ClosedObject - properties: - code: - description: The coupon code to redeem. - type: string - example: Code1 - customerEmail?: - description: The customer email to use on the redemption. - type: string - example: shopper@salesforce-test.com - orderNo: - description: | - The order number to use on the redemption. In case the coupon - was redeemed externally and no order number is associated, use - a reference id or custom string to identify the source of the - redemption. - type: string - example: 00023120@store4 - -'/organizations/{organizationId}/coupons': - type: CommerceCloudStandards.Organization - is: - - CommerceCloudStandards.SiteSpecific - post: - description: |- - Searches for coupons. - - The Coupon Search document contains a search object that allows filtering on various attributes. - - The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: - - | Attribute | Type | - |-----------|--------| - | couponId| String | - | description | String | - | type | one of {"single_code", "multiple_codes", "system_codes"} | - | enabled | Boolean | - - Note that only searchable attributes can be used in sorting. - displayName: couponsSearch - responses: - '200': - description: API executed Successfully. - body: - application/json: - type: CouponSearchResult - '400': - description: Thrown if the query is ill-formed. - body: - application/json: - type: CommerceCloudStandards.SearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - '/redemptions': - is: - - CommerceCloudStandards.SiteSpecific - post: - description: |- - Searches for coupon redemptions. - - The Coupon Redemption Search document contains a search object that allows filtering on various attributes. - - - The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: - - | Attribute | Type | - |-----------|--------| - | code| String | - | couponId | String | - | customerEmail | String | - | orderNo | String | - - Note that only searchable attributes can be used in sorting. - - If the user role does not have the `View_Coupon_Codes` permission, then the coupon codes returned are masked. - displayName: couponRedemptionsSearch - responses: - '200': - description: API executed Successfully. - body: - application/json: - type: CouponRedemptionSearchResult - '400': - description: Thrown if the query is ill-formed. - body: - application/json: - type: CommerceCloudStandards.SearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - '/actions/redeem': - is: - - CommerceCloudStandards.SiteSpecific - post: - description: |- - Redeems a coupon code for an existing coupon within the selected site. - The coupon code must be redeemable. - --- - ***Note: Coupon redemptions are evaluated during checkout. A large number of coupon redemptions negatively impacts order creation performance and scale.*** - 1. Avoid importing unnecessary coupon redemptions. - 2. Clean up coupon codes and related redemptions when they are no longer required. - --- - displayName: redeemCoupon - body: - application/json: - type: CouponCodeRedemptionRequest - example: !include Examples/redeem_coupon_code.raml - responses: - '201': - description: | - Coupon was redeemed successfully and a redemption record created. - '400': - description: | - Thrown if the coupon code can not redeemed, e.g. disabled, - already redeemed, redemption limit (maximum number or timeframe) - exceeded or it has no active promotion assigned. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/post_sites_siteid_coupons_actions_redeem_400.raml - '404': - description: | - Thrown if the site does not contain a coupon, which - defines the coupon code requested to be redeemed. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/post_sites_siteid_coupons_actions_redeem_404.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - '/{couponId}': - is: - - CommerceCloudStandards.SiteSpecific - delete: - description: Delete a coupon by ID. - displayName: deleteCoupon - responses: - '204': - description: API returned successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - get: - description: |- - Returns coupon information for the given coupon ID. - If the user role does not have the View_Coupon_Codes permission, then the coupon codes returned are masked. - displayName: getCoupon - is: - - CouponTraits.CouponNotFound - responses: - '200': - description: API returned successfully. - body: - application/json: - type: Coupon - example: !include Examples/put_sites_siteid_coupons_couponid.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - patch: - description: Updates the coupon with the specified information. - displayName: updateCoupon - responses: - '200': - description: API returned successfully. - body: - application/json: - type: Coupon - example: !include Examples/put_sites_siteid_coupons_couponid.raml - '400': - description: |- - Thrown if you try to update certain fields in a coupon after - redeeming it, exporting it, if the code provided is in use by another coupon, or whenever a quota regarding system-generated coupons is violated. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/patch_sites_siteid_coupons_couponid_400.raml - '403': - description: Thrown when trying to update a broken coupon that should be deleted and re-created, or when trying to update a legacy coupon. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/patch_sites_siteid_coupons_couponid_403.raml - body: - application/json: - type: Coupon - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - put: - description: |- - Creates a coupon using the information provided. If a coupon exists with the same unique identifier, - the coupon is replaced completely. - displayName: createCoupon - responses: - '200': - description: API returned successfully. - body: - application/json: - type: Coupon - example: !include Examples/put_sites_siteid_coupons_couponid.raml - '400': - description: |- - Thrown if the coupon passed in is not valid (the argument indicates - the field that was invalid), if the code provided is in use by another coupon, if a single code coupon does not set the coupon code properly, if the ID in request is not the same as the ID in document, or whenever a quota regarding system-generated coupons is violated. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/put_sites_siteid_coupons_couponid_400.raml - '403': - description: Thrown if the resource requires global instead of site-specific context. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/put_sites_siteid_coupons_couponid_403.raml - body: - application/json: - type: Coupon - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - uriParameters: - couponId: - description: The ID of the coupon to create. - minLength: 1 - type: string - example: MyCoupon - '/codes': - is: - - CommerceCloudStandards.SiteSpecific - get: - description: |- - Get the coupon codes for the given coupon. - - If the user role does not have the View_Coupon_Codes permission, then the coupon codes returned are masked. - displayName: getCouponCodes - is: - - CouponTraits.CouponNotFound - - ApiStandards.OffsetPaginated: - maxLimit: 200 - defaultSize: 25 - responses: - '200': - description: API returned successfully. - body: - application/json: - type: CouponCodes - example: !include Examples/get_sites_siteid_coupons_couponid_codes.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - post: - description: Add or delete (modify) multiple codes to and from the supplied coupon. - displayName: updateCouponCodes - is: - - CouponTraits.CouponNotFound - responses: - '204': - description: API returned successfully. - '400': - description: Thrown if the coupon code could not be created. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/post_sites_siteid_coupons_couponid_codes_400.raml - queryParameters: - delete: - description: Pass as true to delete the passed codes. - type: boolean - default: false - required: false - example: true - body: - application/json: - type: CouponMultiCodesRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange.json b/testIntegration/stagingApis/pricing/coupons/exchange.json deleted file mode 100644 index 5b505603..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.30", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "coupons.raml", - "backwardsCompatible": false, - "assetId": "coupons", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Coupons", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml deleted file mode 100644 index 3fa2f65e..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml deleted file mode 100644 index 9270d9e3..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml deleted file mode 100644 index 27fa085f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml +++ /dev/null @@ -1,95 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - 405: - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json deleted file mode 100644 index 75652f8c..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.12","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml deleted file mode 100644 index b616b750..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml deleted file mode 100644 index fa1a4f62..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 86f76c76..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index f29a317f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 9517ea0e..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml deleted file mode 100644 index b00dcea6..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml deleted file mode 100644 index 5f1a0bcb..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`ShopperTokenTsob`:** a security scheme for endpoints that only allow the ShopperTokenTsob token type (tsob = Trusted system on behalf). - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json deleted file mode 100644 index 89dcc88a..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.20"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/pricing/coupons/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/.metadata.json b/testIntegration/stagingApis/pricing/gift-certificates/.metadata.json deleted file mode 100644 index 1f0800ec..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/gift-certificates/1.0.30", - "name": "Gift Certificates", - "description": "Manage your gift certificates.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "gift-certificates", - "version": "1.0.30", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Examples/amount-example.raml b/testIntegration/stagingApis/pricing/gift-certificates/Examples/amount-example.raml deleted file mode 100644 index ce1b848b..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Examples/amount-example.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "currencyMnemonic" : "USD", - "value" : 100.00 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Examples/get-result-example.raml b/testIntegration/stagingApis/pricing/gift-certificates/Examples/get-result-example.raml deleted file mode 100644 index b0838c3c..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Examples/get-result-example.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "amount": { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "balance": { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "creationDate": "2015-07-31T14:56:38.936Z", - "description": "Birthday Gift", - "enabled": true, - "maskedGiftCertificateCode": "************LKWJ", - "merchantId": "NorthernTrailOutfitters", - "message": "A birthday gift for you", - "orderNo": "CA17293", - "recipientName": "John Doe", - "recipientEmail": "john.doe@gmail.com", - "senderName": "Jane Doe", - "status": "issued", - "transactions": [ - { - "amount": { - "currencyMnemonic": "EUR", - "value": 80.00 - }, - "orderNo": "CA17293", - "timestamp": "2015-09-09T17:16:12.066Z", - "typeCode": "create" - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Examples/get-results-example.raml b/testIntegration/stagingApis/pricing/gift-certificates/Examples/get-results-example.raml deleted file mode 100644 index bb2d539f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Examples/get-results-example.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "limit": 3, - "hits": [ - { - "amount": - { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "balance": - { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "creationDate": "2015-07-31T15:10:25.192Z", - "description": "Birthday Gift", - "enabled": true, - "maskedGiftCertificateCode": "************HHHZ", - "merchantId": "NorthernTrailOutfitters", - "orderNo": "CA17293", - "status": "pending", - "transactions": [ - { - "amount": - { - "currencyMnemonic": "EUR", - "value": 80.00 - }, - "orderNo": "CA17293", - "timestamp": "2015-01-09T17:16:12.066Z", - "typeCode": "create" - } - ] - }, - { - "amount": - { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "balance": - { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "creationDate": "2015-07-31T15:03:21.988Z", - "enabled": true, - "maskedGiftCertificateCode": "************DOIZ", - "merchantId": "my-merchant_id", - "orderNo": "00000002", - "status": "pending", - "transactions": - [ - { - "amount": - { - "currencyMnemonic": "EUR", - "value": 80.00 - }, - "orderNo": "00000002", - "timestamp": "2015-02-09T17:16:12.066Z", - "typeCode": "create" - } - ] - }, - { - "amount": - { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "balance": - { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "creationDate": "2015-07-31T15:10:00.659Z", - "description": "Promotion Gift", - "enabled": true, - "maskedGiftCertificateCode": "************GSPZ", - "merchantId": "NorthernTrailOutfitters", - "orderNo": "00000003", - "status": "pending", - "transactions": - [ - { - "amount": - { - "currencyMnemonic": "EUR", - "value": 80.00 - }, - "orderNo": "00000003", - "timestamp": "2015-09-09T17:16:12.066Z", - "typeCode": "create" - } - ] - } - ], - "query": { - "TextQuery": - { - "fields": - [ - "status" - ], - "searchPhrase": "pending" - } - }, - "select": "(**)", - "offset": 0, - "total": 3 -} diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificate-create-example.raml b/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificate-create-example.raml deleted file mode 100644 index 5b48368d..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificate-create-example.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount": {"currencyMnemonic": "USD", "value": 1000}, - "description" : "Birthday gift", - "message" : "A birthday present to you", - "senderName" : "Jane Doe", - "recipientName" : "John Doe", - "recipientEmail" : "john.doe@gmail.com", - "status" : "issued", - "orderNo" : "CA17293", - "enabled" : false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificate-create-success-example.raml b/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificate-create-success-example.raml deleted file mode 100644 index 40359705..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificate-create-success-example.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "amount": { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "balance": { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "creationDate": "2015-07-31T14:36:17.544Z", - "description": "Birthday gift", - "enabled": false, - "maskedGiftCertificateCode": "************KTIP", - "merchantId": "NorthernTrailOutfitters", - "message": "A birthday gift for you", - "orderNo": "CA17293", - "recipientName": "John Doe", - "recipientEmail": "john.doe@gmail.com", - "senderName": "Jane Doe", - "status": "issued", - "transactions": [ - { - "amount": { - "currencyMnemonic": "EUR", - "value": 80.00 - }, - "orderNo": "my-order_no", - "timestamp": "2015-09-09T17:16:12.066Z", - "typeCode": "create" - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificate-update-example.raml b/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificate-update-example.raml deleted file mode 100644 index 2ce8e821..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificate-update-example.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "description": "Birthday Gift", - "enabled": false, - "message": "A birthday gift for you", - "recipientEmail": "john.doe@gmail.com", - "recipientName": "John Doe", - "senderName": "Jane Doe", - "status": "pending" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificate-update-success-example.raml b/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificate-update-success-example.raml deleted file mode 100644 index 373433c6..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificate-update-success-example.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "amount": { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "balance": { - "currencyMnemonic": "USD", - "value": 100.00 - }, - "creationDate": "2015-07-31T15:05:52.311Z", - "description": "Birthday Gift", - "enabled": false, - "maskedGiftCertificateCode": "***********cate", - "merchantId": "NorthernTrailOutfitters", - "message": "A birthday gift for you", - "orderNo": "CA17293", - "recipientEmail": "john.doe@gmail.com", - "recipientName": "John Doe", - "senderName": "Jane Doe", - "status": "pending", - "transactions": [ - { - "amount": { - "currencyMnemonic": "EUR", - "value": 80.00 - }, - "orderNo": "CA17293", - "timestamp": "2015-09-09T17:16:12.066Z", - "typeCode": "create" - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificates-data-example.raml b/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificates-data-example.raml deleted file mode 100644 index 3a624d82..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Examples/gift-certificates-data-example.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - { - "amount": { - "currencyMnemonic": "USD", - "value": 1000.00 - }, - "balance": { - "currencyMnemonic": "USD", - "value": 1000.00 - }, - "creationDate": "2020-01-10T21:31:49.242Z", - "description": "Birthday Gift", - "enabled": false, - "lastModified": "2020-01-10T21:31:49.246Z", - "maskedGiftCertificateCode": "************KHAL", - "merchantId": "00001001", - "message": "A birthday gift for you", - "orderNo": "CA17293", - "recipientEmail": "john.doe@gmail.com", - "recipientName": "John Doe", - "senderName": "Jane Doe", - "status": "issued", - "transactions": [ - { - "amount": { - "currencyMnemonic": "USD", - "value": 1000.00 - }, - "orderNo": "CA17293", - "timestamp": "2020-01-10T21:31:49.244Z", - "typeCode": "create" - } - ] - } - ] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Examples/query-match-all-query-example.raml b/testIntegration/stagingApis/pricing/gift-certificates/Examples/query-match-all-query-example.raml deleted file mode 100644 index 94f4888e..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Examples/query-match-all-query-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "query" : { - "MatchAllQuery": {} - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Traits/GiftCertificateAmountOutOfRangeException.raml b/testIntegration/stagingApis/pricing/gift-certificates/Traits/GiftCertificateAmountOutOfRangeException.raml deleted file mode 100644 index 3b4c8085..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Traits/GiftCertificateAmountOutOfRangeException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Data Gift Certificate API. -responses: - 400: - description: - Thrown if the amount passed is out of range. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/amount-out-of-range", - "title": "Gift Certificate Amount Out Of Range Exception", - "detail": "Amount provided is out of range." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Traits/GiftCertificateCreateMerchantIdNotUniqueException.raml b/testIntegration/stagingApis/pricing/gift-certificates/Traits/GiftCertificateCreateMerchantIdNotUniqueException.raml deleted file mode 100644 index 8962bc29..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Traits/GiftCertificateCreateMerchantIdNotUniqueException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Data Gift Certificate API. -responses: - 400: - description: - Thrown if the merchant ID is not unique. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/merchant-id-not-unique", - "title": "Gift Certificate Create Merchant Id Not Unique Exception", - "detail": "Merchant id is not unique." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Traits/GiftCertificateNotFoundException.raml b/testIntegration/stagingApis/pricing/gift-certificates/Traits/GiftCertificateNotFoundException.raml deleted file mode 100644 index d7123dc5..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Traits/GiftCertificateNotFoundException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in the Data Gift Certificate API. -responses: - 404: - description: - Thrown in case the gift certificate does not exist matching the given merchant ID. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found", - "title": "Gift Certificate Not Found Exception", - "detail": "No gift certificate with merchant ID 'my-merchant_id' for site 'TestWapi' was found." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Traits/InvalidGiftCertificateException.raml b/testIntegration/stagingApis/pricing/gift-certificates/Traits/InvalidGiftCertificateException.raml deleted file mode 100644 index 8bc17257..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Traits/InvalidGiftCertificateException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Data Gift Certificate API. -responses: - 400: - description: - Thrown if the gift certificate passed in is not valid (the argument indicates the field that was invalid). - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid", - "title": "Invalid Gift Certificate Exception", - "detail": "Invlaid gift certificate provided" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Traits/InvalidGiftCertificateStatusException.raml b/testIntegration/stagingApis/pricing/gift-certificates/Traits/InvalidGiftCertificateStatusException.raml deleted file mode 100644 index 2c648f12..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Traits/InvalidGiftCertificateStatusException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Data Gift Certificate API. -responses: - 400: - description: - Thrown if gift certificate status specified is invalid. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-status", - "title": "Invalid Gift Certificate Status Exception", - "detail": "Invlaid gift certificate status provided." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Traits/InvalidRecipientEmailException.raml b/testIntegration/stagingApis/pricing/gift-certificates/Traits/InvalidRecipientEmailException.raml deleted file mode 100644 index 7a320222..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Traits/InvalidRecipientEmailException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Data Gift Certificate API. -responses: - 400: - description: - Thrown if recipient email address is invalid. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-recipient-email", - "title": "Invalid Recipient Email Exception", - "detail": "Invalid recipient email ID provided." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Traits/MalformedSearchParameterException.raml b/testIntegration/stagingApis/pricing/gift-certificates/Traits/MalformedSearchParameterException.raml deleted file mode 100644 index 223461c8..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Traits/MalformedSearchParameterException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Gift Certificate Search API. -responses: - 400: - description: - Thrown if the query is ill-formed. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-search-parameter", - "title": "Malformed Search Parameter Exception", - "detail": "An error occurred while decoding the request, the body was 'malformed'." - } diff --git a/testIntegration/stagingApis/pricing/gift-certificates/Traits/UnqueryableFieldException.raml b/testIntegration/stagingApis/pricing/gift-certificates/Traits/UnqueryableFieldException.raml deleted file mode 100644 index 1deea6bf..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/Traits/UnqueryableFieldException.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Gift Certificate Search API. -responses: - 400: - description: - Thrown if given query field is unqueryable. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unqueryable-field", - "title": "Unqueryable Field Exception", - "detail": "Given field cannot be queried. For example - The field 'link' is unqueryable." - } diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange.json deleted file mode 100644 index 23e14b9a..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.30", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "gift-certificates.raml", - "backwardsCompatible": false, - "assetId": "gift-certificates", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Gift Certificates", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml deleted file mode 100644 index 3fa2f65e..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml deleted file mode 100644 index 9270d9e3..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml deleted file mode 100644 index 27fa085f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml +++ /dev/null @@ -1,95 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - 405: - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json deleted file mode 100644 index 75652f8c..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.12","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml deleted file mode 100644 index b616b750..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml deleted file mode 100644 index fa1a4f62..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 86f76c76..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index f29a317f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 9517ea0e..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml deleted file mode 100644 index b00dcea6..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml deleted file mode 100644 index 5f1a0bcb..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`ShopperTokenTsob`:** a security scheme for endpoints that only allow the ShopperTokenTsob token type (tsob = Trusted system on behalf). - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json deleted file mode 100644 index 89dcc88a..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.20"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json deleted file mode 100644 index 3b7dd050..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/gift-certificate-traits-library.raml b/testIntegration/stagingApis/pricing/gift-certificates/gift-certificate-traits-library.raml deleted file mode 100644 index e630d3e7..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/gift-certificate-traits-library.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -traits: - GiftCertificateNotFound: !include Traits/GiftCertificateNotFoundException.raml - InvalidGiftCertificateStatus: !include Traits/InvalidGiftCertificateStatusException.raml - InvalidRecipientEmail: !include Traits/InvalidRecipientEmailException.raml - InvalidGiftCertificateException: !include Traits/InvalidGiftCertificateException.raml - GiftCertificateAmountOutOfRangeException: !include Traits/GiftCertificateAmountOutOfRangeException.raml - GiftCertificateCreateMerchantIdNotUniqueException: !include Traits/GiftCertificateCreateMerchantIdNotUniqueException.raml - MalformedQuery: !include Traits/MalformedSearchParameterException.raml - UnqueryableField: !include Traits/UnqueryableFieldException.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/gift-certificates/gift-certificates-description.md b/testIntegration/stagingApis/pricing/gift-certificates/gift-certificates-description.md deleted file mode 100644 index b2d87396..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/gift-certificates-description.md +++ /dev/null @@ -1,27 +0,0 @@ -# API Overview - -The Gift Certificates API lets you create, update, and delete gift certificates, and let your storefront customers purchase and redeem gift certificates. - -## Authentication & Authorization - -The client requesting the gift certificate information must have access to the Gift Certificates resource. The API requests pass a bearer token in the header of the request. The client must first authenticate against Account Manager to log in. - -You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Capture All Gift Certificates - -Use the Gift Certificates API to retrieve all gift certificates, with no filtering, under a site. - -### Capture Specific Gift Certificates - -Use the Gift Certificates API to retrieve a specific gift certificate, using merchant ID, for a site. - -### Create Site Specific Gift Certificates - -Use the Gift Certificates API to create and issue site specific gift certificate using information such as amount, description, status, recipient email, recipient name, sender name, etc. - -### Update Gift Certificates - -Use the Gift Certificates API to update a gift certificate, with the specified information, using merchant ID. diff --git a/testIntegration/stagingApis/pricing/gift-certificates/gift-certificates.raml b/testIntegration/stagingApis/pricing/gift-certificates/gift-certificates.raml deleted file mode 100644 index 2447b15d..00000000 --- a/testIntegration/stagingApis/pricing/gift-certificates/gift-certificates.raml +++ /dev/null @@ -1,346 +0,0 @@ -#%RAML 1.0 -title: Gift Certificates -version: v1 -protocols: https -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/pricing/gift-certificates/{version} -baseUriParameters: - shortCode: - description: A customer region-specific identifier. - example: 0dnz6oep -description: !include gift-certificates-description.md -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - GiftCertificateTraits: gift-certificate-traits-library.raml -types: - AccountTransaction: - description: |- - Document representing an account transaction. - type: - CommerceCloudStandards.ClosedObject - properties: - amount: - description: The amount of the gift certificate. - type: Money - example: !include Examples/amount-example.raml - orderNo: - description: The order number of the gift certificate. - type: string - example: my-order-43128 - timestamp: - description: The timestamp of the transaction of the gift certificate. - type: datetime - example: 2020-01-08T20:54:56.641Z - typeCode: - description: The type code of the gift certificate. - type: string - enum: - - create - - redeem - - delete - - enable - - disable - example: redeem - GiftCertificate: - description: |- - Document representing a gift certificate. - type: - CommerceCloudStandards.OpenObject - properties: - amount: - description: |- - The gift certificate amount. - The user cannot change the gift certificate amount after the creation of the gift certificate. - type: Money - required: false - example: !include Examples/amount-example.raml - balance: - description: |- - The gift certificate balance. - This is a computed attribute and cannot be modified. - type: Money - required: false - example: !include Examples/amount-example.raml - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 2020-01-08T20:54:56.641Z - description: - description: The description of the gift certificate. - maxLength: 4000 - type: string - required: false - example: | - A gift certificate for birthday. - enabled: - description: The enabled flag of the gift certificate. - type: boolean - required: false - example: true - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 2020-01-08T20:54:56.641Z - maskedGiftCertificateCode: - description: Masked code. - type: string - required: false - example: "*******XQTY" - merchantId: - description: |- - The merchant ID of the gift certificate. - This is a unique attribute. - This is a computed attribute and cannot be modified. - This is used to get, update and the delete gift certificates. - type: string - required: false - example: | - Macy's1256489 - message: - description: The message to the recipient of the gift certificate. - maxLength: 4000 - type: string - required: false - example: | - This gift certificate is to be given as birthday present - orderNo: - description: The order number of the gift certificate. - type: string - required: false - example: | - MyOrder5421 - recipientEmail: - description: The email address of the recipient of the gift certificate. - type: string - required: false - example: | - my-recipient-email@gmail.com - recipientName: - description: The recipient of the gift certificate. - maxLength: 256 - type: string - required: false - example: | - Jane Doe - senderName: - description: The sender of the gift certificate. - maxLength: 256 - type: string - required: false - example: | - John Smith - status: - description: |- - The status of the gift certificate. - While creating a gift certificate, user can set the status - to either "pending" or "issued" only. - type: string - required: false - enum: - - issued - - partially_redeemed - - pending - - redeemed - example: issued - transactions: - description: The transactions of the gift certificate. - required: false - type: array - items: - type: AccountTransaction - example: | - [ - { - "amount": { - "currencyMnemonic": "USD", - "value": 1000 - }, - "orderNo": "my-test-order_no", - "timestamp": "2020-01-08T20:54:56.644Z", - "typeCode": "create" - } - ] - GiftCertificates: - description: |- - Document representing an unfiltered list of gift certificates. - type: - CommerceCloudStandards.ClosedObject - properties: - offset: ApiStandards.Offset - data: - description: The collection of gift certificates. - type: array - items: - type: GiftCertificate - required: false - example: !include Examples/gift-certificates-data-example.raml - limit: ApiStandards.Limit - total: - description: The total number of documents. - type: integer - format: int32 - required: false - example: 25 - GiftCertificateSearchResult: - description: |- - Document representing a gift certificate search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - type: GiftCertificate[] - Money: - type: - CommerceCloudStandards.ClosedObject - properties: - currencyMnemonic: - description: The mnemonic for the money. - type: string - example: $ - value: - description: The value for the money. - type: number - format: double - example: 100 - -/organizations/{organizationId}/gift-certificates: - type: CommerceCloudStandards.Organization - is: - - CommerceCloudStandards.SiteSpecific - put: - description: |- - Creates a gift certificate using the information provided. If a gift certificate with - the same unique identifier is generated, it is deleted and a new one is created. - displayName: createGiftCertificate - is: - - GiftCertificateTraits.GiftCertificateNotFound - - GiftCertificateTraits.InvalidGiftCertificateStatus - - GiftCertificateTraits.InvalidGiftCertificateException - - GiftCertificateTraits.GiftCertificateAmountOutOfRangeException - - GiftCertificateTraits.GiftCertificateCreateMerchantIdNotUniqueException - responses: - '200': - description: Successfully created gift certificate. - body: - application/json: - type: GiftCertificate - example: - !include Examples/gift-certificate-create-success-example.raml - '400': - description: If the gift certificate passed in is not valid (the argument indicates the field that was invalid), the amount specified is out of range, the merchant ID is not unique, the recipient email address is invalid, or the gift certificate status specified is invalid. - body: - application/json: - type: GiftCertificate - example: - !include Examples/gift-certificate-create-example.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.gift-certificates.rw ] } - post: - description: |- - Searches for gift certificates. The query attribute specifies a complex query that can be used to narrow down the search. These are the list of searchable attributes: - - | Attribute | Type | Sortable | - |-----------|--------|----------| - | merchantId | String | yes | - | maskedGiftCertificateCode * | String | no | - | orderNo | String | yes | - | senderName | String | yes | - | recipientName | String | yes | - | recipientEmail | String | yes | - | status | String | yes | - | enabled | Boolean | yes | - | message | String | yes | - | description | String | yes | - | creationDate | Date | yes | - | currencyMnemonic ** | String | yes | - - ## Notes: - * *`maskedGiftCertificateCode`, also known as just code, can only be used in a term query. If a - four-character code is supplied, it is assumed that the search is on the unmasked portion of the code, otherwise - the full code must be matched. Text queries are not allowed. - * **`currencyMnemonic` can only be joined with other attributes using a conjunction (`AND`). - * Only searchable attributes can be used in sorting. - displayName: giftCertificatesSearch - is: - - GiftCertificateTraits.MalformedQuery - - GiftCertificateTraits.UnqueryableField - responses: - '200': - description: Returns Gift Certificates. - body: - application/json: - type: GiftCertificateSearchResult - example: - !include Examples/get-results-example.raml - '400': - description: Thrown if the query is ill-formed. - body: - application/json: - type: CommerceCloudStandards.SearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.gift-certificates, sfcc.gift-certificates.rw ] } -/organizations/{organizationId}/gift-certificates/{merchantId}: - type: CommerceCloudStandards.Organization - is: - - CommerceCloudStandards.SiteSpecific - uriParameters: - merchantId: - description: The merchant ID of the requested gift certificate. - minLength: 1 - type: string - delete: - description: Deletes the gift certificate by merchant ID. - displayName: deleteGiftCertificate - responses: - '204': - description: Successfully deleted gift certificate. - body: - application/json: - type: GiftCertificate - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.gift-certificates.rw ] } - get: - description: Action to get gift certificate information using merchant ID. - displayName: getGiftCertificate - is: - - GiftCertificateTraits.GiftCertificateNotFound - responses: - '200': - description: Successfully retrieved gift certificate for given merchant ID. - body: - application/json: - type: GiftCertificate - example: - !include Examples/get-result-example.raml - '404': - description: Thrown in case the gift certificate does not exist matching the given merchant ID. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.gift-certificates, sfcc.gift-certificates.rw ] } - patch: - description: Updates the gift certificate with the specified information using merchant ID. - displayName: updateGiftCertificate - is: - - GiftCertificateTraits.GiftCertificateNotFound - - GiftCertificateTraits.InvalidGiftCertificateStatus - - GiftCertificateTraits.InvalidRecipientEmail - responses: - '200': - description: Successfully updated gift certificate. - body: - application/json: - type: GiftCertificate - example: - !include Examples/gift-certificate-update-success-example.raml - '400': - description: If recipient email address or gift certificate status specified is invalid. - '404': - description: Thrown in case the gift certificate does not exist matching the given merchant ID. - body: - application/json: - type: GiftCertificate - example: - !include Examples/gift-certificate-update-example.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.gift-certificates.rw ] } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/.metadata.json b/testIntegration/stagingApis/pricing/promotions/.metadata.json deleted file mode 100644 index 625845cf..00000000 --- a/testIntegration/stagingApis/pricing/promotions/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/promotions/1.0.24", - "name": "Promotions", - "description": "Launch and manage promotions across your storefront.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "promotions", - "version": "1.0.24", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/pricing/promotions/Examples/get-promotion-response.raml b/testIntegration/stagingApis/pricing/promotions/Examples/get-promotion-response.raml deleted file mode 100644 index 15fd7e12..00000000 --- a/testIntegration/stagingApis/pricing/promotions/Examples/get-promotion-response.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 NamedExample -get-promotion-example: - { - "archived": false, - "assignmentInformation": { - "active": true, - "activeCampaignAssignments": [ - { - "campaignId": "coupon-campaign", - "coupons": [ - "shipping-promotion-coupon" - ], - "description": "Coupon Shipping Promotion", - "enabled": true, - "promotionId": "my-shipping-promotion", - "schedule": { - - } - } - ], - "campaignId": "coupon-campaign", - "enabled": true, - "schedule": { - - }, - "scheduleType": "none" - }, - "creationDate": "2020-01-09T16:50:32.000Z", - "disableGloballyExcluded": false, - "enabled": true, - "exclusivity": "no", - "id": "my-shipping-promotion", - "lastModified": "2020-01-09T16:50:32.000Z", - "name": { - "default": "Coupon Shipping Promotion" - }, - "promotionClass": "shipping", - "c_customString": "Custom Value" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/Examples/patch-promotion-request.raml b/testIntegration/stagingApis/pricing/promotions/Examples/patch-promotion-request.raml deleted file mode 100644 index 93f774f7..00000000 --- a/testIntegration/stagingApis/pricing/promotions/Examples/patch-promotion-request.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -patch-promotion-request: - { - "enabled" : false, - "name" : { - "default" : "__PROMOTION_ID__" - }, - "exclusivity" : "class", - "promotionClass" : "order", - "c_customString": "Custom Value" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/Examples/patch-promotion-response.raml b/testIntegration/stagingApis/pricing/promotions/Examples/patch-promotion-response.raml deleted file mode 100644 index a44f692a..00000000 --- a/testIntegration/stagingApis/pricing/promotions/Examples/patch-promotion-response.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 NamedExample -patch-promotion-response: - { - "archived": false, - "assignmentInformation": { - "active": false, - "activeCampaignAssignments": [ - - ], - "campaignId": "coupon-campaign", - "enabled": false, - "schedule": { - - }, - "scheduleType": "none" - }, - "creationDate": "2020-01-13T20:22:09.189Z", - "disableGloballyExcluded": false, - "enabled": false, - "exclusivity": "class", - "id": "my-promotion", - "lastModified": "2020-01-13T20:31:25.795Z", - "name": { - "default": "__PROMOTION_ID__" - }, - "promotionClass": "order", - "c_customString": "Custom Value" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/Examples/put-promotion-request.raml b/testIntegration/stagingApis/pricing/promotions/Examples/put-promotion-request.raml deleted file mode 100644 index 872ccbc1..00000000 --- a/testIntegration/stagingApis/pricing/promotions/Examples/put-promotion-request.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -put-promotion-request: - { - "enabled" : true, - "name" : { - "default" : "__PROMOTION_ID__" - }, - "exclusivity" : "class", - "promotionClass" : "order", - "c_customString": "Custom Value" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/Examples/put-promotion-response.raml b/testIntegration/stagingApis/pricing/promotions/Examples/put-promotion-response.raml deleted file mode 100644 index 85d323fc..00000000 --- a/testIntegration/stagingApis/pricing/promotions/Examples/put-promotion-response.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 NamedExample -put-promotion-response: - { - "archived": false, - "assignmentInformation": { - "active": false, - "activeCampaignAssignments": [ - - ], - "campaignId": "coupon-campaign", - "enabled": true, - "schedule": { - - }, - "scheduleType": "none" - }, - "creationDate": "2020-01-13T20:22:09.189Z", - "disableGloballyExcluded": false, - "enabled": true, - "exclusivity": "class", - "id": "my-promotion", - "lastModified": "2020-01-13T20:22:09.199Z", - "name": { - "default": "__PROMOTION_ID__" - }, - "promotionClass": "order", - "c_customString": "Custom Value" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/Traits/PromotionIdConflict.raml b/testIntegration/stagingApis/pricing/promotions/Traits/PromotionIdConflict.raml deleted file mode 100644 index b8e0e6b3..00000000 --- a/testIntegration/stagingApis/pricing/promotions/Traits/PromotionIdConflict.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Promotions API. -responses: - 400: - description: - Thrown if the ID in request is not the same as the ID in document. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "title": "Id Conflict", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/id-conflict", - "detail": "The ID in the request body ('his-promotion') doesn't match the ID in the URL ('my-promotion').", - "bodyID": "his-promotion", - "urlID": "my-promotion" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/Traits/PromotionNotFound.raml b/testIntegration/stagingApis/pricing/promotions/Traits/PromotionNotFound.raml deleted file mode 100644 index dd2f783d..00000000 --- a/testIntegration/stagingApis/pricing/promotions/Traits/PromotionNotFound.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in the Promotions API. -responses: - 404: - description: - Thrown when there is no promotion found with the given ID for the requested site. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "title": "Promotion Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/promotion-not-found", - "detail": "No promotion with ID 'not-existing-promotion' in site 'SiteGenesis' could be found.", - "promotionId": "not-existing-promotion", - "siteId": "SiteGenesis" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange.json b/testIntegration/stagingApis/pricing/promotions/exchange.json deleted file mode 100644 index 495490b2..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.24", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "promotions.raml", - "backwardsCompatible": false, - "assetId": "promotions", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Promotions", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml deleted file mode 100644 index 3fa2f65e..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml deleted file mode 100644 index 9270d9e3..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml deleted file mode 100644 index 27fa085f..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml +++ /dev/null @@ -1,95 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - 405: - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json deleted file mode 100644 index 75652f8c..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.12","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml deleted file mode 100644 index b616b750..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml deleted file mode 100644 index fa1a4f62..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 86f76c76..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index f29a317f..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 9517ea0e..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml deleted file mode 100644 index b00dcea6..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml deleted file mode 100644 index 5f1a0bcb..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`ShopperTokenTsob`:** a security scheme for endpoints that only allow the ShopperTokenTsob token type (tsob = Trusted system on behalf). - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json deleted file mode 100644 index 89dcc88a..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.20"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/pricing/promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/promotions-description.md b/testIntegration/stagingApis/pricing/promotions/promotions-description.md deleted file mode 100644 index 25fefbf7..00000000 --- a/testIntegration/stagingApis/pricing/promotions/promotions-description.md +++ /dev/null @@ -1,61 +0,0 @@ -# API Overview - -The Promotions API lets you create, update, retrieve, delete, and search for promotions on your site. Promotions are configured with rules that define the type of promotion, conditions, and discounts. - -The API can be used to synchronize promotion data in the commerce platform with third-party promotion management systems. The API can also be called from a custom promotion management application. In sandbox environments, the promotions API can be useful for creating and updating test data, for example, with integration testing or as part of a continuous integration or continuous deployment process. - -For more information, see [Campaigns and Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_campaigns_and_promotions.html) in the Salesforce B2C Commerce Infocenter. - -## Authentication & Authorization - -The client requesting the promotion information must have access to the Promotion resource. The API requests pass a bearer token in the header of the request. The client must first authenticate against Account Manager to get the bearer token. - -You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -**Note**: A promotion can be created, enabled, and assigned exclusivity using the API, but qualifier and discounted criteria must be assigned in Business Manager. - -### Shipping Promotions - -Use the Promotions API to configure shipping promotions. - -You can configure shipping promotions based on an order and on individual products or product combinations. You can also configure product-specific shipping cost (fixed or surcharge). - -**Note**: Product-related shipping discounts are considered product promotions. - -In a multiple ship-to scenario, B2C Commerce determines which shipments use any of the discounted shipping methods and applies the discount from most expensive to least expensive until meeting the maximum applications limit, if specified. - -For example, create a shipping promotion that gives the customer free shipping when their purchase exceeds $50. - -For more detail, see [Shipping Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_shipping_promotions.html) in the Salesforce B2C Commerce Infocenter. - -### Product Promotions - -Use the Promotions API to configure product promotions. - -You can define product promotions for specific products, groups of products or brands, or amounts of products purchased. You can define conditions that require customers to purchase from a set of products. - -A product promotion is prorated, calculated, and rounded once per product in the order. A product promotion is different than an order promotion, which is calculated once at the order level, and rounded off once, if necessary. - -For example, create a product promotion that discounts a second item by 50% when the customer buys two. - -For more detail, see [Product Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_product_promotions.html) in the Salesforce B2C Commerce Infocenter. - -### Order Promotions - -Use the Promotions API to configure order promotions. - -You can configure order promotions for percentage discounts, fixed price discounts, and free shipping. You can offer a bonus product or a choice of bonus products, and you can tier order discounts. - -An order promotion is calculated once at the order level, and rounded off once, if necessary. An order promotion is different than a product promotion, where the promotion is prorated, calculated, and rounded per product in the order. - -For example, create an order promotion that discounts an entire order when the customer buys 3 qualifying items. - -For more detail, see [Order Promotions](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/promotions/b2c_order_promotions.html) in the Salesforce B2C Commerce Infocenter. - -## Resources - -### Promotion - -Details of the promotion including both the qualifying criteria and the discount. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/promotions-traits-library.raml b/testIntegration/stagingApis/pricing/promotions/promotions-traits-library.raml deleted file mode 100644 index 17d112e7..00000000 --- a/testIntegration/stagingApis/pricing/promotions/promotions-traits-library.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -traits: - PromotionNotFound: !include Traits/PromotionNotFound.raml - PromotionIdConflict: !include Traits/PromotionIdConflict.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/promotions/promotions.raml b/testIntegration/stagingApis/pricing/promotions/promotions.raml deleted file mode 100644 index 44217eaf..00000000 --- a/testIntegration/stagingApis/pricing/promotions/promotions.raml +++ /dev/null @@ -1,498 +0,0 @@ -#%RAML 1.0 -title: Promotions -version: v1 -protocols: HTTPS -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/pricing/promotions/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -description: !include promotions-description.md - -uses: - DataPromotionTraits: promotions-traits-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Campaign: - description: |- - Document representing a campaign. - type: - CommerceCloudStandards.OpenObject - properties: - campaignId: - description: The ID of the campaign. - maxLength: 256 - minLength: 1 - type: string - coupons: - description: The array of assigned coupon IDs, not sorted. - type: array - items: - type: string - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - customerGroups: - description: The array of assigned customer groups, not sorted. - type: array - items: - type: string - required: false - description: - description: The description of the campaign. - maxLength: 4000 - type: string - required: false - enabled: - description: The enabled flag for campaign. - type: boolean - required: false - endDate: - description: The date the scenario ends. - type: datetime - required: false - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - sourceCodeGroups: - description: The array of assigned source code groups, not sorted. - type: array - items: - type: string - required: false - startDate: - description: The date the scenario begins. - type: datetime - required: false - Promotion: - description: |- - Document representing a promotion. Unless otherwise stated, attributes of this document are not supported when using - the Open Commerce API to update multiple promotions at once. - type: - CommerceCloudStandards.OpenObject - properties: - archived: - description: |- - Determines if this promotion is archived. This attribute is allowed to be updated when using the Open - Commerce API to update multiple promotions at once. - type: boolean - required: false - assignmentInformation: - description: Information about the assignments and assignment schedules of this promotion. - type: PromotionAssignmentInformation - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - currencyCode: - description: |- - The ISO 4217 mnemonic code of the currency this promotion is restricted to. If not populated, then there is no - currency restriction on the promotion. - maxLength: 3 - type: string - required: false - disableGloballyExcluded: - description: Determines if this promotion ignores the global product exclusions for promotions. - type: boolean - required: false - enabled: - description: |- - Determines if this promotion is enabled. This attribute is allowed to be updated when using the Open - Commerce API to update multiple promotions at once. - type: boolean - required: false - exclusivity: - description: |- - Determines if the promotion can be combined with other promotions of the same promotion class or if it cannot be - combined with any other promotions. This attribute is allowed to be updated when using the Open Commerce API to - update multiple promotions at once. - type: string - enum: - - 'no' - - class - - global - required: false - id: - description: The ID for the promotion. - type: string - required: false - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - name: - description: The user supplied name of this promotion, which can be localized. - type: object - properties: - //: - type: string - required: false - promotionClass: - description: |- - The class of the promotion. If the promotion class is modified, then the promotion rule and all of its values, - such as whether or not to disable global product exclusions, are reset. - type: string - enum: - - product - - shipping - - order - required: false - tags: - description: |- - Returns the list of tags assigned to this promotion. If used to set the tags on a promotion, the promotion will - only have the tags passed in the input. Any existing tags are removed. - type: array - items: - type: Tag - required: false - siteId?: CommerceCloudStandards.SiteId - PromotionAbtestGroupAssignment: - type: - CommerceCloudStandards.ClosedObject - properties: - abtestDescription: - type: string - abtestId: - type: string - enabled: - type: boolean - schedule: - type: Schedule - segmentDescription: - type: string - segmentId: - type: string - PromotionAssignmentInformation: - type: - CommerceCloudStandards.ClosedObject - properties: - abtestId: - description: |- - If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test the segment - belongs to. Otherwise, empty. - type: string - required: false - abtestSegmentId: - description: |- - If there is only one assignment, and that assignment is an A/B test segment, the ID of the A/B test segment. - Otherwise, empty. - type: string - required: false - active: - description: True if the individual assignment or the multiple assignments are currently active. - type: boolean - activeAbtestAssignments: - description: A list of currently active A/B tests this is assigned to. - type: array - items: - type: PromotionAbtestGroupAssignment - required: false - activeCampaignAssignments: - description: A list of currently active campaigns this is assigned to. - type: array - items: - type: PromotionCampaignAssignment - campaignId: - description: If there is only one assignment, and that assignment is a campaign, the ID of the campaign. Otherwise, empty. - type: string - enabled: - type: boolean - endDate: - description: |- - The end date of the container of the assignment (a Campaign or ABTest). If scheduleType is - scheduleType : "multiple" or scheduleType : "none", then then result is null. Also, a null - date returns null. - type: datetime - required: false - schedule: - description: |- - The schedule of the assignment (a Campaign or ABTest). If scheduleType is - scheduleType : "multiple" or scheduleType : "none", then then result is null. - type: Schedule - scheduleType: - description: |- - If there is only one active assignment, or no active assignments and one upcoming assignment, this is that type - of assignment (scheduleType : "campaign" or scheduleType : "abtest"). If there are no - assignments, it is scheduleType : "none", otherwise, scheduleType : "multiple". - type: string - enum: - - none - - campaign - - abtest - - multiple - startDate: - description: |- - The start date of the container of the assignment (a Campaign or ABTest). If scheduleType is - scheduleType : "multiple" or scheduleType : "none", then then result is null. Also, a null - date returns null. - type: datetime - required: false - upcomingAbtestAssignments: - description: A list of upcoming A/B tests this is assigned to. - type: array - items: - type: PromotionAbtestGroupAssignment - required: false - upcomingCampaignAssignments: - description: A list of upcoming campaigns this is assigned to. - type: array - items: - type: PromotionCampaignAssignment - required: false - PromotionCampaignAssignment: - description: |- - Document representing a promotion campaign assignment. - type: - CommerceCloudStandards.ClosedObject - properties: - campaign: - description: The campaign. - type: Campaign - required: false - campaignId: - description: The ID of the campaign. - maxLength: 256 - minLength: 1 - type: string - coupons: - description: The sorted array of assigned coupon IDs. - type: array - items: - type: string - required: false - customerGroups: - description: The sorted array of assigned customer groups. - type: array - items: - type: string - required: false - description: - description: The description of the promotion campaign assignment. - maxLength: 4000 - type: string - enabled: - description: True if the assignment resource is enabled. - type: boolean - promotion: - description: The promotion. - type: Promotion - required: false - promotionId: - description: The ID of the promotion. - maxLength: 256 - minLength: 1 - type: string - rank: - description: The rank of promotion campaign assignment. - type: integer - format: int32 - required: false - schedule: - description: The schedule of the assignment resource. - type: Schedule - sourceCodeGroups: - description: The sorted array of assigned source code groups. - type: array - items: - type: string - required: false - PromotionSearchResult: - description: |- - Document representing a promotion search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of promotion search hits. Can be empty. - type: Promotion[] - Recurrence: - description: |- - Document representing a schedule recurrence. - type: - CommerceCloudStandards.ClosedObject - properties: - dayOfWeek: - description: The days of week for recurrence. - type: array - items: - type: string - enum: - - monday - - tuesday - - wednesday - - thursday - - friday - - saturday - - sunday - timeOfDay: - description: The time of the day for recurrence. - type: TimeOfDay - Schedule: - description: |- - Document representing a time schedule for slots. - type: - CommerceCloudStandards.ClosedObject - properties: - endDate: - description: 'The date to end of validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' - type: datetime - required: false - recurrence: - description: The recurrence of the schedule by day of week and time of day. Not all schedules support a recurrence. - type: Recurrence - required: false - startDate: - description: 'The date to start validity. ISO8601 date time format: yyyy-MM-dd''T''HH:mm:ssZ.' - type: datetime - required: false - Tag: - description: |- - Document representing a tag - type: - CommerceCloudStandards.ClosedObject - properties: - tagId: - description: The ID of the tag. - type: string - TimeOfDay: - description: |- - Document representing a time schedule within a single day. - type: - CommerceCloudStandards.ClosedObject - properties: - timeFrom: - description: |- - The time to start from. Time format: HH:mm:ss. Seconds - are ignored and set to 0. - type: string - timeTo: - description: |- - The time to end on. Time format: HH:mm:ss. Seconds - are ignored and set to 0. - type: string -'/organizations/{organizationId}/promotions': - type: CommerceCloudStandards.Organization - is: - - CommerceCloudStandards.SiteSpecific - post: - description: |- - Searches for promotions. - - The SearchRequest document contains a search object that allows filtering on various attributes. - - The query attribute specifies a complex query that can be used to narrow down the search using the following searchable - attributes: - - | Attribute | Type | - |-----------|--------| - | id | String | - | name | String | - | currecyCode | String | - | exclusivity | String | - | enabled | Boolean | - - Note that only searchable attributes can be used in sorting. Additionally, the following attribute can be used to - sort: - - | Attribute | Type | - |-----------|--------| - | promotionClass | String | - - displayName: promotionsSearch - responses: - '200': - description: Search promotions successfully. - body: - application/json: - type: PromotionSearchResult - '400': - description: Thrown if the query is ill-formed. - body: - application/json: - type: CommerceCloudStandards.SearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - '/{id}': - is: - - CommerceCloudStandards.SiteSpecific - uriParameters: - id: - description: The ID of the promotion to create. - minLength: 1 - type: string - example: - -Buy5for50 - -$5_off_ties_promotion - delete: - description: Deletes the promotion by ID. - displayName: deletePromotion - responses: - '204': - description: Deleted the promotion successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - get: - description: Action to get promotion information. - displayName: getPromotion - is: - - DataPromotionTraits.PromotionNotFound: - responses: - '200': - description: Retrieved promotion information successfully. - body: - application/json: - type: Promotion - examples: - !include Examples/get-promotion-response.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions, sfcc.promotions.rw ] } - patch: - description: Updates the promotion with the specified information. - displayName: updatePromotion - is: - - DataPromotionTraits.PromotionNotFound: - responses: - '200': - description: |- - Update a promotion using the information provided. - Fields that can be updated: - name, ID, enabled - body: - application/json: - type: Promotion - examples: - !include Examples/patch-promotion-response.raml - body: - application/json: - type: Promotion - examples: - !include Examples/patch-promotion-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } - put: - description: Creates a promotion using the information provided. - displayName: createPromotion - is: - - DataPromotionTraits.PromotionIdConflict: - responses: - '200': - description: Creates a promotion using the information provided. - body: - application/json: - type: Promotion - examples: - !include Examples/put-promotion-response.raml - body: - application/json: - type: Promotion - examples: - !include Examples/put-promotion-request.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.promotions.rw ] } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/.metadata.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/.metadata.json deleted file mode 100644 index 333e8479..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-gift-certificates/1.0.17", - "name": "Shopper Gift Certificates", - "description": "Obtain details about a gift certificate.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-gift-certificates", - "version": "1.0.17", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/Examples/gift-certificate-example.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/Examples/gift-certificate-example.raml deleted file mode 100644 index de69106a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/Examples/gift-certificate-example.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "amount": 100, - "balance": 100, - "enabled": true, - "maskedGiftCertificateCode": "************FJWQ", - "merchantId": "00000001", - "recipientEmail": "p@gmail.com", - "recipientName": "sampleuser", - "senderName": "Salesforce Support", - "status": "issued" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/Traits/NotFoundException.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/Traits/NotFoundException.raml deleted file mode 100644 index 28a41f48..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/Traits/NotFoundException.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in Shop Gift Certificate API. - -responses: - 404: - description: | - Thrown if the given gift certificate code is not valid. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "/NotFoundException", - "detail": "The gift certificate with the provided code could not be retrieved.", - "title": "Not Found", - "instance":"/foo" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange.json deleted file mode 100644 index 2fd857a0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.17", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-gift-certificates.raml", - "backwardsCompatible": false, - "assetId": "shopper-gift-certificates", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Gift Certificates", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml deleted file mode 100644 index 3fa2f65e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml deleted file mode 100644 index 9270d9e3..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml deleted file mode 100644 index 27fa085f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml +++ /dev/null @@ -1,95 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - 405: - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json deleted file mode 100644 index 75652f8c..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.12","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml deleted file mode 100644 index b616b750..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml deleted file mode 100644 index fa1a4f62..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 86f76c76..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index f29a317f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 9517ea0e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml deleted file mode 100644 index b00dcea6..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml deleted file mode 100644 index 5f1a0bcb..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`ShopperTokenTsob`:** a security scheme for endpoints that only allow the ShopperTokenTsob token type (tsob = Trusted system on behalf). - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json deleted file mode 100644 index 89dcc88a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.20"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/gift-certificate-traits-library.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/gift-certificate-traits-library.raml deleted file mode 100644 index 07cae8d7..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/gift-certificate-traits-library.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -traits: - NotFound: !include Traits/NotFoundException.raml diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/shopper-gift-certificates-description.md b/testIntegration/stagingApis/pricing/shopper-gift-certificates/shopper-gift-certificates-description.md deleted file mode 100644 index b8e83c83..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/shopper-gift-certificates-description.md +++ /dev/null @@ -1,25 +0,0 @@ -# API Overview - -The Shopper Gift Certificates API lets you obtain details about a gift certificate issued to a shopper. The shopper, who received a code identifying the gift certificate, can use the gift certificate code to query information, such as the balance remaining on the gift certificate and who it was issued to, using this API. - -## Authentication & Authorization - -The Shopper Gift Certificates API requires a JSON Web Token acquired via the Shopper Customers endpoint. - -``` -https://{{shortCode}}.api.commercecloud.salesforce.com/customer/shopper-customers/v1/organizations/{{organizationId}}/customers/actions/login -``` - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Retrieve Existing Gift Certificate Details - -Use Shopper Gift Certificate API to find details about a gift certificate code that shoppers enter. - -For example, you can check the status of a gift certificate or see the remaining balance of a gift certificate. - -### Use Hooks - -For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) diff --git a/testIntegration/stagingApis/pricing/shopper-gift-certificates/shopper-gift-certificates.raml b/testIntegration/stagingApis/pricing/shopper-gift-certificates/shopper-gift-certificates.raml deleted file mode 100644 index 05ee900f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-gift-certificates/shopper-gift-certificates.raml +++ /dev/null @@ -1,101 +0,0 @@ -#%RAML 1.0 -title: Shopper Gift Certificates -version: v1 -protocols: - - HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/pricing/shopper-gift-certificates/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -description: !include shopper-gift-certificates-description.md -mediaType: - - application/json -uses: - GiftCertificateTraits: gift-certificate-traits-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml -types: - GiftCertificate: - description: |- - Document representing a gift certificate. - type: - CommerceCloudStandards.OpenObject - examples: - gift-certificate: !include Examples/gift-certificate-example.raml - properties: - amount: - description: The gift certificate original amount. - type: number - format: double - balance: - description: The gift certificate remaining balance. - type: number - format: double - description?: - description: The gift certificate description. - type: string - enabled: - description: Is the gift certificate is enabled? - type: boolean - maskedGiftCertificateCode: - description: The masked gift certificate code. - type: string - merchantId: - description: The merchant ID. - type: string - message?: - description: The message. - type: string - recipientEmail: - description: The recipient email. - type: string - recipientName: - description: The recipient name. - type: string - senderName: - description: The sender name. - type: string - status: - description: The gift certificate status. - type: string - enum: - - pending - - issued - - partially_redeemed - - redeemed - GiftCertificateRequest: - description: |- - Document representing a gift certificate request data. - type: - CommerceCloudStandards.ClosedObject - properties: - giftCertificateCode: - description: The gift certificate code. - type: string - example: - "MYGIFTCERTIFICATECODE" -/organizations/{organizationId}/gift-certificate: - type: CommerceCloudStandards.Organization - post: - description: Action to retrieve an existing gift certificate. - displayName: getGiftCertificate - is: - - GiftCertificateTraits.NotFound - responses: - '200': - description: Gift certificate retrieved sucessfully. - body: - application/json: - type: GiftCertificate - examples: - gift-certificate: !include Examples/gift-certificate-example.raml - queryParameters: - siteId: - type: CommerceCloudStandards.SiteId - body: - application/json: - type: GiftCertificateRequest - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ sfcc.shopper-gift-certificates ] } diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/.metadata.json b/testIntegration/stagingApis/pricing/shopper-promotions/.metadata.json deleted file mode 100644 index 10510223..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-promotions/1.0.27", - "name": "Shopper Promotions", - "description": "View details for active promotions.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-promotions", - "version": "1.0.27", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/Examples/get_campaings_400.raml b/testIntegration/stagingApis/pricing/shopper-promotions/Examples/get_campaings_400.raml deleted file mode 100644 index 07db4f1f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/Examples/get_campaings_400.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "detail": "Thrown when a start date but no end date was given, when an end date but no start date was given, or when the given end date is before the given start date", - "title": "Incorrect Syntax" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/Examples/promotions_result.raml b/testIntegration/stagingApis/pricing/shopper-promotions/Examples/promotions_result.raml deleted file mode 100644 index c4bf43f4..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/Examples/promotions_result.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 2, - "data": [ - { - "calloutMsg": "Buy5for50", - "details": "Buy5for50", - "id": "Buy5for50", - "name": "Buy5for50" - }, - { - "calloutMsg": "$5 off Men's Ties", - "details": "$5 off Men's Ties (with coupon)", - "id": "$5_off_ties_promotion", - "name": "5 Off Ties Promotion" - } - ], - "total": 2 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/Traits/PromotionNotFound.raml b/testIntegration/stagingApis/pricing/shopper-promotions/Traits/PromotionNotFound.raml deleted file mode 100644 index d3526448..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/Traits/PromotionNotFound.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in Shop Products API. -responses: - 404: - description: - Thrown when there is no promotion found with the given ID for the requested site. - body: - application/json: - type: Error - example: | - { - "type": "/PromotionNotFoundException", - "detail": "There is no promotion found with the given ID for the requested site.", - "title": "Not Found", - "instance":"/foo" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/Traits/badrequest.raml b/testIntegration/stagingApis/pricing/shopper-promotions/Traits/badrequest.raml deleted file mode 100644 index 724a684b..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/Traits/badrequest.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Promotions API. -responses: - 400: - description: - Thrown when a start date but no end date was given, when an end date but no start date was given, or when the given end date is before the given start date. - body: - application/json: - type: Error - example: | - { - "type": "/InvalidDateException", - "detail": "Invalid Start or End Date", - "title": "Invalid Start or End Date", - "instance":"/foo" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange.json deleted file mode 100644 index 7fecf183..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.27", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-promotions.raml", - "backwardsCompatible": false, - "assetId": "shopper-promotions", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Promotions", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml deleted file mode 100644 index 3fa2f65e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml deleted file mode 100644 index 9270d9e3..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml deleted file mode 100644 index 27fa085f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml +++ /dev/null @@ -1,95 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - 405: - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json deleted file mode 100644 index 75652f8c..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.12","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml deleted file mode 100644 index b616b750..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml deleted file mode 100644 index fa1a4f62..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 86f76c76..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index f29a317f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 9517ea0e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml deleted file mode 100644 index b00dcea6..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml deleted file mode 100644 index 5f1a0bcb..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`ShopperTokenTsob`:** a security scheme for endpoints that only allow the ShopperTokenTsob token type (tsob = Trusted system on behalf). - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json deleted file mode 100644 index 89dcc88a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.20"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/promotion-traits-library.raml b/testIntegration/stagingApis/pricing/shopper-promotions/promotion-traits-library.raml deleted file mode 100644 index 77ae6d33..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/promotion-traits-library.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information - -types: - Error: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml - -traits: - PromotionNotFound: !include Traits/PromotionNotFound.raml - badrequest: !include Traits/badrequest.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/shopper-promotions-description.md b/testIntegration/stagingApis/pricing/shopper-promotions/shopper-promotions-description.md deleted file mode 100644 index 9bed2860..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/shopper-promotions-description.md +++ /dev/null @@ -1,39 +0,0 @@ -# API Overview - -Retrieve information about active promotions within the context of a shopper and a site. Promotions that have been configured in the commerce platform can be retrieved using this API either by querying for particular promotion IDs, or by finding promotions associated with a campaign. - -Caching is provided for the Shopper Promotions API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) - -## Authentication & Authorization - -The Shopper Promotions API requires a JSON Web Token acquired via the Shopper Customers endpoint: - -``` -https://{{shortcode}}.api.commercecloud.salesforce.com/customer/shopper-customers/v1/organizations/{{organizationId}}/customers/actions/login -``` - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Get Promotion by Promotion ID - -Use the Shopper Promotions API to find promotion information by the promotion ID. - -For example, a customer who is browsing on a commerce shopping app built using Commerce Cloud APIs can see the details about the applied promotions in the cart. - -### Get Promotion by Campaign ID - -Use the Shopper Promotions API to find promotion information by the campaign ID. - -For example, a customer who is browsing on a commerce shopping app built using Commerce Cloud APIs can see the possible promotions that can be applied in the cart. - -### Use Hooks - -For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) - -## Resources - -### PromotionResult - -A full representation of an array of promotions detail. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/shopper-promotions/shopper-promotions.raml b/testIntegration/stagingApis/pricing/shopper-promotions/shopper-promotions.raml deleted file mode 100644 index f2b9bc94..00000000 --- a/testIntegration/stagingApis/pricing/shopper-promotions/shopper-promotions.raml +++ /dev/null @@ -1,173 +0,0 @@ -#%RAML 1.0 -title: Shopper Promotions -description: !include shopper-promotions-description.md -version: v1 -protocols: https -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/pricing/shopper-promotions/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -uses: - PromotionTraits: promotion-traits-library.raml - ApiStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - Promotion: - description: |- - Document representing a promotion. - type: - CommerceCloudStandards.OpenObject - properties: - calloutMsg: - description: The localized call-out message of the promotion. - type: string - required: false - example: $30 Fixed Shipping Amount Above 150 - currency: - description: |- - The currency that a promotion can be applied to. A null value means that the promotion applies to all allowed - currencies. - type: string - required: false - example: USD - details: - description: The localized detailed description of the promotion. - type: string - required: false - example: $30 Fixed Shipping Amount Above 150 - endDate: - description: |- - The end date of the promotion. This property follows the ISO8601 date time format: yyyy-MM-dd'T'HH:mmZ . The time - zone of the date time is always UTC. - type: datetime - required: false - example: 2015-07-04T21:00:00Z - id: - description: The unique ID of the promotion. - type: string - example: $30FixedShippingAmountAbove150 - image: - description: The URL to the promotion image. - type: string - required: false - name: - description: The localized name of the promotion. - type: string - required: false - example: $30 Fixed Shipping Amount Above 150 - startDate: - description: |- - The start date of the promotion. This property follows the ISO8601 date time format: yyyy-MM-dd'T'HH:mmZ. The - time zone of the date time is always UTC. - type: datetime - required: false - example: 2015-07-04T21:00:00Z - PromotionResult: - description: |- - Result document containing an array of promotions. - type: - CommerceCloudStandards.ClosedObject - examples: - promotion: !include Examples/promotions_result.raml - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - data: - description: The array of promotion documents. - type: array - items: - type: Promotion - total: - description: The total number of documents. - type: integer - format: int32 - -'/organizations/{organizationId}/promotions': - type: CommerceCloudStandards.Organization - get: - description: |- - Returns an array of enabled promotions for a list of specified IDs. In the request URL, you can specify up to 50 IDs. If you specify an ID that contains either parentheses or the separator characters, you must URL encode these characters. Each request returns only enabled promotions as the server does not consider promotion qualifiers or schedules. - displayName: getPromotions - is: - - PromotionTraits.PromotionNotFound - responses: - '200': - description: Retrieved promotion information successfully. - body: - application/json: - type: PromotionResult - examples: - promotion: !include Examples/promotions_result.raml - queryParameters: - siteId: - type: CommerceCloudStandards.SiteId - ids: - maxLength: 256 - type: string - example: - Buy5for50,$5_off_ties_promotion - locale: - type: string - required: false - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ sfcc.shopper-promotions ] } - '/campaigns/{campaignId}': - type: CommerceCloudStandards.Organization - uriParameters: - campaignId: - description: Find the promotions assigned to this campaign (mandatory). - maxLength: 256 - minLength: 1 - type: string - example: 5_off_ties_campaign - get: - description: |- - Handles get promotion by filter criteria. Returns an array of enabled promotions matching the specified filter - criteria. In the request URL, you must provide a campaign_id parameter, and you can optionally specify a date - range by providing start_date and end_date parameters. Both parameters are required to specify a date range, as - omitting one causes the server to return a MissingParameterException fault. Each request returns only enabled - promotions, since the server does not consider promotion qualifiers or schedules. - displayName: getPromotionsForCampaign - is: - - PromotionTraits.PromotionNotFound - - PromotionTraits.badrequest - responses: - '200': - description: Retrieved Promotion Information successfully. - body: - application/json: - type: PromotionResult - examples: - promotion: !include Examples/promotions_result.raml - '400': - description: Thrown when a start date but no end date was given, when an end date but no start date was given, or when the given end date is before the given start date. - body: - application/json: - type: ApiStandards.ErrorResponse - example: !include Examples/get_campaings_400.raml - queryParameters: - siteId: - type: CommerceCloudStandards.SiteId - startDate: - description: 'The start date of the promotion in ISO8601 date time format: yyyy-MM-dd''T''HH:mmZ' - type: string - required: false - example: 2015-07-04T21:00:00Z - endDate: - description: 'The end date of the promotion in ISO8601 date time format: yyyy-MM-dd''T''HH:mmZ' - type: string - required: false - example: 2015-07-04T21:00:00Z - currency: - description: The currency mnemonic specified for price. This parameter is effective only for product suggestions. - type: string - required: false - example: USD - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [ sfcc.shopper-promotions ] } diff --git a/testIntegration/stagingApis/pricing/source-code-groups/.metadata.json b/testIntegration/stagingApis/pricing/source-code-groups/.metadata.json deleted file mode 100644 index d8becdf4..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/source-code-groups/1.0.28", - "name": "Source Code Groups", - "description": "Create, update, delete, and search for source code groups.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "source-code-groups", - "version": "1.0.28", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Pricing" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/pricing/source-code-groups/Examples/get_source_code_groups_id.raml b/testIntegration/stagingApis/pricing/source-code-groups/Examples/get_source_code_groups_id.raml deleted file mode 100644 index 19df308b..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/Examples/get_source_code_groups_id.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "active": false, - "activeRedirect": { - "location": "urlString", - "locationType": "url" - }, - "creationDate": "2019-11-25T15:24:25.317Z", - "description": "description for source code group test2", - "enabled": false, - "endTime": "2030-10-01T00:00:00.000Z", - "id": "20% off (£30) New Customer", - "inactiveRedirect": { - "location": "urlString", - "locationType": "url" - }, - "lastModified": "2019-11-25T15:28:55.175Z", - "startTime": "2014-10-01T00:00:00.000Z" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/Examples/patch_source_code_group_id.raml b/testIntegration/stagingApis/pricing/source-code-groups/Examples/patch_source_code_group_id.raml deleted file mode 100644 index 2a343a49..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/Examples/patch_source_code_group_id.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "active": false, - "activeRedirect": { - "location": "urlString", - "locationType": "url" - }, - "creationDate": "2019-11-25T15:24:25.317Z", - "description": "description for source code group test2", - "enabled": false, - "endTime": "2030-10-01T00:00:00.000Z", - "id": "20% off (£30) New Customer", - "inactiveRedirect": { - "location": "urlString", - "locationType": "url" - }, - "lastModified": "2019-11-25T15:28:55.175Z", - "startTime": "2014-10-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/Examples/put_source_code_group_id.raml b/testIntegration/stagingApis/pricing/source-code-groups/Examples/put_source_code_group_id.raml deleted file mode 100644 index 14fb1383..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/Examples/put_source_code_group_id.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "active": false, - "activeRedirect": { - "location": "urlString", - "locationType": "url" - }, - "creationDate": "2019-11-25T15:24:25.317Z", - "description": "description for source code group test", - "enabled": false, - "endTime": "2030-10-01T00:00:00.000Z", - "id": "20% off (£30) New Customer", - "inactiveRedirect": { - "location": "urlString", - "locationType": "url" - }, - "lastModified": "2019-11-25T15:24:25.320Z", - "startTime": "2014-10-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/Examples/source-code-result-example.raml b/testIntegration/stagingApis/pricing/source-code-groups/Examples/source-code-result-example.raml deleted file mode 100644 index 2280f809..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/Examples/source-code-result-example.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 NamedExample -{ - "limit": 1, - "hits": [ - { - "active": false, - "activeRedirect": { - "location": "nintendo-wii-console", - "locationType": "product" - }, - "creationDate": "2020-01-06T15:30:26.000Z", - "description": "Email promoting save 20% of WII game when buying system", - "enabled": true, - "endTime": "2009-12-20T00:00:00.000Z", - "id": "gaming-email", - "inactiveRedirect": { - "location": "inactive-source-code", - "locationType": "page" - }, - "lastModified": "2020-01-06T15:30:26.000Z", - "startTime": "2009-11-01T00:00:00.000Z" - } - ], - "query": { - "TextQuery": { - "fields": [ - "id" - ], - "searchPhrase": "gaming" - } - }, - "offset": 0, - "total": 1 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/Traits/IdConflict.raml b/testIntegration/stagingApis/pricing/source-code-groups/Traits/IdConflict.raml deleted file mode 100644 index 5f845458..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/Traits/IdConflict.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Data Source Code Group API. - -responses: - 400: - description: | - Thrown when the ID given in the request URL is different from the ID provided in the source code group document. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "IdConflictException", - "title": "The ID given in the request URL is different from the ID provided in the source code group document.", - "instance": "/sites/SiteGenesis/source_code_groups/foo" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/Traits/InvalidQuery.raml b/testIntegration/stagingApis/pricing/source-code-groups/Traits/InvalidQuery.raml deleted file mode 100644 index 03ea98bd..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/Traits/InvalidQuery.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response fn the query is ill-formed. -responses: - 400: - description: | - Thrown if the query is ill-formed. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/Traits/SourceCodeGroupInvalid.raml b/testIntegration/stagingApis/pricing/source-code-groups/Traits/SourceCodeGroupInvalid.raml deleted file mode 100644 index e7d98d36..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/Traits/SourceCodeGroupInvalid.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Data Source Code Group API. -responses: - 400: - description: | - Thrown in case the source code group does not exist matching the given ID. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "SourceCodeGroupInvalidException", - "title": "The source code group passed in is not valid.", - "instance": "/sites/SiteGenesis/source_code_groups/foo" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/Traits/SourceCodeGroupNotFound.raml b/testIntegration/stagingApis/pricing/source-code-groups/Traits/SourceCodeGroupNotFound.raml deleted file mode 100644 index dc12f270..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/Traits/SourceCodeGroupNotFound.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in the Data Source Code Group API. -responses: - 404: - description: | - Thrown in case the source code group does not exist matching the given ID. - body: - application/json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "SourceCodeGroupNotFoundException", - "title": "No source code group with ID 'foo' for site 'SiteGenesis' could be found.", - "instance": "/sites/SiteGenesis/source_code_groups/foo" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/data-source-code-group-traits-library.raml b/testIntegration/stagingApis/pricing/source-code-groups/data-source-code-group-traits-library.raml deleted file mode 100644 index 51b536c9..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/data-source-code-group-traits-library.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information. - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -traits: - SourceCodeGroupNotFound: !include Traits/SourceCodeGroupNotFound.raml - SourceCodeGroupInvalid: !include Traits/SourceCodeGroupInvalid.raml - IdConflict: !include Traits/IdConflict.raml - InvalidQuery: !include Traits/InvalidQuery.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange.json deleted file mode 100644 index 2775c342..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.28", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "source-code-groups.raml", - "backwardsCompatible": false, - "assetId": "source-code-groups", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Source Code Groups", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml deleted file mode 100644 index 3fa2f65e..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml deleted file mode 100644 index 9270d9e3..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml deleted file mode 100644 index 27fa085f..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml +++ /dev/null @@ -1,95 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - 405: - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json deleted file mode 100644 index 75652f8c..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.12","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml deleted file mode 100644 index b616b750..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml deleted file mode 100644 index fa1a4f62..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 86f76c76..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index f29a317f..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 9517ea0e..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml deleted file mode 100644 index b00dcea6..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml deleted file mode 100644 index 5f1a0bcb..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/commerce-cloud-standards.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`ShopperTokenTsob`:** a security scheme for endpoints that only allow the ShopperTokenTsob token type (tsob = Trusted system on behalf). - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json deleted file mode 100644 index 89dcc88a..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.20/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.20"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/source-code-groups-description.md b/testIntegration/stagingApis/pricing/source-code-groups/source-code-groups-description.md deleted file mode 100644 index 693720a8..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/source-code-groups-description.md +++ /dev/null @@ -1,9 +0,0 @@ -# API Overview - -APIs to support the creation, update, deletions and search of source code groups. - -## Authentication & Authorization - -The client requesting the source code information must have access to the Source Code resource. The API requests pass a bearer token in the header of the request. The client must first authenticate against Account Manager to log in. - -You must include the relevant scope(s) in the client ID used to generate the token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/source-code-groups/source-code-groups.raml b/testIntegration/stagingApis/pricing/source-code-groups/source-code-groups.raml deleted file mode 100644 index b5667495..00000000 --- a/testIntegration/stagingApis/pricing/source-code-groups/source-code-groups.raml +++ /dev/null @@ -1,261 +0,0 @@ -#%RAML 1.0 -title: Source Code Groups -version: v1 -protocols: HTTPS -mediaType: application/json -baseUri: 'https://{shortCode}.api.commercecloud.salesforce.com/pricing/source-code-groups/{version}' -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ -description: !include source-code-groups-description.md - -uses: - SourceCodeGroupTraits: data-source-code-group-traits-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - SourceCodeGroup: - description: |- - Document representing a source code group. - type: - CommerceCloudStandards.OpenObject - properties: - active: - description: The active flag, a computed value based on start and end time. - type: boolean - required: false - example: true - activeRedirect: - description: The active redirect information. - type: SourceCodeRedirectInfo - required: false - cookieDuration: - description: The cookie duration in days. - maximum: 999 - minimum: 0 - type: integer - format: int32 - required: false - example: 25 - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 2019-10-20T12:00:00Z - description: - description: The description. - type: string - required: false - example: | - This source code group is used to email promoting Flat Screen Televeisions. - enabled: - description: The enabled flag for storefront to consider the source code group, default to false. - type: boolean - required: false - example: false - endTime: - description: The end time. - type: datetime - required: false - example: 2019-11-20T12:00:00Z - id: - description: The ID of source code group. - maxLength: 28 - minLength: 1 - type: string - example: 'TV-Email' - inactiveRedirect: - description: The inactive redirect information. - type: SourceCodeRedirectInfo - required: false - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 2019-10-20T12:00:00Z - specifications: - description: Source code specifications. - type: array - items: - type: SourceCodeSpecification - required: false - startTime: - description: The start time. - type: datetime - required: false - example: 2019-10-20T12:00:00Z - SourceCodeGroupSearchResult: - description: |- - Document representing a source code group search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of search hits. Can be empty. - type: SourceCodeGroup[] - SourceCodeRedirectInfo: - description: |- - Document representing source code redirect info. - type: - CommerceCloudStandards.ClosedObject - properties: - locationType: - description: |- - The type of redirect location, such as product (for a product page), category (a category page), home (for home page), page (for content), or URL (for a URL location). - type: string - enum: - - default - - home - - product - - category - - page - - url - example: url - location?: - description: |- - The location of redirect, based on the type, this can be a product location, category location, home page, content page, or just a URL. - type: string - SourceCodeSpecification: - description: |- - Document representing a source code specification. - type: - CommerceCloudStandards.ClosedObject - properties: - expression: - description: |- - Expression is a value for the "Source Code Specification" may be literal source code, or it may contain wildcards. - Literal code is simply the literal code. Valid characters are letters and numbers (no spaces). - A wildcard allows a single source code specification to match multiple source codes. The following wildcards are supported: - - * ? - Matches any single alpha-numeric character. - - For example: the source code specification 'ABC?' would match 'ABCD' or 'ABC3', but not 'ABCDE'. - * \* - Matches any sequence of alpha-numeric characters. - - For example: the source code specification 'ABC*' would match 'ABCD', 'ABCDE', or 'ABC123'. - * [n1..n2] - Matches any number from n1 through and including n2. - - For example: the source code specification 'ABC[3..22]' would match 'ABC3', 'ABC4' or 'ABC22', but not 'ABC33' or 'ABCD'. - type: string - example: 'televisions[1..10000]' - -'/organizations/{organizationId}/source-code-groups/{id}': - delete: - description: Deletes the source code group by ID. - displayName: deleteSourceCodeGroup - is: - - CommerceCloudStandards.SiteSpecific - responses: - '204': - description: API returned successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.source-codes.rw ] } - get: - description: Action to retrieve source code group information. - displayName: getSourceCodeGroup - is: - - SourceCodeGroupTraits.SourceCodeGroupNotFound - - CommerceCloudStandards.SiteSpecific - responses: - '200': - description: API returned successfully. - body: - application/json: - type: SourceCodeGroup - example: !include Examples/get_source_code_groups_id.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.source-codes, sfcc.source-codes.rw ] } - patch: - description: Updates the source code group with the specified information. - displayName: updateSourceCodeGroup - is: - - SourceCodeGroupTraits.SourceCodeGroupNotFound - - CommerceCloudStandards.SiteSpecific - responses: - '200': - description: API returned successfully. - body: - application/json: - type: SourceCodeGroup - example: !include Examples/patch_source_code_group_id.raml - body: - application/json: - type: SourceCodeGroup - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.source-codes.rw ] } - put: - description: Creates a source code group using the information provided. - displayName: createSourceCodeGroup - is: - - SourceCodeGroupTraits.SourceCodeGroupInvalid - - SourceCodeGroupTraits.IdConflict - - CommerceCloudStandards.SiteSpecific - responses: - '200': - description: API returned successfully. - body: - application/json: - type: SourceCodeGroup - example: !include Examples/put_source_code_group_id.raml - - body: - application/json: - type: SourceCodeGroup - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.source-codes.rw ] } - uriParameters: - id: - description: The ID of the source code group to create. - maxLength: 28 - minLength: 1 - type: string - example: MySourceCodeGroup -'/organizations/{organizationId}/source-code-groups': - post: - description: | - Searches for source code groups. - - The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: - - | Attribute | Type | - |-----------|--------| - | id| String | - | description | String | - | sourceCode | String | - | startTime | DateTime | - | endTime | DateTime | - | creationDate | DateTime | - | enabled | Boolean | - | active | Boolean | - - The sourceCode and active fields can only be used in Queries as conjunctions (using AND). If the field is used in a disjunction - (OR) an exception will be thrown. - - The output of the query can also be sorted, with the following sortable attributes: - - | Attribute | Type | - |-----------|--------| - | id| String | - | description | String | - | enabled | Boolean | - | creationDate | DateTime | - displayName: sourceCodeGroupsSearch - is: - - SourceCodeGroupTraits.InvalidQuery - - CommerceCloudStandards.SiteSpecific - responses: - '200': - description: The API executed successfully. - body: - application/json: - type: SourceCodeGroupSearchResult - example: !include Examples/source-code-result-example.raml - '400': - description: SearchRequest post body is ill-formed. - body: - application/json: - type: CommerceCloudStandards.SearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.source-codes, sfcc.source-codes.rw ] } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/.metadata.json b/testIntegration/stagingApis/product/catalogs/.metadata.json deleted file mode 100644 index 3bd3a173..00000000 --- a/testIntegration/stagingApis/product/catalogs/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/catalogs/0.0.36", - "name": "Catalogs", - "description": "Build searchable product categories and catalogs.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "catalogs", - "version": "0.0.36", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Product" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/product/catalogs/Examples/catalog-body.raml b/testIntegration/stagingApis/product/catalogs/Examples/catalog-body.raml deleted file mode 100644 index d4d2e0f4..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/catalog-body.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "apparel-catalog", - "online": true - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/catalog-search-body-query.raml b/testIntegration/stagingApis/product/catalogs/Examples/catalog-search-body-query.raml deleted file mode 100644 index 5f181fd4..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/catalog-search-body-query.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -#title: category-search-body -value: - { "query" : { - "termQuery": { - "fields" : ["is_storefront_catalog"], - "operator" : "is", - "values" : [true] - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/catalog-search-body.raml b/testIntegration/stagingApis/product/catalogs/Examples/catalog-search-body.raml deleted file mode 100644 index fa84edcb..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/catalog-search-body.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 NamedExample -#title: category-search-body -value: - { - "start": 0, - "count": 50, - "query": { - "boolQuery": { - "should": [ - { - "textQuery": { - "searchPhrase": "Luggage", - "fields": [ - "name" - ] - } - } - ] - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/catalog-search-result-query.raml b/testIntegration/stagingApis/product/catalogs/Examples/catalog-search-result-query.raml deleted file mode 100644 index 97e31eac..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/catalog-search-result-query.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "limit": 3, - "hits": [ - { - "assignedSites": [ - { - "cartridges": "sitegenesis_storefront_pipelines:sitegenesis_storefront_core:plugin_apple_pay:plugin_facebook:plugin_pinterest_commerce:plugin_web_payments:bc_content:core", - "customerListLink": { - "customerListId": "Site_1" - }, - "displayName": { - "default": "Site Site_1" - }, - "id": "Site_1", - "inDeletion": false, - "storefrontStatus": "online" - } - ], - "categoryCount": 53, - "creationDate": "2019-02-22T00:11:14.000Z", - "id": "NavigationCatalog_9430935", - "lastModified": "2019-02-22T00:11:14.000Z", - "name": { - "default": "Root Category" - }, - "online": true, - "recommendationCount": 0, - "rootCategory": "root" - }, - { - "assignedSites": [ - { - "cartridges": "sitegenesis_storefront_controllers:sitegenesis_storefront_core:plugin_apple_pay:plugin_facebook:plugin_pinterest_commerce:plugin_web_payments:bc_content:core", - "customerListLink": { - "customerListId": "SiteGenesis" - }, - "displayName": { - "default": "SiteGenesis" - }, - "id": "SiteGenesis", - "inDeletion": false, - "storefrontStatus": "online" - } - ], - "categoryCount": 66, - "creationDate": "2019-02-21T22:10:04.000Z", - "id": "storefront-catalog-en", - "lastModified": "2019-02-21T22:10:04.000Z", - "name": { - "it-IT": "Catalogo dello storefront - IT", - "default": "Storefront Catalog - EN", - "fr-FR": "Catalogue de boutique en ligne - FR", - "zh-CN": "网店目录 - EN", - "ja-JP": "ストアフロントカタログ - EN" - }, - "online": true, - "recommendationCount": 1865, - "rootCategory": "root" - }, - { - "assignedSites": [ - { - "cartridges": "sitegenesis_storefront_controllers:sitegenesis_storefront_core:plugin_apple_pay:plugin_facebook:plugin_pinterest_commerce:plugin_web_payments:bc_content:core", - "customerListLink": { - "customerListId": "SiteGenesis" - }, - "displayName": { - "default": "SiteGenesisGlobal" - }, - "id": "SiteGenesisGlobal", - "inDeletion": false, - "storefrontStatus": "online" - } - ], - "categoryCount": 42, - "creationDate": "2019-02-21T22:10:09.000Z", - "id": "storefront-catalog-non-en", - "lastModified": "2019-02-21T22:10:09.000Z", - "name": { - "it-IT": "Storefront Catalog - Non-EN", - "default": "Storefront Catalog - Non-EN", - "fr-FR": "Catalogue de boutique en ligne - Non - EN", - "zh-CN": "Storefront Catalog - Non-EN", - "ja-JP": "ストアフロントカタログ - Non-EN" - }, - "online": true, - "recommendationCount": 1865, - "rootCategory": "root" - } - ], - "query": { - "termQuery": { - "fields": [ - "is_storefront_catalog" - ], - "operator": "is", - "values": [ - true - ] - } - }, - "select": "(**)", - "offset": 0, - "total": 3 - } diff --git a/testIntegration/stagingApis/product/catalogs/Examples/catalog-search-result.raml b/testIntegration/stagingApis/product/catalogs/Examples/catalog-search-result.raml deleted file mode 100644 index 609592d1..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/catalog-search-result.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "hits": [ - { - "catalogId": "apparel-catalog", - "id": "mens-accessories-luggage" - } - ], - "query": { - }, - "limit": 1, - "offset": 0, - "total": 1 - } diff --git a/testIntegration/stagingApis/product/catalogs/Examples/catalog.raml b/testIntegration/stagingApis/product/catalogs/Examples/catalog.raml deleted file mode 100644 index 7881007d..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/catalog.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "categoryCount": 30, - "creationDate": "2019-02-21T22:09:39.000Z", - "id": "apparel-catalog", - "lastModified": "2019-02-21T22:09:39.000Z", - "name": { - "default": "Apparel Master Catalog" - }, - "online": true, - "recommendationCount": 0, - "rootCategory": "root" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/catalogcategoryprdAssignment-example.raml b/testIntegration/stagingApis/product/catalogs/Examples/catalogcategoryprdAssignment-example.raml deleted file mode 100644 index d3f6fa67..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/catalogcategoryprdAssignment-example.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -#title: catalogcategoryprdAssignment-example -value: - { - "catalogId": "apparel-catalog", - "categoryId": "kids-wear", - "owningCatalogName": { - "default": "Electronics Master Catalog" - }, - "position": 1.0, - "productId": "apple-ipod-shuffle", - "productName": { - "default": "Apple iPod Shuffle" - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/catalogcategoryprodAssignment-body.raml b/testIntegration/stagingApis/product/catalogs/Examples/catalogcategoryprodAssignment-body.raml deleted file mode 100644 index e83c63da..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/catalogcategoryprodAssignment-body.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -#title: catalogcategoryprodAssignment-body -value: - { - - "catalogId": "apparel-catalog", - "categoryId": "kids-wear", - "productId": "apple-ipod-shuffle", - "position": 1.0 - - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/catalogs.raml b/testIntegration/stagingApis/product/catalogs/Examples/catalogs.raml deleted file mode 100644 index c29ad699..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/catalogs.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -# This example is for Data Catalogs -value: - { - "limit": 2, - "data": [ - { - "id": "apparel-catalog" - }, - { - "id": "electronics-catalog" - } - ], - "offset": 0, - "total": 2 - } diff --git a/testIntegration/stagingApis/product/catalogs/Examples/categories.raml b/testIntegration/stagingApis/product/catalogs/Examples/categories.raml deleted file mode 100644 index 8847820f..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/categories.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 3, - "data": [ - { - "id": "kids-wear" - }, - { - "id": "mens" - }, - { - "id": "mens-accessories-luggage" - } - ], - "offset": 0, - "total": 3 - - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/category-body.raml b/testIntegration/stagingApis/product/catalogs/Examples/category-body.raml deleted file mode 100644 index 1c2c8385..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/category-body.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -#title: category-body -value: - { - "catalogId": "apparel-catalog", - "id": "mens", - "online": true - -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/category-example.raml b/testIntegration/stagingApis/product/catalogs/Examples/category-example.raml deleted file mode 100644 index 6cd2612d..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/category-example.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "catalogId": "apparel-catalog", - "categories": [ - { - "catalogId": "apparel-catalog", - "creationDate": "2019-02-21T22:09:40.000Z", - "id": "mens-accessories", - "lastModified": "2019-02-21T22:10:14.000Z", - "name": { - "default": "Accessories" - }, - "online": true, - "parentCategoryId": "mens" - }, - { - "catalogId": "apparel-catalog", - "creationDate": "2019-02-21T22:09:40.000Z", - "id": "mens-clothing", - "lastModified": "2019-02-21T22:10:15.000Z", - "name": { - "default": "Clothing" - }, - "online": true, - "parentCategoryId": "mens" - } - ], - "creationDate": "2019-02-21T22:09:40.000Z", - "id": "mens", - "lastModified": "2019-09-04T15:07:14.000Z", - "online": true, - "parentCategoryId": "root", - "position": 2.0 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/category_product_assignment.raml b/testIntegration/stagingApis/product/catalogs/Examples/category_product_assignment.raml deleted file mode 100644 index 54528efd..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/category_product_assignment.raml +++ /dev/null @@ -1,61 +0,0 @@ -#%RAML 1.0 NamedExample -#title: category_product_assignment -value: - { - "hits":[ - { - "catalogId":"NTOCatalog", - "categoryId":"NTOFirstClassCategory", - "creationDate":"2024-05-27T10:11:48.000Z", - "lastModified":"2024-05-27T10:11:48.000Z", - "owningCatalogName":{ - "default":"NTO Product Image Catalog" - }, - "product":{ - "assignedCategories":[ - { - "catalogId":"NTOCatalog", - "categoryId":"NTOFirstClassCategory" - } - ], - "brand":"Wapi brand", - "creationDate":"2024-05-27T10:11:45.000Z", - "id":"NTOSimpleBundle", - "image":{ - "absUrl":"https://www.yoursecureimageserver.com/foo/bar/bundle_image_detail.jpg", - "alt":{ - "default":"ALT bundle image detail" - }, - "path":"bundle_image_detail.jpg", - "title":{ - "default":"TITLE bundle image detail" - } - }, - "onlineFlag":{ - "default":true - }, - "searchable":{ - "default":true - } - }, - "productId":"NTOSimpleBundle", - "productName":{ - "default":"Simple Web API Bundle" - } - } - ], - "query":{ - "TermQuery":{ - "fields":[ - "product_id" - ], - "operator":"is", - "values":[ - "NTOSimpleBundle" - ] - } - }, - "limit":1, - "offset":0, - "total":1 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/category_search-body-example.raml b/testIntegration/stagingApis/product/catalogs/Examples/category_search-body-example.raml deleted file mode 100644 index aec20ec6..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/category_search-body-example.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the Data Category_Search body -value: - { "query" : { - "termQuery": { - "fields" : ["online"], - "operator" : "is", - "values" : [false] - } - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/category_search-result-example.raml b/testIntegration/stagingApis/product/catalogs/Examples/category_search-result-example.raml deleted file mode 100644 index d7d7fb10..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/category_search-result-example.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the Data Category_Search -value: - { - "limit": 1, - "hits": [ - { - "catalogId": "storefront-catalog-en", - "creationDate": "2019-02-21T22:10:04.000Z", - "id": "electronics-accessories", - "lastModified": "2019-02-21T22:10:49.000Z", - "name": { - "default": "Accessories" - }, - "online": false, - "pageTitle": { - "default": "Electronics Accessories" - }, - "parentCategoryId": "electronics", - "position": 14.0 - } - ], - "query" : { - "termQuery": { - "fields" : ["online"], - "operator" : "is", - "values" : [false] - } - }, - "select": "(**)", - "offset": 0, - "total": 1 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/excludedProductsRequest.raml b/testIntegration/stagingApis/product/catalogs/Examples/excludedProductsRequest.raml deleted file mode 100644 index f58b94a4..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/excludedProductsRequest.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - [ - { - "productId": "red-shirt" - }, - { - "productId": "blue-shirt" - } - ] - } diff --git a/testIntegration/stagingApis/product/catalogs/Examples/executionJobStatusResponse.raml b/testIntegration/stagingApis/product/catalogs/Examples/executionJobStatusResponse.raml deleted file mode 100644 index cc84686b..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/executionJobStatusResponse.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - type: "evaluation", - "total": 5, - "jobStatus": "success", - "productIds": [ - "25772792", - "25772717" - ], - "limit": 2, - "offset": 3 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/executionRequest.raml b/testIntegration/stagingApis/product/catalogs/Examples/executionRequest.raml deleted file mode 100644 index a807cf6a..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/executionRequest.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "evaluation": true - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/getConditionByID.raml b/testIntegration/stagingApis/product/catalogs/Examples/getConditionByID.raml deleted file mode 100644 index cd97e56d..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/getConditionByID.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "NameCondition", - "attributeKey": "name", - "attributeValue": [ - "Shirt" - ], - "attributeName": "name", - "operator": "starts_with" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/getConditions.raml b/testIntegration/stagingApis/product/catalogs/Examples/getConditions.raml deleted file mode 100644 index 50e38bb5..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/getConditions.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 2, - "data": [ - { - "id": "NameCondition", - "attributeKey": "name", - "attributeValue": [ - "Shirt" - ], - "attributeName": "name", - "operator": "starts_with" - }, - { - "id": "BrandCondition", - "attributeKey": "brand", - "attributeValue": [ - "Van Heusen" - ], - "attributeName": "brand", - "operator": "equals" - } - ], - "total": 2 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/getExcludedProducts.raml b/testIntegration/stagingApis/product/catalogs/Examples/getExcludedProducts.raml deleted file mode 100644 index c69cc915..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/getExcludedProducts.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 2, - "data": [ - { - "productId": "red-shirt" - }, - { - "productId": "blue-shirt" - } - ], - "total" :2 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/getRules.raml b/testIntegration/stagingApis/product/catalogs/Examples/getRules.raml deleted file mode 100644 index f5aa9211..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/getRules.raml +++ /dev/null @@ -1,56 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 2, - "data": [ - { - "id": "VHRule", - "enabled": true, - "exclusion": false, - "categorizationLocaleId": "en-US", - "categorizationClassificationFlag": true, - "categorizationPrimaryFlag": true, - "conditions": [ - { - "id": "NameCondition", - "attributeKey": "name", - "attributeValue": ["Shirt"], - "attributeName": "name", - "operator": "starts_with" - }, - { - "id": "BrandCondition", - "attributeKey": "brand", - "attributeValue": ["Van Heusen"], - "attributeName": "brand", - "operator": "equals" - } - ] - }, - { - "id": "DXRule", - "enabled": true, - "exclusion": false, - "categorizationLocaleId": "en-US", - "categorizationClassificationFlag": true, - "categorizationPrimaryFlag": true, - "conditions": [ - { - "id": "NameCondition", - "attributeKey": "name", - "attributeValue": ["Shirt"], - "attributeName": "name", - "operator": "starts_with" - }, - { - "id": "BrandCondition", - "attributeKey": "brand", - "attributeValue": ["DX"], - "attributeName": "brand", - "operator": "equals" - } - ] - } - ], - "total": 2 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/getRulesByID.raml b/testIntegration/stagingApis/product/catalogs/Examples/getRulesByID.raml deleted file mode 100644 index cc5592cb..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/getRulesByID.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "VHRule", - "enabled": true, - "exclusion": false, - "categorizationLocaleId": "en-US", - "categorizationClassificationFlag": true, - "categorizationPrimaryFlag": true, - "conditions": [ - { - "id": "NameCondition", - "attributeKey": "name", - "attributeValue": ["Shirt"], - "attributeName": "name", - "operator": "starts_with" - }, - { - "id": "BrandCondition", - "attributeKey": "brand", - "attributeName": "brand", - "attributeValue": ["Van Heusen"], - "operator": "equals" - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/postRuleRequestBody.raml b/testIntegration/stagingApis/product/catalogs/Examples/postRuleRequestBody.raml deleted file mode 100644 index 78aa367a..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/postRuleRequestBody.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "data": - [ - { - "id": "VHRule", - "enabled": true, - "exclusion": false, - "categorizationLocaleId": "en-US", - "categorizationClassificationFlag": true, - "categorizationPrimaryFlag": true, - "conditions": [ - { - "id": "NameCondition", - "attributeKey": "name", - "attributeValue": ["Shirt"], - "operator": "starts_with" - }, - { - "id": "BrandCondition", - "attributeKey": "brand", - "attributeValue": ["Van Heusen"], - "operator": "equals" - } - ] - }, - { - "id": "DXRule", - "enabled": true, - "exclusion": false, - "categorizationLocaleId": "en-US", - "categorizationClassificationFlag": true, - "categorizationPrimaryFlag": true, - "conditions": [ - { - "id": "NameCondition", - "attributeKey": "name", - "attributeValue": ["Shirt"], - "operator": "starts_with" - }, - { - "id": "BrandCondition", - "attributeKey": "brand", - "attributeValue": ["DX"], - "operator": "equals" - } - ] - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/product-assignment-body-example.raml b/testIntegration/stagingApis/product/catalogs/Examples/product-assignment-body-example.raml deleted file mode 100644 index 79b1afc9..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/product-assignment-body-example.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 NamedExample -# title: product-assignment-body-example -value: - { - "query": { - "term_query": { - "fields": [ - "product_id" - ], - "operator": "is", - "values": [ - "NTOSimpleBundle" - ] - } - }, - "expand": [ - "product_categories", - "product_images" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/putConditionRequestBody.raml b/testIntegration/stagingApis/product/catalogs/Examples/putConditionRequestBody.raml deleted file mode 100644 index cf4448b4..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/putConditionRequestBody.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "NameCondition", - "attributeKey": "brand", - "attributeValue": [ - "Van Heusen" - ], - "operator": "equals" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/putRuleRequestBody.raml b/testIntegration/stagingApis/product/catalogs/Examples/putRuleRequestBody.raml deleted file mode 100644 index 75f78887..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/putRuleRequestBody.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id": "VHRule", - "enabled" : true, - "exclusion" : false - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Examples/single-category.raml b/testIntegration/stagingApis/product/catalogs/Examples/single-category.raml deleted file mode 100644 index e8fd8f44..00000000 --- a/testIntegration/stagingApis/product/catalogs/Examples/single-category.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "catalogId": "apparel-catalog", - "creationDate": "2019-02-21T22:09:40.000Z", - "id": "mens", - "lastModified": "2019-09-04T15:07:14.000Z", - "online": true, - "parentCategoryId": "root", - "position": 2.0 -} diff --git a/testIntegration/stagingApis/product/catalogs/Traits/BadRequest.raml b/testIntegration/stagingApis/product/catalogs/Traits/BadRequest.raml deleted file mode 100644 index 60845617..00000000 --- a/testIntegration/stagingApis/product/catalogs/Traits/BadRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Catalogs API. -responses: - 400: - description: | - Bad Request. Thrown in case a specified parameter value is unknown. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Bad Request", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-query-parameter", - "detail": "offset-BAD-REQUEST parameters are not defined in RAML." - } diff --git a/testIntegration/stagingApis/product/catalogs/Traits/JobExecutionNotFound.raml b/testIntegration/stagingApis/product/catalogs/Traits/JobExecutionNotFound.raml deleted file mode 100644 index c803a96e..00000000 --- a/testIntegration/stagingApis/product/catalogs/Traits/JobExecutionNotFound.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response when no JobExecution could be found for the specified catalog category. - -responses: - 404: - description: | - Resource requested not found. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "JobExecution Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/job-execition-not-found", - "detail": "No JobExecution could be found for given catalog, category", - "catalogId": "apparel-catalog", - "category": "Mens" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Traits/NotFound.raml b/testIntegration/stagingApis/product/catalogs/Traits/NotFound.raml deleted file mode 100644 index 3bf7f0c8..00000000 --- a/testIntegration/stagingApis/product/catalogs/Traits/NotFound.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in Data Catalogs API. -responses: - 404: - description: | - Requested resource not found. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Catalog Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/catalog-not-found", - "detail": "No catalog with ID '095c2082-5f2a-47d5-bc73-27d06c5c9db8' could be found.", - "catalogId": "095c2082-5f2a-47d5-bc73-27d06c5c9db8" - } diff --git a/testIntegration/stagingApis/product/catalogs/Traits/RuleNotFound.raml b/testIntegration/stagingApis/product/catalogs/Traits/RuleNotFound.raml deleted file mode 100644 index 7bbd5e91..00000000 --- a/testIntegration/stagingApis/product/catalogs/Traits/RuleNotFound.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response when no rule could be found for the specified rule ID. - -responses: - 404: - description: | - Resource requested not found. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Rule Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/rule-not-found", - "detail": "No Rule with ID 'VHRULE' could be found.", - "ruleId": "VHRULE" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/Traits/Unauthorized.raml b/testIntegration/stagingApis/product/catalogs/Traits/Unauthorized.raml deleted file mode 100644 index c71fbeef..00000000 --- a/testIntegration/stagingApis/product/catalogs/Traits/Unauthorized.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 401 response in Data Catalogs when an invalid client_id is passed. - - - -responses: - 401: - description: | - Unauthorized. Your Client ID is invalid, or you are not allowed to access - the content provided by the requested URL. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "iI6IjEiLCJhbGciOiJIUzI1NiIsInR5cCI6Ik" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/catalogs-description.md b/testIntegration/stagingApis/product/catalogs/catalogs-description.md deleted file mode 100644 index 678ffaf5..00000000 --- a/testIntegration/stagingApis/product/catalogs/catalogs-description.md +++ /dev/null @@ -1,54 +0,0 @@ -# API Overview - -With the Catalogs API, you can: - -- Create, view, edit, and delete catalogs and categories. -- Assign and unassign products to categories. -- Search for a product within a category. -- Search for categories within a catalog or within a merchandising system. - -For more information, see the [Catalogs](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Catalogs/Catalogs.html) and [Categories](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/Catalogs/Categories.html) sections of the Salesforce B2C Commerce Infocenter. - -## Authentication & Authorization - -The client managing catalog and category information must have access to the Categories and Catalogs resources. This API requires a bearer token in the header of the request. The client accessing the API must first authenticate against Account Manager to get the bearer token. - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -Here are some common use cases for the API: - -### Categorize Products - -Use the Catalogs API to assign products to categories so that shoppers can find all products that are merchandized in that category. - -![b2c-commerce-catalogs-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-catalogs-screenshot-1.png) - -### Validate Product Category Assignments - -Use the Catalogs API to search for products assigned to a category within a site catalog to validate whether a product is merchandized and ready to be sold in one or more ecommerce channels. You can also update a product to make sure it meets the readiness criteria for each channel. - -![b2c-commerce-catalogs-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-catalogs-screenshot-2.png) - -### Edit Categories - -Use the Catalogs API to edit categories assigned to a catalog to change the navigation path, make a category online or offline, change position of a category relative to other categories within a catalog. - -![b2c-commerce-catalogs-screenshot-3.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-catalogs-screenshot-3.png) - -## Resources - -A Salesforce B2C Commerce storefront implementation uses a Catalog, Category, and Product architecture to organize your storefront. Product data is stored in a catalog, and the stored product data is organized by categories. You can create any number of catalog, category, and product scenarios to address your business needs. - -### Catalogs - -A catalog is a collection of categories, products, and images. It’s best practice to create two catalogs: the master catalog and the storefront catalog. The master catalog provides the same structure as an external system of record for your products. The storefront catalog is where you create categories that appear on your storefront. - -### Categories - -You create and organize categories and subcategories to organize and group products in your catalog and on your storefront. Categories allow Products to be organized into hierarchical structures. Categories can have relationships to other parent categories. Each category also can provide a context that is inherited by subcategories, for example a category may have an attribute value assigned to it and any product assigned to the category or a subcategory would inherit the attribute value as long as the product is assigned. Once the product is removed from the category those attribute values would no longer be in the context of the product. - -### Products - -Products are the items and services for sale on the storefront. All of your product data is stored in your master catalog. For a product or service to show on your storefront, it must be assigned to a category. diff --git a/testIntegration/stagingApis/product/catalogs/catalogs-traits-library.raml b/testIntegration/stagingApis/product/catalogs/catalogs-traits-library.raml deleted file mode 100644 index 4b862588..00000000 --- a/testIntegration/stagingApis/product/catalogs/catalogs-traits-library.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -types: - ErrorResponse: ApiStandards.ErrorResponse - -traits: - Unauthorized: !include Traits/Unauthorized.raml - BadRequest: !include Traits/BadRequest.raml - NotFound: !include Traits/NotFound.raml - RuleNotFound: !include Traits/RuleNotFound.raml - JobExecutionNotFound: !include Traits/JobExecutionNotFound.raml - offset-paginated: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml - RateLimited3: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml - RateLimited4: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml - RateLimited5: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml - diff --git a/testIntegration/stagingApis/product/catalogs/catalogs.raml b/testIntegration/stagingApis/product/catalogs/catalogs.raml deleted file mode 100644 index 34a0824f..00000000 --- a/testIntegration/stagingApis/product/catalogs/catalogs.raml +++ /dev/null @@ -1,2428 +0,0 @@ -#%RAML 1.0 -title: Catalogs -version: v1 -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/product/catalogs/{version} -protocols: HTTPS - -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include catalogs-description.md - -uses: - CatalogTraits: catalogs-traits-library.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - Search: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml - -types: - Catalogs: - description: Catalogs allow categories to be organized into hierarchical structures. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 2 - data: - description: The collection of catalogs. - type: Catalog[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 10 - Catalog: - description: Document representing a catalog. - type: - CommerceCloudStandards.OpenObject - properties: - assignedProductCount: - description: The count of products assigned to the catalog. It is read only. - type: integer - format: int32 - required: false - example: 20 - assignedSites: - description: The sites assigned to the catalog. It is read only. - type: Site[] - required: false - categoryCount: - description: The category count of catalog. It is read only. - type: integer - format: int32 - required: false - example: 10 - creationDate: - description: Returns the value of attribute 'creationDate'. It is read only. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - description: - description: The description of catalog. - type: object - properties: - //: - type: string - required: false - id: - description: The catalog ID. - type: string - example: apparel-catalog - lastModified: - description: Returns the value of attribute 'lastModified'. It is read only. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - name: - description: The catalog name. - type: object - properties: - //: - type: string - required: false - online: - description: The online status of catalog. - type: boolean - required: false - example: false - ownedProductCount: - description: The count of products owned by the catalog. It is read only. - type: integer - format: int32 - required: false - example: 100 - recommendationCount: - description: The recommendation count of the catalog. It is read only. - type: integer - format: int32 - required: false - example: 50 - rootCategory: - description: The root category of the catalog. It is read only. - type: string - required: false - example: apparel-master-catalog - CatalogCategoryId: - description: Document representing a catalog category ID. - properties: - catalogId: - description: The ID of the catalog that owns the category. - maxLength: 256 - minLength: 1 - type: string - example: apparel-catalog - categoryId: - description: The ID of the category. - maxLength: 256 - minLength: 1 - type: string - example: mens - CatalogCategorySearchRequest: - type: CommerceCloudStandards.SearchRequest - example: !include Examples/catalog-search-body.raml - CatalogSearchRequest: - type: CommerceCloudStandards.SearchRequest - example: !include Examples/catalog-search-body-query.raml - Categories: - description: Categories allow products to be organized into hierarchical structures. Categories can have relationships to other parent categories. Each category also can provide a context inherited by subcategories. For example, a category may have an attribute value assigned to it, and any product assigned to the category or a subcategory would inherit the attribute value as long as the product is assigned. Once the product is removed from the category those attribute values would no longer be in the context of the product. Linking of categories is also used for Site hierarchical navigation. For example, inside 'Clothing' you may have 'Mens', and inside 'Mens' you may have 'Pants'. Categories are not *Tags*. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: Data - type: Category[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 100 - Category: - description: Document representing a category. - type: - CommerceCloudStandards.OpenObject - properties: - catalogId: - description: The ID of the catalog that contains it. - type: string - required: false - example: apparel-catalog - categories: - description: The array of subcategories for the category. - type: Category[] - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. It is read only. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - description: - description: The localized description of the category. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Mens Clothing Outerwear"} - id: - description: The ID of the category. - maxLength: 256 - minLength: 1 - type: string - example: mens-clothing-outerwear - image: - description: The name of the category image. The URL to the image is computed. - maxLength: 256 - minLength: 1 - type: string - required: false - example: Summer Bomber Jacket - lastModified: - description: Returns the value of attribute 'lastModified'. It is read only. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - name: - description: The localized name of the category. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Mens Clothing Outerwear"} - online: - description: The online status of the category determines if it is visible in the storefront. Defaults to false if not specified on creation. - type: boolean - required: false - example: true - pageDescription: - description: The localized page description of the category. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Mens Outerwear Category"} - pageKeywords: - description: The localized page keywords for the category. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Outerwear"} - pageTitle: - description: The localized page title of the category. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Mens Clothing Outerwear"} - parentCategoryId: - description: The ID of the parent category. Defaults to root if not specified on creation. - maxLength: 256 - minLength: 1 - type: string - required: false - example: mens-clothing - paths: - description: The path record. - type: PathRecord[] - required: false - position: - description: The position of the category determines the display order in the storefront. - type: number - format: double - required: false - example: 3 - sortingRules: - description: The category sorting rules. - type: SortingRule[] - required: false - thumbnail: - description: The name of the category thumbnail. The URL to the thumbnail is computed. - maxLength: 256 - minLength: 1 - type: string - required: false - example: Summer Bomber Jacket Large - CategoryLink: - description: Document representing a category link. - properties: - lastModified: - description: The date the link was last modified. - type: datetime - example: 9999-12-31T00:00:00.0Z - position: - description: The position in the source catalog or category for this link, relative to the other links in the same category. - minimum: 0 - type: number - format: double - example: 5 - sourceCatalogId: - description: The source catalog for the link. - type: string - example: apparel-catalog - sourceCatalogName: - description: The name of the source catalog. - type: object - properties: - //: - type: string - example: { "default": "Apparel Catalog" } - sourceCategoryId: - description: The source category for the link. - type: string - example: mens-clothing-outerwear - sourceCategoryName: - description: The name of the source category. - type: object - properties: - //: - type: string - example: { "default": "Men's Clothing" } - targetCatalogId: - description: The target category for the link. - type: string - example: apparel-mens-catalog - targetCatalogName: - description: The name of the target catalog. - type: object - properties: - //: - type: string - example: { "default": "Men's Apparel Catalog" } - targetCategoryId: - description: The target category for the link. - type: string - example: mens-clothing-accessories - targetCategoryName: - description: The name of the target category. - type: object - properties: - //: - type: string - example: { "default": "Men's Clothing Outerwear" } - type: - description: The link type. - type: string - enum: - - other - - accessories - - cross_selling - - up_selling - - spare_parts - example: accessories - CategoryLinks: - description: Document representing an unfiltered list of category links. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: data - type: CategoryLink[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 20 - CategoryProductAssignment: - description: Document representing a category product assignment. - properties: - catalogId: - description: The ID of the catalog. - maxLength: 256 - minLength: 1 - type: string - example: apparel-catalog - categoryId: - description: The ID of the category. - maxLength: 256 - minLength: 1 - type: string - example: mens - owningCatalogName: - description: The name of the catalog that owns the product. - type: object - properties: - //: - type: string - required: false - position: - description: The position of product category assignment. - type: number - format: double - required: false - example: 2 - product: - description: The product that is assigned to the category. - type: Product - required: false - productId: - description: The ID of the product. - maxLength: 256 - minLength: 1 - type: string - example: "11736753" - productName: - description: The name of the product. - type: object - required: false - example: { - "default": "Summer Bomber Jacket" - } - CategoryProductAssignmentSearchRequest: - type: CommerceCloudStandards.SearchRequest - example: !include Examples/product-assignment-body-example.raml - CategoryProductAssignmentSearchResult: - description: Document representing a product search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of search hits. This array can be empty. - type: CategoryProductAssignment[] - CategorySearchRequest: - type: CommerceCloudStandards.SearchRequest - example: !include Examples/category_search-body-example.raml - CategorySearchResult: - description: Document representing a catalog search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of search hits. Can be empty. - type: Category[] - CustomerListLink: - description: Document representing a link to a customer list. - properties: - customerListId: - description: The customerlist ID. - type: string - example: SiteGenesis - title: - description: The link title. - type: object - properties: - //: - type: string - required: false - ImageGroup: - description: Document representing an image group containing a list of images for a particular view type and an optional variation value. - properties: - images: - description: The images of the image group. - type: MediaFile[] - variationAttributes: - description: Returns a list of variation attributes applying to this image group. - type: VariationAttribute[] - viewType: - description: The image view type. - type: string - example: detail - MarkupText: - description: The HTML markup text. - properties: - markup: - description: The rendered HTML. - type: string - example: "" - source: - description: The raw markup text. - type: string - example: "" - Master: - description: The master price information. - properties: - masterId: - description: The master price ID. - maxLength: 100 - minLength: 1 - type: string - example: summer-jacket - orderable: - description: The orderable flag. - type: boolean - required: false - example: true - price: - description: The price value. - type: number - format: double - required: false - example: 115.99 - priceMax: - description: The maximum price. - type: number - format: double - required: false - example: 120 - prices: - description: The prices object. - type: object - properties: - //: - type: number - format: double - required: false - MediaFile: - description: The media file information. - properties: - absUrl: - description: The absolute URL with request protocol. - type: string - required: false - example: "https://www.example-image.com/images/summer-bomberjacket.jpg" - alt: - description: The alternative image text. - type: object - properties: - //: - type: string - example: {"en_US" : "SummerBomberJacket"} - disBaseUrl: - description: The Dynamic Image Service (DIS) base URL for product images only. - type: string - required: false - example: "https://www.dis-base-url/images/summer-bomberjacket.jpg" - path: - description: The raw media file path. - type: string - example: "images/summer-bomberjacket.jpg" - title: - description: The image title. - type: object - properties: - //: - type: string - example: {"en_US" : "SummerBomberJacket"} - Money: - description: The money value and currency. - properties: - currencyMnemonic: - description: The currency mnemonic for the money. - type: string - example: "USD" - value: - description: The value for the money. - type: number - format: double - example: 120 - PathRecord: - description: Document representing most basic info (ID and name) of a category or catalog. - type: - CommerceCloudStandards.OpenObject - properties: - id: - description: The ID of the category path. - type: string - example: "mens-clothing" - name: - description: The name of the category path. - type: object - properties: - //: - type: string - required: false - Product: - description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. Product that has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. - type: - CommerceCloudStandards.OpenObject - properties: - assignedCategories: - description: The catalog categories that the product is assigned to. - type: CatalogCategoryId[] - required: false - ats: - description: The Available To Sell (ATS) of the product. If it is infinity, the return value is 999999. The value can be overwritten by the - OCAPI setting 'product.inventory.ats.max_threshold'. - type: number - format: double - required: false - example: 10000 - brand: - description: The brand of the product. - type: string - required: false - example: BestOuterwareCorp - bundledProducts: - description: The array of bundled products which the product includes. - type: Product[] - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - defaultVariantId: - description: The ID of the product's default variant. - type: string - required: false - example: summer-bomber-jacker-001-black - ean: - description: The European Article Number of the product. - type: string - required: false - example: "1232332" - id: - description: The ID (SKU) of the product. - maxLength: 100 - minLength: 1 - required: false - type: string - example: "ksdf69w4" - image: - description: The image(s) assigned to the product. - type: MediaFile - required: false - imageGroups: - description: The array of product image groups. - type: ImageGroup[] - required: false - inStock: - description: The flag that indicates if the product is in stock or not. This is a calculated value. - type: boolean - required: false - example: true - lastModified: - description: Returns the value of attribute 'lastModified'. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - longDescription: - description: The localized long description of the product. - type: object - properties: - //: - type: MarkupText - required: false - manufacturerName: - description: The name of the product's manufacturer. - type: string - required: false - example: BestOuterwareCorp - manufacturerSku: - description: The SKU of the product's manufacturer. - type: string - required: false - example: "we4r44534" - master: - description: The master of the product. This is applicable for product types "variation_group" and "variant" only. - type: Master - required: false - name: - description: The localized name of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Summer Bomber Jacket"} - online: - description: The flag that indicates if the product is online, or not. This is a calculated value. - type: boolean - required: false - example: true - onlineFlag: - description: The site-specific online status of the product. - type: object - properties: - //: - type: boolean - required: false - example: {"Site1":true} - owningCatalogId: - description: The ID of the catalog that owns the product. - type: string - required: false - example: apparel-master-catalog - owningCatalogName: - description: The localized name of the catalog that owns the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Apparel Master Catalog"} - pageDescription: - description: The localized page description of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"This lightweight bomber jacket is the epitome of summer style"} - pageKeywords: - description: The localized page keywords of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Jacket"} - pageTitle: - description: The localized page title of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Summer Outerwear"} - price: - description: The price of the product. - type: number - format: double - required: false - example: 115.99 - priceCurrency: - description: The currency code for a product's price. - type: string - required: false - example: "USD" - primaryCategoryId: - description: The ID of the products primary category. - type: string - required: false - example: Outerwear - productBundles: - description: The array of product bundles which the product belongs to. - type: Product[] - required: false - productOptions: - description: The array of product options. This is applicable for products of type "option". - type: ProductOption[] - required: false - productSets: - description: The array of product sets which the product belongs to. - type: Product[] - required: false - searchable: - description: The site-specific searchable status of the product. - type: object - properties: - //: - type: boolean - required: false - example: {"Site1":true} - setProducts: - description: The array of set products which the product includes. - type: Product[] - required: false - shortDescription: - description: The localized short description of the product. - type: object - properties: - //: - type: MarkupText - required: false - type: - description: 'The type of the product. It can have one or more of the values: "item", "master", "variation_group", "variant", "bundle", and "set".' - type: ProductType - required: false - unit: - description: The sales unit of the product. - type: string - required: false - example: single - upc: - description: The Universal Product Code (UPC) of the product. - type: string - required: false - example: "66JSD88JASD" - variants: - description: The array of variants of the product. This is applicable for product types "master" and "variation_group" only. - type: Variant[] - required: false - variationAttributes: - description: |- - The sorted array of variation attributes assigned to the product. This is applicable for product types "master", - "variation_group" and "variant" only. - type: VariationAttribute[] - required: false - variationGroups: - description: The array of variation groups in the product. This is applicable for product type "master" only. - type: VariationGroup[] - required: false - variationValues: - description: |- - The variation values selected for the product in variation attribute ID and value pairs. Applicable for product types "variant" and - "variation_group" only. - type: object - properties: - //: - type: string - required: false - example: {"color":"black","size":"L"} - ProductOption: - description: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can't be purchased separately. *Product Option has a SKU and a price is associated with it.* - properties: - customName: - description: The localized custom name of the product option. - type: object - properties: - //: - type: string - example: {"en_US":"Warranty"} - defaultProductOptionValue: - description: The default product option value. - type: string - example: "5-years" - description: - description: The localized description of the product option. - type: object - properties: - //: - type: string - example: {"en_US":"5 year Warranty Option"} - id: - description: The object attribute definition ID, which is also the identifier for the product option. - minLength: 1 - type: string - example: "warranty" - image: - description: The image assigned to the product option. - type: MediaFile - required: false - name: - description: The name of the object attribute definition. - type: string - example: "warranty" - selectedOptionValue: - description: The selected option value of the product option. - type: string - example: "5-years" - shared: - description: The flag that indicates if the product option is shared or local. - type: boolean - example: true - sortingMode: - description: The sorting mode for the product option values. - type: string - enum: - - byexplicitorder - - byoptionprice - example: byoptionprice - values: - description: The sorted array of values of the product option. - type: ProductOptionValue[] - ProductOptionValue: - description: Document representing a product option Value - properties: - defaultProductOptionValue: - description: Flag indicating if the product option value is the default value for the product option. - type: boolean - example: true - id: - description: The ID of the product option value. - minLength: 1 - type: string - example: "5-year" - optionPrices: - description: The list of prices in the product option value. - type: Money[] - skuExtension: - description: The SKU extension of the product option value. - type: string - example: "extension" - value: - description: The localized value of the product option. - type: object - properties: - //: - type: string - example: {"en_US":"5 Year Warranty"} - ProductOptionValues: - description: Document representing an unfiltered list of product option values. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: data - type: ProductOptionValue[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 20 - ProductOptions: - description: Document representing an unfiltered list of product options. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: data - type: ProductOption[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 20 - ProductType: - description: Document representing a product type. - properties: - bundle: - description: A flag indicating whether the product is a bundle. - type: boolean - required: false - example: true - bundled: - description: A flag indicating whether the product is bundled. - type: boolean - required: false - example: false - item: - description: A flag indicating whether the product is a standard item. - type: boolean - required: false - example: false - master: - description: A flag indicating whether the product is a master. - type: boolean - example: false - option: - description: A flag indicating whether the product is an option. - type: boolean - required: false - example: true - partOfProductSet: - description: A flag indicating whether the product is part of product set. - type: boolean - required: false - example: true - partOfRetailSet: - description: A flag indicating whether the product is part of retail set. - type: boolean - required: false - example: true - retailSet: - description: A flag indicating whether the product is a retail set. - type: boolean - required: false - example: true - set: - description: A flag indicating whether the product is a set. - type: boolean - required: false - example: false - variant: - description: A flag indicating whether the product is a variant. - type: boolean - required: false - example: true - variationGroup: - description: A flag indicating whether the product variation group is set. - type: boolean - required: false - example: false - Site: - description: Document representing a site. - properties: - cartridges: - description: The cartridge path of the site. - type: string - required: false - example: sitegenesis_storefront_controllers:sitegenesis_storefront_core - customerListLink: - description: The link to the customer list. - type: CustomerListLink - required: false - description: - description: The description of this site. - type: object - properties: - //: - type: string - required: false - example: { - "default": "Prototypical site used for starting point", - } - displayName: - description: The display name entered by the user. - type: object - properties: - //: - type: string - example: { - "default": "Site Genesis", - } - id: - description: The ID of this site. - minLength: 1 - type: string - example: SiteGenesis - inDeletion: - description: The deletion status of this site, true if in deletion. - type: boolean - required: false - example: false - storefrontStatus: - description: The storefront status of the site, it can be optionally be set to online, maintenance, to_be_deleted, and protected. - type: string - enum: - - online - - maintenance - - to_be_deleted - - protected - required: false - example: online - SortingRule: - description: Document representing a product sorting rule. - type: - CommerceCloudStandards.OpenObject - properties: - creationDate: - description: The creation date, read only. - type: datetime - example: 9999-12-31T00:00:00.0Z - description: - description: The description of the product sorting rule. - maxLength: 4000 - type: string - example: Sorts by price descending - id: - description: The ID of the product sorting rule. - type: string - example: proce-high-to-low - productSortingRuleSteps: - description: The steps involved in sorting by this rule. - type: SortingRuleStep[] - ruleContext: - description: The context of the rule, either site or global. - type: string - example: site - site: - description: 'The site.' - type: string - example: SiteGenesis - SortingRuleStep: - description: Document representing a product sorting rule step. - type: - CommerceCloudStandards.OpenObject - properties: - attributeId: - description: The ID for sorting attribute. - type: string - example: price - direction: - description: The direction of the sorting attribute. - type: string - enum: - - asc - - desc - example: desc - isSystem: - description: Whether or not the attribute is a system attribute. - type: boolean - example: false - position: - description: The position of product sorting rule step. - type: integer - format: int32 - example: 1 - textRelevanceIncluded: - description: The text relevance included. - type: boolean - example: true - typeId: - description: The sorting type for sorting attribute. - type: string - example: price - - Variant: - description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU* - properties: - ats: - description: The Available To Sell (ATS) inventory value of the product. This is a calculated value. - type: number - format: double - required: false - example: 10000 - defaultProductVariation: - description: Default product variation flag, true or false - type: boolean - required: false - example: true - image: - description: URL to the preview image. - type: MediaFile - required: false - inStock: - description: True if the product is in stock, false if not. - type: boolean - required: false - example: true - online: - description: |- - If the product is currently online. - true if online - false if not - type: boolean - required: false - example: true - orderable: - description: A flag indicating whether the variant is orderable. - type: boolean - required: false - example: true - price: - description: The sales price of the variant. - type: number - format: double - required: false - example: 115.99 - priceCurrency: - description: Currency code for the price of the product. - type: string - required: false - example: USD - productId: - description: The ID (SKU) of the variant. - maxLength: 100 - minLength: 1 - type: string - example: "28392Ww35" - searchable: - description: 'The searchable attribute.' - type: object - properties: - //: - type: boolean - required: false - example: {"Site1":true} - variationAttributes: - description: Variation attributes. - type: VariationAttribute[] - required: false - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - required: false - example: {"color":"black","size":"L"} - VariationAttribute: - description: Document representing a variation attribute. - properties: - attributeDefinitionId: - description: The ID of the requested attribute definition. - type: string - example: "color" - attributeDefinitionName: - description: The localized display name of the variation attribute definition. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Color"} - defaultValue: - description: Default variation attribute value. - type: string - required: false - example: black - id: - description: The ID of the variation attribute. - minLength: 1 - type: string - required: false - example: color - name: - description: The localized display name of the variation attribute. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Color"} - shared: - description: Returns the value of attribute 'shared' if attribute is local or shared. - type: boolean - required: false - example: true - slicing: - description: Returns the value of attribute 'slicing'. - type: boolean - required: false - example: true - values: - description: The sorted array of variation values. This array can be empty. - type: VariationAttributeValue[] - required: false - variationAttributeType: - description: Variation attribute type. - type: string - enum: - - string - - int - - unknown - required: false - example: string - VariationAttributeValue: - description: Document representing a variation attribute value. - properties: - description: - description: The localized description of the variation value. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Red"} - image: - description: The first product image for the configured viewtype and this variation value. - type: MediaFile - required: false - imageSwatch: - description: The first product image for the configured viewtype and this variation value (typically the swatch image). - type: MediaFile - required: false - name: - description: The localized display name of the variation value. - type: object - properties: - //: - type: string - required: false - example: {"color":"Red"} - orderable: - description: A flag indicating whether at least one variant with this variation attribute value is available to sell. - type: boolean - required: false - example: true - position: - description: The position of the value among all values of a variation attribute. - type: number - format: double - required: false - example: 2 - value: - description: The actual variation value. - minLength: 1 - type: string - example: red - VariationAttributeValues: - description: Document representing an unfiltered list of variation attribute values. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: data - type: VariationAttributeValue[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 20 - VariationAttributes: - description: Document representing an unfiltered list of variation attributes. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: The data that includes variation attribute items. - type: VariationAttribute[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 0 - total: - description: The total number of documents. - type: integer - format: int32 - example: 20 - VariationGroup: - description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Doesn't have a SKU.* - properties: - orderable: - description: A flag indicating whether the variation group is orderable. - type: boolean - example: true - price: - description: The sales price of the variation group. - type: number - format: double - example: 119.99 - productId: - description: The ID (SKU) of the variation group. - maxLength: 100 - minLength: 1 - type: string - example: "90u390w3" - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - example: {"color": "Red"} - CatalogSearchResult: - description: Document representing a catalog search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: The sorted array of search hits. Can be empty. - type: Catalog[] - RuleRequest: - description: This document represents the request body while creating a rule. - properties: - id: - description: The ID of the rule. - type: string - example: VHRule - required: true - enabled: - description: A flag indicating whether this rule is enabled. - type: boolean - default: false - example: false - exclusion: - description: A flag indicating whether this rule is an exclusion. - type: boolean - default: false - example: false - categorizationLocaleId: - description: | - This field indicates the locale to be used for evaluating rules/conditions for the entire category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. - type: string - example: en-US - required: false - categorizationClassificationFlag: - description: | - This field indicates if the matching products assigned as a result of the rules run will be given the tag for classification category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. - type: boolean - default: false - example: true - required: false - categorizationPrimaryFlag: - description: | - This field indicates if the matching products assigned as a result of the rules run will be given the tag for primary category. Note: this applies to all the rules for that category, and the last modification for this field will apply to the entire ruleset for that category. - type: boolean - default: false - required: false - example: true - Rule: - description: Document representing a categorization rule. - type: RuleRequest - properties: - conditions: - description: The list of conditions for the rule. - type: Condition[] - required: false - Condition: - description: Document representing a condition. - properties: - id: - description: The ID of the condition. - type: string - example: NameCondition - required: true - attributeKey: - description: The key of the attribute(system or custom). This represents the ID of the attribute. - type: string - example: name - required: true - attributeName: - description: The human-readable name of the attribute(system or custom). This is a read-only field. - type: string - example: name - required: false - attributeValue: - description: The value of the attribute. - type: string[] - example: ["Shirt"] - operator: - description: The operator for the condition. - type: string - example: starts_with - required: true - enum: - - starts_with - - contains - - equals - - not_equals - - greater_than - - less_than - - is_one_of - - not_one_of - - is_defined - - is_not_defined - RulesResult: - description: Result document containing an array of rules. - properties: - limit: - description: The number of returned rules. - type: integer - format: int32 - example: 5 - data: - description: The list of rules. This can be empty. *Note* - If the exclusion attribute is set to true, the rule is designated as an Exclusion rule. Any item matching an Exclusion rule is omitted from the final result set. - type: Rule[] - required: false - total: - description: The total number of rules. - type: integer - format: int32 - example: 5 - RulesRequest: - description: Request document containing an array of rules for saving multiple rules. - properties: - data: - description: The list of rules. This can be empty. - type: Rule[] - required: false - ConditionsResult: - description: Result document containing an array of conditions. - properties: - limit: - description: The number of returned conditions. - type: integer - format: int32 - example: 10 - conditions: - description: The list of conditions for a rule. This can be empty. - type: Condition[] - required: false - total: - description: The total number of conditions. - type: integer - format: int32 - example: 10 - ExecutionRequest: - description: The document representing the execution Request for categorization. - properties: - evaluation: - description: A flag indicating whether only an evaluation job needs to be performed. - type: boolean - default: true - example: true - ExecutionJobStatusResult: - description: The status of the execution job. - properties: - type: - description: The type of execution job. - type: string - required: false - enum: - - evaluation - - execution - example: evaluation - assignedCount: - description: Indicates total number of products assigned by the execution job. - type: integer - required: false - example: 100 - unassignedCount: - description: Indicates total number of products unassigned by the execution job. - type: integer - required: false - example: 100 - matchedCount: - description: Indicates total number of products evaluated and matched by the evaluation job. - type: integer - required: false - example: 100 - jobStatus: - description: Indicates the status of the rules execution job (that is, indicates whether the job completed successfully or an error occurred). - type: string - required: true - example: success - enum: - - inProgress - - success - - error - - unavailable - message: - description: A description of any errors, failures, and exceptions that caused the job to fail. - type: string - required: false - example: "Job execution failed to start." - lastRunDate: - description: The date that the rules categorization job was last run for given catalog and category. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - productIds: - description: The list of matched product IDs returned by the execution job. - type: string[] - required: false - example: [ "25772717", - "25772792"] - limit: - description: The number to products to return. - type: integer - format: int32 - required: false - example: 20 - offset: - description: The zero-based index of the first search hit to include in the result. - type: integer - format: int32 - required: false - example: 10 - ExcludedProductsResult: - description: The list of excluded products. - properties: - limit: - description: The number of returned excluded product records. - type: integer - format: int32 - example: 10 - data: - description: The list of the excluded products. This can be empty. - type: ExcludedProduct[] - required: false - total: - description: The total number of excluded product records. - type: integer - format: int32 - example: 5 - ExcludedProduct: - description: The excluded product record. - properties: - productId: - description: The ID of the product. - type: string - example: red-shirt - required: true - ExcludedProductRequest: - description: The excluded product record - properties: - data: - description: The list of the excluded products. - type: ExcludedProduct[] - required: true - - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /catalogs: - get: - description: Action to get the list of catalog IDs with no filtering. - displayName: getCatalogs - is: - - CatalogTraits.Unauthorized - - CatalogTraits.BadRequest - - CatalogTraits.offset-paginated: - maxLimit: 50 - defaultSize: 25 - responses: - '200': - description: Catalogs Retrieved Successfully - body: - application/json: - type: Catalogs - examples: - catalogs: !include Examples/catalogs.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - /{catalogId}: - get: - description: Gets the catalog with the specified information. - displayName: getCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - '200': - description: Catalog Retrieved Successfully - body: - application/json: - type: Catalog - examples: - catalog: !include Examples/catalog.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - patch: - description: Updates the catalog with the specified information. - displayName: updateCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - '200': - description: Catalog Updated Successfully - body: - application/json: - type: Catalog - examples: - catalog: !include Examples/catalog.raml - - body: - application/json: - type: Catalog - examples: - catalog: !include Examples/catalog-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - uriParameters: - catalogId: - description: The ID of the requested catalog. - minLength: 1 - type: string - example: apparel-catalog - /categories: - get: - description: Action to get all the categories with no filtering. - displayName: getCategoriesFromCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.BadRequest - - CatalogTraits.NotFound - - CatalogTraits.offset-paginated: - maxLimit: 50 - defaultSize: 25 - responses: - '200': - description: Categories Retrieved Successfully - body: - application/json: - type: Categories - examples: - categories: !include Examples/categories.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - /{categoryId}: - delete: - description: Deletes the category by catalog ID and category ID. - displayName: deleteCategoryFromCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - - CatalogTraits.NotFound - responses: - '204': - description: Category Deleted Successfully - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - get: - description: |- - Action to read an existing category within a catalog. By default, the server - also returns the first level of sub-categories, but you can specify another level by setting the levels - parameter. Using a large value for levels may cause performance - issues in case of a large and deep category tree. - displayName: getCategoryFromCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.BadRequest - - CatalogTraits.NotFound - responses: - '200': - description: Category Retrieved Successfully - body: - application/json: - type: Category - examples: - category: !include Examples/category-example.raml - - queryParameters: - levels: - description: 'The level number' - minimum: 0 - type: integer - format: int32 - required: false - example: 0 - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - patch: - description: Updates a catalog category using the information provided. - displayName: updateCategoryInCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.BadRequest - - CatalogTraits.NotFound - responses: - '200': - description: Category Updated Successfully - body: - application/json: - type: Category - examples: - category: !include Examples/single-category.raml - - body: - application/json: - type: Category - examples: - category: !include Examples/category-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - put: - description: Creates a catalog category using the information provided. - displayName: createCategoryInCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.BadRequest - - CatalogTraits.NotFound - responses: - '201': - description: Category Created Successfully - body: - application/json: - type: Category - examples: - category: !include Examples/single-category.raml - '200': - description: Category Updated Successfully - body: - application/json: - type: Category - examples: - category: !include Examples/single-category.raml - body: - application/json: - type: Category - examples: - category: !include Examples/category-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - uriParameters: - categoryId: - description: The ID of the category to be created. - maxLength: 256 - minLength: 1 - type: string - example: mens - /category-product-assignment-search: - post: - description: | - Searches for category product assignments. The query attribute specifies a complex query that can be used to narrow down the search. - - The following are searchable attributes: - - | Attribute | Type | - |-----------|--------| - | productId| String | - | productName | String | - | onlineFlag | Boolean | - | searchable | Boolean | - | validFrom | DateTime | - | validTo | DateTime | - | creationDate | DateTime | - - - Sortable Fields: - - | Attribute | Type | - |-----------|--------| - | productId| String | - | productName | String | - | position | Double | - | creationDate | DateTime | - - Expansions that can be applied for the search request: - - product_base - String - - The product_base expand will enable retrieval of the following basic product information: - - | Attribute | Type | Function | - |-----------|--------|-----| - | none | String | Will not fetch any expanded information. - | product_images| String | Fetch preview image and image groups specified for the given product. | - | product_all_images | String | Fetch preview image, image groups specified for the product, and variant and variation group images. | - | product_variations | String | Fetch variations related information. | - | product_availability | String | Fetch availability related information. | - | product_categories | String | Fetch category related information. | - | product_prices | String | Fetch price related information. | - | product_options | String | Fetch options related information. | - | product_all | String | Fetch all expanded information. This is the default used when no expand value is included in the request.| - - Note: productAll includes the following: - - brand - - ean - - link - - longDescription - - manufacturerName - - manufacturerSku - - name - - pageDescription - - pageKeywords - - pageTitle - - searchable - - shortDescription - - type - - unit - - upc - - displayName: searchProductsAssignedToCategory - queryParameters: - siteId: - description: The site ID of the context for the product being queried for in the request. - type: string - required: false - example: SiteGenesis - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - '200': - description: Assignments searched successfully - body: - application/json: - type: CategoryProductAssignmentSearchResult - examples: - search_result: !include Examples/category_product_assignment.raml - body: - application/json: - type: CategoryProductAssignmentSearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - /products/{productId}: - get: - description: |- - Retrieves a category product assignment. - - - For example, if we have products A, B, C at positions 1, 2, 7.5, and delete assignment for product B, - the products end up A, B, C at positions 1, null, 7.5. - displayName: getAssignedProductFromCategory - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - '200': - description: Assignment Retrieved Successfully - body: - application/json: - type: CategoryProductAssignment - examples: - category-prod-assignment: !include Examples/catalogcategoryprdAssignment-example.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - delete: - description: |- - Removes a category product assignment. - - - For example, if we have products A, B, C at positions 1, 2, 7.5 and delete assignment for product B, - the products end up A, B, C at positions 1, null, 7.5. - displayName: unassignProductFromCategory - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - '204': - description: Assignment Deleted Successfully - - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - patch: - description: |- - Updates the category product assignment with the specified information, such as position. - As the assigned position n is a normalized target position, we'll make sure that the product is assigned - to a position so that the order of positions are maintained. - - For example, if we have products A, B, C, D at positions 1, 2, 3, 4 and update product A with a new position of 3, - the end result is B, C, A, D with order of positions 1, 2, 3, 4. If we then update product C to no position, - the end result is B, A, D, C with order of positions 1, 2, 3, null. - - If there are n existing positioned assignments, updating product to position >= n will end with a new assignment with a position such that the order of positions is maintained. - displayName: updateProductCategoryAssignment - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - '200': - description: Assignment Updated Successfully - body: - application/json: - type: CategoryProductAssignment - examples: - category-prod-assignment: !include Examples/catalogcategoryprdAssignment-example.raml - - body: - application/json: - type: CategoryProductAssignment - examples: - body-example: !include Examples/catalogcategoryprodAssignment-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - put: - description: |- - Creates a category product assignment using the information provided. - - As the assigned position n is a normalized target position, we'll make sure that the product is assigned - to a position so that the order of positions are maintained. - - For example, if we have products A, B, C at positions 1, 2, 3, and product D is assigned to - position 2, the end result is A, D, B, C with order of positions 1, 2, 3, 4. - - If there are n existing positioned assignment, assigning a new product to position >= n+1 will end - with the new assignment with position n+1. - displayName: assignProductToCategory - is: - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - '201': - description: Assignment Created Successfully - body: - application/json: - type: CategoryProductAssignment - examples: - category-prod-assignment: !include Examples/catalogcategoryprdAssignment-example.raml - '200': - description: Assignment Updated Successfully - body: - application/json: - type: CategoryProductAssignment - examples: - category-prod-assignment: !include Examples/catalogcategoryprdAssignment-example.raml - body: - application/json: - type: CategoryProductAssignment - - examples: - body-example: !include Examples/catalogcategoryprodAssignment-body.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - uriParameters: - productId: - description: The ID (SKU) of the requested product to assign. - minLength: 1 - type: string - example: apple-ipod-shuffle - /rules-execution: - post: - description: Submits a job to evaluate or execute the rules. The evaluation returns a set of matching products based on the rules and conditions. The execution categorizes the products based on the evaluated results. - displayName: runCategoryRules - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 202: - description: Job submitted successfully. - body: - application/json: - type: ExecutionRequest - examples: - executionRequest: !include Examples/executionRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - get: - description: Gets the status of the latest categorization job which could be evaluation or execution. For evaluation, the matched count and a paginated list of product IDs are returned. For execution, the counts of the products which are assigned or unassigned are returned. - displayName: getCategorizationStatus - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.JobExecutionNotFound - - CommerceCloudStandards.QueryParamsLimit - - CommerceCloudStandards.QueryParamsOffset - responses: - 200: - description: Job executed status returned successfully. - body: - application/json: - type: ExecutionJobStatusResult - examples: - executionJobStatusResponse: !include Examples/executionJobStatusResponse.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - /excluded-products: - get: - description: Gets the list of excluded products for a given catalog and category. - displayName: getExclusionList - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 200: - description: Excluded products retreived successfully - body: - application/json: - type: ExcludedProductsResult - examples: - excludedProductResponse: !include Examples/getExcludedProducts.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - post: - description: Adds the product to the excluded product list for a given catalog and category. Once a product is added as an excluded product for the category, then the the categorization process does not categorize that product for that category. - displayName: addProductsToExclusionList - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 200: - description: Excluded Products List added for a catalog Category. - body: - application/json: - type: ExcludedProductsResult - examples: - excludedProdResponse: !include Examples/getExcludedProducts.raml - body: - application/json: - type: ExcludedProductRequest - examples: - excludedProdRequest: !include Examples/excludedProductsRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - delete: - description: Deletes products from the excluded products list for a catalog category. - displayName: removeProductsFromExclusionList - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.RuleNotFound - responses: - 204: - description: No Content - body: - application/json: - type: ExcludedProductRequest - examples: - excludedProdReq: !include Examples/excludedProductsRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - /rules: - get: - description: Gets all the rules for given catalog and category. - displayName: getCategoryRules - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 200: - description: Rules retreived successfully - body: - application/json: - type: RulesResult - examples: - rulesResponse: !include Examples/getRules.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - delete: - description: Deletes all the rules along with conditions for given catalog and category. - displayName: deleteCategoryRules - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.RuleNotFound - responses: - 204: - description: No Content - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - post: - description: Creates all rules and conditions within the catalog and category. This deletes any existing rules and conditions for that catalog-category and recreates them based on the new request. The LocaleID, PrimaryFlag, and ClassificationFlag can be set on any of the individual rules, but they apply to entire ruleset. For simplicity, those values can just be provided with one of the rules. If they are provided with multiple rules, then they must all have the same value for all rules or it could have undesired effects. - displayName: createCategoryRules - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 200: - description: Rules created successfully. - body: - application/json: - type: RulesResult - examples: - ruleResponse: !include Examples/getRules.raml - body: - application/json: - type: RulesRequest - description: If the exclusion attribute is set to true, the rule is designated as an Exclusion rule. Any item matching an Exclusion rule is omitted from the final result set. - examples: - ruleBody: !include Examples/postRuleRequestBody.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - - /{ruleId}: - get: - description: Gets rule by ID. - displayName: getRuleById - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.RuleNotFound - responses: - 200: - description: Rule retreived succesfully - body: - application/json: - type: Rule - examples: - ruleResponse: !include Examples/getRulesByID.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - put: - description: Creates or updates a rule. - displayName: createUpdateRule - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 201: - description: Rule created successfully. - body: - application/json: - type: Rule - examples: - ruleResponse: !include Examples/putRuleRequestBody.raml - 200: - description: Rule updated successfully. - body: - application/json: - type: Rule - examples: - ruleResponse: !include Examples/putRuleRequestBody.raml - body: - application/json: - type: RuleRequest - examples: - ruleBody: !include Examples/putRuleRequestBody.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - delete: - description: Deletes a rule. - displayName: deleteRule - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.RuleNotFound - responses: - 204: - description: No Content - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - - uriParameters: - ruleId: - description: The Id of the rule - type: string - example: VhRule - /conditions: - get: - description: Gets the conditions for a given rule, catalog and category. - displayName: getCategoryRuleConditions - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 200: - description: Conditions retreived successfully. - body: - application/json: - type: ConditionsResult - examples: - conditionsResult: !include Examples/getConditions.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - delete: - description: Deletes all the conditions for a given rule, catalog and category. - displayName: deleteCategoryRuleConditions - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.RuleNotFound - responses: - 204: - description: No Content - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - /{conditionId}: - get: - description: Gets a condition By ID. - displayName: getCategoryRuleCondition - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 200: - description: Condition retreived successfully. - body: - application/json: - type: Condition - examples: - conditionResponse: !include Examples/getConditionByID.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - put: - description: Creates or updates a condition. - displayName: createOrUpdateCategoryRuleCondition - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.NotFound - responses: - 201: - description: Condition created successfully. - body: - application/json: - type: Condition - examples: - conditionResponse: !include Examples/getConditionByID.raml - 200: - description: Condition updated successfully. - body: - application/json: - type: Condition - examples: - conditionResponse: !include Examples/getConditionByID.raml - body: - application/json: - type: Condition - examples: - conditionBody: !include Examples/putConditionRequestBody.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - delete: - description: Deletes a condition. - displayName: deleteCategoryRuleCondition - is: - - CatalogTraits.BadRequest - - CatalogTraits.Unauthorized - - CatalogTraits.RuleNotFound - responses: - 204: - description: No Content - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs.rw] } - uriParameters: - conditionId: - description: The Id of the condition. - type: string - example: NameCondition - /category-search: - post: - description: |- - Searches for catalog categories in the scope of catalog. - By default, the server also returns the first level of subcategories, - but you can specify another level by setting the levels parameter. - Using a large value for levels may cause performance - issues with a large and deep category tree. - - The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: - - | Attribute | Type | - |-----------|--------| - |id | String | - |name | String | - |description | String | - |creationDate | DateTime | - |online | Boolean | - |parentCategoryId | String| - - - The output of the query can also be sorted with the following sortable attributes: - - | Attribute | Type | - |-----------|--------| - |id | String | - |name | String | - |description | String | - |creationDate | DateTime | - |online | Boolean | - |position | Double| - - - displayName: searchCategoriesInCatalog - is: - - CatalogTraits.Unauthorized - - CatalogTraits.BadRequest - - CatalogTraits.NotFound - responses: - '200': - description: Categories Searched Successfully - body: - application/json: - type: CategorySearchResult - examples: - result: !include Examples/category_search-result-example.raml - queryParameters: - levels: - description: The level number. - minimum: 0 - type: integer - format: int32 - required: false - example: 0 - body: - application/json: - type: CatalogCategorySearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - /catalog-search: - post: - description: |- - Searches for catalogs. - - The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: - - | Attribute | Type | - |-----------|--------| - |id | String | - |name | String | - |description | String | - |creationDate | DateTime | - - There are two additional fields that can be used as search filters. They are not attributes in CatalogWO object, - but can be used as filters to query catalogs based on site assignments. - - | Attribute | Type | - |-----------|--------| - |isMasterCatalog | Boolean | - |isStorefrontCatalog | Boolean | - |description | String | - |creationDate | DateTime | - |online | Boolean | - |position | Double| - - - On using isMasterCatalog in the search query, catalogs without any site assignments are returned. - On using isStorefrontCatalog in the search query, catalogs with one or more site assignments are returned. - - The output of the query can also be sorted with the following sortable attributes: - - | Attribute | Type | - |-----------|--------| - |id | String | - |name | String | - |description | String | - |creationDate | DateTime | - - displayName: searchCatalogs - is: - - CatalogTraits.Unauthorized - - CatalogTraits.BadRequest - - CatalogTraits.NotFound - responses: - '200': - description: Catalogs Searched Successfully - body: - application/json: - type: CatalogSearchResult - examples: - catalog_search_result: !include Examples/catalog-search-result-query.raml - body: - application/json: - type: CatalogSearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } - /category-search: - post: - description: |- - Searches for catalog categories anywhere they appear. - By default, the server also returns the first level of subcategories, - but you can specify another level by setting the levels parameter. - Please note, using a large value for levels may cause performance - issues with a large and deep category tree. - - The query attribute specifies a complex query that can be used to narrow down the search with the following searchable attributes: - - | Attribute | Type | - |-----------|--------| - |id | String | - |name | String | - |description | String | - |creationDate | DateTime | - |online | Boolean | - |catalogId | String| - - The output of the query can also be sorted with the following sortable attributes: - - | Attribute | Type | - |-----------|--------| - |id | String | - |name | String | - |description | String | - |creationDate | DateTime | - |online | Boolean | - |position | Double| - - displayName: searchCategories - queryParameters: - levels: - description: The level number. - minimum: 0 - type: integer - format: int32 - required: false - example: 0 - is: - - CatalogTraits.BadRequest - - CatalogTraits.NotFound - - CatalogTraits.Unauthorized - responses: - '200': - description: Categories Searched Successfully - body: - application/json: - type: CategorySearchResult - examples: - category_search_result : !include Examples/category_search-result-example.raml - headers: - Authorization: - description: The JWT token. - type: string - required: false - body: - application/json: - type: CategorySearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } diff --git a/testIntegration/stagingApis/product/catalogs/exchange.json b/testIntegration/stagingApis/product/catalogs/exchange.json deleted file mode 100644 index 1a390fb9..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "0.0.36", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "catalogs.raml", - "assetId": "catalogs", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Catalogs", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml deleted file mode 100644 index 1f282c6d..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - -uses: - Pagination: dataTypes/pagination-types.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml deleted file mode 100644 index 40ff7f98..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml deleted file mode 100644 index 240efb3e..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml +++ /dev/null @@ -1,92 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json deleted file mode 100644 index 43604496..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.8","apiVersion":"v1","dependencies":[],"metadata":{"projectId":"3ca896ab-161d-4b74-aac8-2ad01f3f8e57","branchId":"master","commitId":"8cb35217b287a4dab4e2031fcd6fbe34fb83caf1"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml deleted file mode 100644 index 3afcaaf8..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml deleted file mode 100644 index 9dde8bcd..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: number - description: The starting offset returned. - SFDC-Pagination-Limit: - type: number - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: number - description: The total number of records available. - SFDC-Pagination-Result-Count?: - type: number - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index 4463d386..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml deleted file mode 100644 index 1fe2d231..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml deleted file mode 100644 index 419c821f..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml +++ /dev/null @@ -1,358 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int32 - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json deleted file mode 100644 index 9012e41c..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.15","metadata":{"projectId":"b14c2b6a-2d86-46c1-9038-7cbedc656132","branchId":"master","commitId":"f6d54dade2b1aeed39ef12b62e6f8e8b9d0b48cd"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/product/catalogs/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/.metadata.json b/testIntegration/stagingApis/product/products/.metadata.json deleted file mode 100644 index b6c55ade..00000000 --- a/testIntegration/stagingApis/product/products/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/products/0.0.36", - "name": "Products", - "description": "Add and manage searchable products within a merchandizing system.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "products", - "version": "0.0.36", - "categories": { - "API layer": [ - "System" - ], - "CC API Family": [ - "Product" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/product/products/Examples/CategorizationAttributeDefinitionResult.raml b/testIntegration/stagingApis/product/products/Examples/CategorizationAttributeDefinitionResult.raml deleted file mode 100644 index 13202f4c..00000000 --- a/testIntegration/stagingApis/product/products/Examples/CategorizationAttributeDefinitionResult.raml +++ /dev/null @@ -1,87 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 1, - "data": [ - { - "id": "ProductType", - "attributeName": "Categorization Product Type", - "allowedOperators": [ - "equals", - "not_equals" - ], - "allowedValues": [ - "Item", - "Master", - "BundledProduct", - "ProductSet", - "SetProduct", - "VariationGroup", - "VariationProduct" - ], - "allowedDisplayValues": [ - "Item", - "Master", - "BundledProduct", - "ProductSet", - "SetProduct", - "VariationGroup", - "VariationProduct" - ], - "attributeType": "categorization", - "valueType": "enum-of-string" - }, - { - "id": "CategoryId", - "attributeName": "Categorization Category Id", - "allowedOperators": [ - "equals" - ], - "attributeType": "categorization", - "valueType": "string" - }, - { - "id": "OwningCatalogId", - "attributeName": "Categorization Owning Catalog Id", - "allowedOperators": [ - "equals" - ], - - "attributeType": "categorization", - "valueType": "string" - }, - { - "id": "brand", - "attributeName": "Brand", - "allowedOperators": [ - "equals", - "not_equals", - "contains", - "starts_with", - "is_defined", - "is_not_defined", - "is_one_of", - "not_one_of" - ], - "attributeType": "system", - "valueType": "string" - }, - { - "id": "RelevanceAttribute1", - "attributeName": "RelevanceAttribute1", - "allowedOperators": [ - "equals", - "not_equals", - "contains", - "starts_with", - "is_defined", - "is_not_defined", - "is_one_of", - "not_one_of" - ], - "attributeType": "custom", - "valueType": "string" - } - ], - "total": 5 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/Data-Product-Expand.raml b/testIntegration/stagingApis/product/products/Examples/Data-Product-Expand.raml deleted file mode 100644 index 8f6048aa..00000000 --- a/testIntegration/stagingApis/product/products/Examples/Data-Product-Expand.raml +++ /dev/null @@ -1,301 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "assignedCategories": [ - { - "catalogId": "apparel-catalog", - "categoryId": "mens-accessories" - }, - { - "catalogId": "storefront-catalog-en", - "categoryId": "top-seller" - }, - { - "catalogId": "storefront-catalog-en", - "categoryId": "electronics-gaming" - } - ], - "brand": "Apple", - "classificationCategory": { - "catalogId": "storefront-catalog-en", - "categoryId": "top-seller" - }, - "creationDate": "2019-02-21T22:10:02.000Z", - "id": "apple-ipod-classic", - "image": { - "absUrl": "https://example.com/images/large/ipod-classic-silver.jpg", - "alt": { - "default": "Apple iPod Classic, , large" - }, - "path": "large/ipod-classic-silver.jpg", - "title": { - "default": "Apple iPod Classic, " - } - }, - "imageGroups": [ - { - "images": [ - { - "absUrl": "https://example.com/images/large/ipod-classic-silver.jpg", - "alt": { - "default": "Apple iPod Classic, , large" - }, - "path": "large/ipod-classic-silver.jpg", - "title": { - "default": "Apple iPod Classic, " - } - } - ], - "viewType": "large" - }, - { - "images": [ - { - "absUrl": "https://example.com/images/medium/ipod-classic-silver.jpg", - "alt": { - "default": "Apple iPod Classic, , medium" - }, - "path": "medium/ipod-classic-silver.jpg", - "title": { - "default": "Apple iPod Classic, " - } - } - ], - "viewType": "medium" - }, - { - "images": [ - { - "absUrl": "https://example.com/images/small/ipod-classic-silver.jpg", - "alt": { - "default": "Apple iPod Classic, , small" - }, - "path": "small/ipod-classic-silver.jpg", - "title": { - "default": "Apple iPod Classic, " - } - } - ], - "viewType": "small" - } - ], - "lastModified": "2019-08-28T18:49:09.000Z", - "localizedTaxClassId": { - "de": "exempt", - "default": "standard", - "en-US": "exempt" - }, - "longDescription": { - "default": { - "markup": "Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats", - "source": "Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats" - } - }, - "name": { - "default": "Apple iPod Classic" - }, - "onlineFlag": { - "default": true - }, - "owningCatalogId": "electronics-catalog", - "owningCatalogName": { - "default": "Electronics Master Catalog" - }, - "pageDescription": { - "default": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go." - }, - "pageKeywords": { - "default": "Apple, iPod, iPod Classic, MP3, Music Player" - }, - "pageTitle": { - "default": "Apple iPod Nano" - }, - "primaryCategories": [ - { - "catalogId": "apparel-catalog", - "categoryId": "mens-accessories" - }, - { - "catalogId": "storefront-catalog-en", - "categoryId": "top-seller" - } - ], - "primaryCategoryId": "top-seller", - "searchable": { - "default": true - }, - "shortDescription": { - "default": { - "markup": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go.", - "source": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go." - } - }, - "taxClassId": "standard", - "type": { - "master": true - }, - "validFrom": { - "default": "1998-05-03T00:00:00.000Z", - "default@SiteGenesis": "1998-05-11T00:00:00.000Z" - }, - "validTo": { - "default": "2028-07-03T00:00:00.000Z", - "default@SiteGenesis": "2028-05-30T00:03:00.000Z" - }, - "variants": [ - { - "productId": "apple-ipod-classic-silver-120g", - "variationValues": { - "color": "Silver", - "memorySize": "120 GB" - } - }, - { - "productId": "apple-ipod-classic-black-120g", - "variationValues": { - "color": "Black", - "memorySize": "120 GB" - } - } - ], - "variationAttributes": [ - { - "attributeDefinitionId": "color", - "attributeDefinitionName": { - "default": "Color" - }, - "id": "color", - "name": { - "default": "Color" - }, - "shared": true, - "slicing": false, - "values": [ - { - "name": { - "default": "Silver" - }, - "position": 1.0, - "value": "Silver" - }, - { - "name": { - "default": "Black" - }, - "position": 2.0, - "value": "Black" - }, - { - "name": { - "default": "Purple" - }, - "position": 3.0, - "value": "Purple" - }, - { - "name": { - "default": "Blue" - }, - "position": 4.0, - "value": "Blue" - }, - { - "name": { - "default": "Green" - }, - "position": 5.0, - "value": "Green" - }, - { - "name": { - "default": "Yellow" - }, - "position": 6.0, - "value": "Yellow" - }, - { - "name": { - "default": "Orange" - }, - "position": 7.0, - "value": "Orange" - }, - { - "name": { - "default": "Red" - }, - "position": 8.0, - "value": "Red" - }, - { - "name": { - "default": "Fuscia" - }, - "position": 9.0, - "value": "Fuscia" - } - ], - "variationAttributeType": "string" - }, - { - "attributeDefinitionId": "memorySize", - "attributeDefinitionName": { - "default": "Memory Size" - }, - "id": "memorySize", - "name": { - "default": "Memory Size" - }, - "shared": true, - "slicing": false, - "values": [ - { - "name": { - "default": "1 GB" - }, - "position": 1.0, - "value": "1 GB" - }, - { - "name": { - "default": "2 GB" - }, - "position": 2.0, - "value": "2 GB" - }, - { - "name": { - "default": "8 GB" - }, - "position": 3.0, - "value": "8 GB" - }, - { - "name": { - "default": "16 GB" - }, - "position": 4.0, - "value": "16 GB" - }, - { - "name": { - "default": "32 GB" - }, - "position": 5.0, - "value": "32 GB" - }, - { - "name": { - "default": "120 GB" - }, - "position": 6.0, - "value": "120 GB" - } - ], - "variationAttributeType": "string" - } - ], - "customCatalogName": { - "default": "Apple Ipod Catalog" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/ProductOptionsIdRequest.raml b/testIntegration/stagingApis/product/products/Examples/ProductOptionsIdRequest.raml deleted file mode 100644 index 0158f08f..00000000 --- a/testIntegration/stagingApis/product/products/Examples/ProductOptionsIdRequest.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id":"my-option", - "customName" : - { - "default" : "My Option" - }, - "description" : - { - "default" : "Description for my option." - }, - "image" : - { - "path" : "option.jpg" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/ProductOptionsIdResult.raml b/testIntegration/stagingApis/product/products/Examples/ProductOptionsIdResult.raml deleted file mode 100644 index 4bc4f4ab..00000000 --- a/testIntegration/stagingApis/product/products/Examples/ProductOptionsIdResult.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "customName" : - { - "default" : "My Option" - }, - "description" : - { - "default" : "Description for my option." - }, - "id" : "my-option", - "image" : - { - "absUrl" : "https://example.com/on/demandware.static/-/Sites-XMaster/default/aaaaaaaabbbbbbbbbabababba/option.jpg", - "disBaseUrl" : "https://example.com/dw/image/v2/zzzz_s01/on/demandware.static/-/Sites-XMaster/default/aaaaaaaabbbbbbbbbabababba/option.jpg", - "path" : "option.jpg" - }, - "name" : "option", - "shared" : false, - "sortingMode" : "byoptionprice" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/ProductOptionsResult.raml b/testIntegration/stagingApis/product/products/Examples/ProductOptionsResult.raml deleted file mode 100644 index 658b9d9e..00000000 --- a/testIntegration/stagingApis/product/products/Examples/ProductOptionsResult.raml +++ /dev/null @@ -1,66 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 1, - "data": [ - { - "id": "digitalCameraWarranty", - "values" : - [ - { - "_type" : "product_option_value", - "id" : "001", - "option_price" : - { - "USD" : "9.99" - }, - "value" : - { - "default" : "1 Year Warranty" - } - }, - - { - "_type" : "product_option_value", - "id" : "003", - "option_price" : - { - "USD" : "29.99" - }, - "value" : - { - "default" : "5 Year Warranty" - } - }, - - { - "_type" : "product_option_value", - "id" : "000", - "option_price" : - { - "USD" : "39.99" - }, - "value" : - { - "default" : "None" - } - }, - - { - "_type" : "product_option_value", - "id" : "002", - "option_price" : - { - "USD" : "49.99" - }, - "value" : - { - "default" : "3 Year Warranty" - } - } - ] - } - ], - "offset": 0, - "total": 1 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/ProductOptionsValuesRequest.raml b/testIntegration/stagingApis/product/products/Examples/ProductOptionsValuesRequest.raml deleted file mode 100644 index f392d050..00000000 --- a/testIntegration/stagingApis/product/products/Examples/ProductOptionsValuesRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "id":"my-option", - "value": { - "default": "value 1", - "en": "value 1(en)", - "en-US": "value 1(en-US)" - }, - "optionPrice": { - "currencyMnemonic": "USD", - "value": 100 - }, - "skuExtension": "s10" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/ProductOptionsValuesResult.raml b/testIntegration/stagingApis/product/products/Examples/ProductOptionsValuesResult.raml deleted file mode 100644 index 1beff595..00000000 --- a/testIntegration/stagingApis/product/products/Examples/ProductOptionsValuesResult.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "defaultProductOptionValue": false, - "id": "value1", - "optionPrices": [ - { - - "currencyMnemonic": "USD", - "value": 100.00 - } - ], - "skuExtension": "s10", - "value": { - "default": "value 1", - "en-US": "value 1(en-US)", - "en": "value 1(en)" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/ProductSearchRequest.raml b/testIntegration/stagingApis/product/products/Examples/ProductSearchRequest.raml deleted file mode 100644 index f2545786..00000000 --- a/testIntegration/stagingApis/product/products/Examples/ProductSearchRequest.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "query" : { - "textQuery": { - "fields": ["id"], - "searchPhrase": "apple-ipod-classic" - } - }, - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/ProductSearchResult.raml b/testIntegration/stagingApis/product/products/Examples/ProductSearchResult.raml deleted file mode 100644 index faf37193..00000000 --- a/testIntegration/stagingApis/product/products/Examples/ProductSearchResult.raml +++ /dev/null @@ -1,104 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 2, - "hits": [ - { - "brand": "Apple", - "creationDate": "2019-02-21T22:10:02.000Z", - "id": "apple-ipod-classic", - "lastModified": "2019-09-17T19:13:39.000Z", - "longDescription": { - "default": { - "markup": "Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats", - "source": "Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats" - } - }, - "name": { - "default": "Apple iPod Classic" - }, - "onlineFlag": { - "default": true - }, - "owningCatalogId": "electronics-catalog", - "owningCatalogName": { - "default": "Electronics Master Catalog" - }, - "pageDescription": { - "default": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go." - }, - "pageKeywords": { - "default": "Apple, iPod, iPod Classic, MP3, Music Player" - }, - "pageTitle": { - "default": "Apple iPod Nano" - }, - "searchable": { - "default": true - }, - "shortDescription": { - "default": { - "markup": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go.", - "source": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go." - } - }, - "type": { - "master": true - } - }, - { - "brand": "Apple", - "creationDate": "2019-09-04T16:07:43.000Z", - "id": "apple-ipod-classic-1", - "lastModified": "2019-09-04T16:19:03.000Z", - "longDescription": { - "default": { - "markup": "Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats", - "source": "Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats" - } - }, - "name": { - "default": "Apple iPod Classic" - }, - "onlineFlag": { - "default": false - }, - "owningCatalogId": "electronics-catalog", - "owningCatalogName": { - "default": "Electronics Master Catalog" - }, - "pageDescription": { - "default": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go." - }, - "pageKeywords": { - "default": "Apple, iPod, iPod Classic, MP3, Music Player" - }, - "pageTitle": { - "default": "Apple iPod Nano" - }, - "searchable": { - "default": false - }, - "shortDescription": { - "default": { - "markup": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go.", - "source": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go." - } - }, - "type": { - "variationGroup": true, - "master": false - } - } - ], - "query": { - "textQuery": { - "fields": [ - "id" - ], - "searchPhrase": "apple-ipod-classic" - } - }, - "offset": 0, - "total": 2 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/VariantSearchRequest.raml b/testIntegration/stagingApis/product/products/Examples/VariantSearchRequest.raml deleted file mode 100644 index 16d37e07..00000000 --- a/testIntegration/stagingApis/product/products/Examples/VariantSearchRequest.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "query" : { - "textQuery": { - "fields": ["id"], - "searchPhrase": "ipod" - } - }, - "expand": ["variations"] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/VariantSearchResult.raml b/testIntegration/stagingApis/product/products/Examples/VariantSearchResult.raml deleted file mode 100644 index 6e401305..00000000 --- a/testIntegration/stagingApis/product/products/Examples/VariantSearchResult.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 2, - "expand": [ - "variations" - ], - "hits": [ - { - "defaultProductVariation": false, - "productId": "apple-ipod-classic-silver-120g", - "variationValues": { - "color": "Silver", - "memorySize": "120 GB" - } - }, - { - "defaultProductVariation": false, - "productId": "apple-ipod-classic-black-120g", - "variationValues": { - "color": "Black", - "memorySize": "120 GB" - } - } - ], - "query": { - "textQuery": { - "fields": [ - "id" - ], - "searchPhrase": "ipod" - } - }, - "offset": 0, - "total": 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/VariantsResult.raml b/testIntegration/stagingApis/product/products/Examples/VariantsResult.raml deleted file mode 100644 index ce236227..00000000 --- a/testIntegration/stagingApis/product/products/Examples/VariantsResult.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 4, - "data": [ - { - "productId": "apple-ipod-classic-silver-120g", - "variation_values": { - "color": "Silver", - "memorySize": "120 GB" - } - }, - { - "productId": "apple-ipod-classic-black-120g", - "variation_values": { - "color": "Black", - "memorySize": "120 GB" - } - }, - { - "productId": "apple-ipod-classic-2" - }, - { - "productId": "apple-ipod-classic-blue-32g", - "variation_values": { - "color": "Blue", - "memorySize": "32 GB" - } - } - ], - "offset": 0, - "total": 4 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/VariationAttributeRequest.raml b/testIntegration/stagingApis/product/products/Examples/VariationAttributeRequest.raml deleted file mode 100644 index 95dccb6e..00000000 --- a/testIntegration/stagingApis/product/products/Examples/VariationAttributeRequest.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "attributeDefinitionId":"size", - "attributeDefinitionName": { - "default": "Screen Size" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/VariationAttributeResult.raml b/testIntegration/stagingApis/product/products/Examples/VariationAttributeResult.raml deleted file mode 100644 index a12b892d..00000000 --- a/testIntegration/stagingApis/product/products/Examples/VariationAttributeResult.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "attributeDefinitionId": "size", - "attributeDefinitionName": { - "default": "Size" - }, - "id": "screenSize", - "name": { - "default": "Size" - }, - "shared": false, - "slicing": false, - "variationAttributeType": "string" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/VariationAttributeValuesIdRequest.raml b/testIntegration/stagingApis/product/products/Examples/VariationAttributeValuesIdRequest.raml deleted file mode 100644 index 5ac44003..00000000 --- a/testIntegration/stagingApis/product/products/Examples/VariationAttributeValuesIdRequest.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "value":"8" , - "description": { - "default" : "desc of 8 (default)", - "en": "desc of 8 (en)", - "en-US": "desc of 8 (en-US)" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/VariationAttributeValuesIdResult.raml b/testIntegration/stagingApis/product/products/Examples/VariationAttributeValuesIdResult.raml deleted file mode 100644 index b50d0683..00000000 --- a/testIntegration/stagingApis/product/products/Examples/VariationAttributeValuesIdResult.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "description": { - "default": "desc of 8 (default)", - "en-US": "desc of 8 (en-US)", - "en": "desc of 8 (en)" - }, - "position": 1.0, - "value": "8" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/VariationAttributesResult.raml b/testIntegration/stagingApis/product/products/Examples/VariationAttributesResult.raml deleted file mode 100644 index 6970f58e..00000000 --- a/testIntegration/stagingApis/product/products/Examples/VariationAttributesResult.raml +++ /dev/null @@ -1,168 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 3, - "data": [ - { - "attributeDefinitionId": "color", - "attributeDefinitionName": { - "default": "Color" - }, - "id": "color", - "name": { - "default": "Color" - }, - "shared": true, - "slicing": false, - "values": [ - { - "name": { - "default": "Silver" - }, - "position": 1.0, - "value": "Silver" - }, - { - "name": { - "default": "Black" - }, - "position": 2.0, - "value": "Black" - }, - { - "name": { - "default": "Purple" - }, - "position": 3.0, - "value": "Purple" - }, - { - "name": { - "default": "Blue" - }, - "position": 4.0, - "value": "Blue" - }, - { - "name": { - "default": "Green" - }, - "position": 5.0, - "value": "Green" - }, - { - "name": { - "default": "Yellow" - }, - "position": 6.0, - "value": "Yellow" - }, - { - "name": { - "default": "Orange" - }, - "position": 7.0, - "value": "Orange" - }, - { - "name": { - "default": "Red" - }, - "position": 8.0, - "value": "Red" - }, - { - "name": { - "default": "Fuscia" - }, - "position": 9.0, - "value": "Fuscia" - } - ], - "variationAttributeType": "string" - }, - { - "attributeDefinitionId": "memorySize", - "attributeDefinitionName": { - "default": "Memory Size" - }, - "id": "memorySize", - "name": { - "default": "Memory Size" - }, - "shared": true, - "slicing": false, - "values": [ - { - "name": { - "default": "1 GB" - }, - "position": 1.0, - "value": "1 GB" - }, - { - "name": { - "default": "2 GB" - }, - "position": 2.0, - "value": "2 GB" - }, - { - "name": { - "default": "8 GB" - }, - "position": 3.0, - "value": "8 GB" - }, - { - "name": { - "default": "16 GB" - }, - "position": 4.0, - "value": "16 GB" - }, - { - "name": { - "default": "32 GB" - }, - "position": 5.0, - "value": "32 GB" - }, - { - "name": { - "default": "120 GB" - }, - "position": 6.0, - "value": "120 GB" - } - ], - "variationAttributeType": "string" - }, - { - "attributeDefinitionId": "size", - "attributeDefinitionName": { - "default": "Size" - }, - "id": "screenSize", - "name": { - "default": "Size" - }, - "shared": false, - "slicing": false, - "values": [ - { - "description": { - "default": "desc of 8 (default)", - "en-US": "desc of 8 (en-US)", - "en": "desc of 8 (en)" - }, - "position": 1.0, - "value": "8" - } - ], - "variationAttributeType": "string" - } - ], - "offset": 0, - "total": 3 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/VariationGroupsIdRequest.raml b/testIntegration/stagingApis/product/products/Examples/VariationGroupsIdRequest.raml deleted file mode 100644 index 196df359..00000000 --- a/testIntegration/stagingApis/product/products/Examples/VariationGroupsIdRequest.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "orderable": true, - "price": 500.00, - "productId": "apple-ipod-classic-1", - "variationValues": { - "color": "Silver", - "memorySize": "120 GB" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/VariationGroupsIdResult.raml b/testIntegration/stagingApis/product/products/Examples/VariationGroupsIdResult.raml deleted file mode 100644 index d40d4998..00000000 --- a/testIntegration/stagingApis/product/products/Examples/VariationGroupsIdResult.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "productId": "apple-ipod-classic-1", - "variationValues": { - "color": "Silver", - "memorySize": "120 GB" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/VariationGroupsResult.raml b/testIntegration/stagingApis/product/products/Examples/VariationGroupsResult.raml deleted file mode 100644 index 6f69d1a0..00000000 --- a/testIntegration/stagingApis/product/products/Examples/VariationGroupsResult.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "limit": 1, - "data": [ - { - "productId": "apple-ipod-classic-1", - "variationValues": { - "color": "Silver", - "memorySize": "120 GB" - } - } - ], - "offset": 0, - "total": 1 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/VariationsIdRequest.raml b/testIntegration/stagingApis/product/products/Examples/VariationsIdRequest.raml deleted file mode 100644 index b34fc10f..00000000 --- a/testIntegration/stagingApis/product/products/Examples/VariationsIdRequest.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "orderable": true, - "price": 500.00, - "productId": "apple-ipod-classic-blue-32g", - "variationValues": { - "color": "Blue", - "memorySize": "32 GB" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Examples/VariationsIdResult.raml b/testIntegration/stagingApis/product/products/Examples/VariationsIdResult.raml deleted file mode 100644 index f363fd3e..00000000 --- a/testIntegration/stagingApis/product/products/Examples/VariationsIdResult.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "defaultProductVariation": false, - "productId": "apple-ipod-classic-blue-32g", - "variationValues": { - "color": "Blue", - "memorySize": "32 GB" - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Traits/BadRequest.raml b/testIntegration/stagingApis/product/products/Traits/BadRequest.raml deleted file mode 100644 index 87efa0a8..00000000 --- a/testIntegration/stagingApis/product/products/Traits/BadRequest.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in Data Products API. -responses: - 400: - description: | - Bad Request. Thrown in case a specified expand parameter value is unknown. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Unqueryable Field", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unqueryable-field", - "detail": "The field 'link' can't be queried.", - "field": "link" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Traits/NotFound.raml b/testIntegration/stagingApis/product/products/Traits/NotFound.raml deleted file mode 100644 index 614bf796..00000000 --- a/testIntegration/stagingApis/product/products/Traits/NotFound.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response in when Product with the given Product Id could not be found.. - -responses: - 404: - description: | - Resource requested not found. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Product Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/product-not-found", - "detail": "No product with ID '1585183329877' could be found.", - "productId": "1585183329877" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/Traits/Unauthorized.raml b/testIntegration/stagingApis/product/products/Traits/Unauthorized.raml deleted file mode 100644 index e30f3967..00000000 --- a/testIntegration/stagingApis/product/products/Traits/Unauthorized.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 401 response when an invalid client_id is passed. - -responses: - 401: - description: | - Unauthorized. Your Client ID is invalid, or you are not allowed to access - the content provided by the requested URL. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "hbGciOiJIUzI1NiIsInR5cCI6Ikp" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/data-products-library.raml b/testIntegration/stagingApis/product/products/data-products-library.raml deleted file mode 100644 index df2f088a..00000000 --- a/testIntegration/stagingApis/product/products/data-products-library.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -types: - types: - ErrorResponse: ApiStandards.ErrorResponse - -traits: - Unauthorized: !include Traits/Unauthorized.raml - BadRequest: !include Traits/BadRequest.raml - ProductNotFound: !include Traits/NotFound.raml - offset-paginated: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml - - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange.json b/testIntegration/stagingApis/product/products/exchange.json deleted file mode 100644 index b9652a72..00000000 --- a/testIntegration/stagingApis/product/products/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "0.0.36", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "products.raml", - "backwardsCompatible": false, - "assetId": "products", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Products", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml deleted file mode 100644 index 1f282c6d..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - -uses: - Pagination: dataTypes/pagination-types.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml deleted file mode 100644 index 40ff7f98..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml deleted file mode 100644 index 240efb3e..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml +++ /dev/null @@ -1,92 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json deleted file mode 100644 index 43604496..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.8","apiVersion":"v1","dependencies":[],"metadata":{"projectId":"3ca896ab-161d-4b74-aac8-2ad01f3f8e57","branchId":"master","commitId":"8cb35217b287a4dab4e2031fcd6fbe34fb83caf1"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml deleted file mode 100644 index 3afcaaf8..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml deleted file mode 100644 index 9dde8bcd..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: number - description: The starting offset returned. - SFDC-Pagination-Limit: - type: number - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: number - description: The total number of records available. - SFDC-Pagination-Result-Count?: - type: number - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index 4463d386..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml deleted file mode 100644 index 1fe2d231..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml deleted file mode 100644 index 419c821f..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml +++ /dev/null @@ -1,358 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int32 - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json deleted file mode 100644 index 9012e41c..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.15","metadata":{"projectId":"b14c2b6a-2d86-46c1-9038-7cbedc656132","branchId":"master","commitId":"f6d54dade2b1aeed39ef12b62e6f8e8b9d0b48cd"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/product/products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/products-description.md b/testIntegration/stagingApis/product/products/products-description.md deleted file mode 100644 index bbf57265..00000000 --- a/testIntegration/stagingApis/product/products/products-description.md +++ /dev/null @@ -1,65 +0,0 @@ -# API Overview - -The Products API enables you to build merchandising apps that merchandisers use to add products to catalogs, configure products for your storefront, and manage products in their ecommerce channels. - -For more information, see [Products](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_products.html) in the Salesforce B2C Commerce Infocenter. - -## Authentication & Authorization - -The client managing product information must have access to the Products resource. This API requires a bearer token in the header of the request. The client accessing the API must first authenticate against Account Manager to get the bearer token. - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Add Products - -Use the Products API to add new products to a catalog. You can add or update product details like attributes, variations, variation attributes, and images. You can also use the API to change a product’s catalog assignment. - -If you are adding products from an external product information management (PIM) system, use the Mulesoft Accelerator component created for Commerce Cloud. - -For more detail, see [Variation Groups](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_variation_groups.html) in the Salesforce B2C Commerce Infocenter. - -![b2c-commerce-products-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-1.png) - -### Create & Validate Variation Groups - -Use the API to enable a shopper to switch between different variants on a product page. You can group variation products into variation groups or group master products by one or more attributes. The variants within a variation group are linked. Linked variants allow a shopper to switch between different variants. - -For more detail, see [Variation Groups](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_variation_groups.html) in the Salesforce B2C Commerce Infocenter. - -![b2c-commerce-products-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-2.png) - -### Search for Variants - -Use the Product API to enable merchants to use a set of filtering and sorting criteria to search for variants assigned to a master product, or variation group. - -For more detail, see [Product Variations](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_product_variations.html) in the Salesforce B2C Commerce Infocenter. - -![b2c-commerce-products-screenshot-3.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-3.png) - -### Manage Product Options - -Use the API to view and manage product options for a given product so that optional accessories, upgrades, or services can be sold with the product. For example, a product warranty or monogramming. - -For more detail, see [Product Options](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/products/b2c_product_options.html) in the Salesforce B2C Commerce Infocenter. - -![b2c-commerce-products-screenshot-4.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-products-screenshot-4.png) - -## Resources - -### Master Product - -Represents all the variations of a particular product. The master product is a non-buyable entity that provides inheritable attributes for buyable product variants. The master product is also used as a navigation entity. - -### Variation Group - -Represents a group of variation products that share a common attribute, such as color or size. The variation group is a non-buyable entity that provides inheritable attributes for buyable product variants. The variation group is also used as a navigation entity. - -### Variation Product - -A product that is a specific variation of a master product. For example, a brand X t-shirt in size XL of the color blue. The variation product is buyable and shares most of the attributes defined for the master product. The variation product has its own product ID and can have its own images. - -### Product Option - -A product configured with optional accessories, upgrades, or services. For example, a laptop with different service warranties or with different size hard drives. Options are always purchased with a product and can’t be purchased separately. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/products/products.raml b/testIntegration/stagingApis/product/products/products.raml deleted file mode 100644 index 5f1d9b48..00000000 --- a/testIntegration/stagingApis/product/products/products.raml +++ /dev/null @@ -1,1978 +0,0 @@ -#%RAML 1.0 -title: Products -version: v1 -protocols: HTTPS -mediaType: application/json -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/product/products/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include products-description.md - -uses: - ProductTraits: data-products-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - CatalogCategoryId: - description: Document representing a catalog category ID. - properties: - catalogId: - description: The ID of the catalog that owns the category. - maxLength: 256 - minLength: 1 - type: string - example: "storefront-catalog" - categoryId: - description: The ID of the category. - maxLength: 256 - minLength: 1 - type: string - example: "new-arrivals" - ImageGroup: - description: Document representing an image group containing a list of images for a particular view type and an optional variation value. - properties: - images: - description: The images of the image group. - type: MediaFile[] - variationAttributes: - description: Returns a list of variation attributes applying to this image group. - required: false - type: VariationAttribute[] - viewType: - description: The image view type. - type: string - example: "hi-res" - MarkupText: - description: Document representing markup text. - properties: - markup: - description: The rendered HTML. - type: string - example: "" - source: - description: The raw markup text. - type: string - example: "" - Master: - description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Does'nt have a SKU.* - properties: - masterId: - maxLength: 100 - minLength: 1 - type: string - description: The ID (SKU) of the master product. - example: "apple-ipod-classic" - orderable: - type: boolean - required: false - description: A flag indicating whether at least one of the variants is orderable. - example: true - price: - type: number - format: double - required: false - description: The minimum sales price of the related variants. - example: 199.99 - priceMax: - type: number - format: double - required: false - description: The maximum sales of related variants. - example: 219.99 - prices: - type: object - properties: - //: - type: number - format: double - required: false - description: prices - - MediaFile: - description: Document representing media file. - properties: - absUrl: - description: The absolute URL with request protocol. - required: false - type: string - example: "https://www.example-image.com/images/apple-ipod-classic.jpg" - alt: - description: The alternative image text. - required: false - type: object - properties: - //: - type: string - example: {"en_US" : "iPod"} - disBaseUrl: - description: The Dynamic Image Service (DIS) base URL for product images only. - required: false - type: string - example: "https://www.dis-base-url/images/apple-ipod-clasic.jpg" - path: - description: The raw media file path. - type: string - example: "/images/apple-ipod-classic.jpg" - title: - description: The image title. - required: false - type: object - properties: - //: - type: string - example: {"en_US":"iPod"} - Money: - description: Document representing money. - properties: - currencyMnemonic: - description: The currency mnemonic for the money. - type: string - example: "USD" - value: - description: The value for the money. - type: number - format: double - example: 199.99 - Product: - description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. Product that has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. - properties: - assignedCategories: - description: The catalog categories that the product is assigned to. It is read only. - type: CatalogCategoryId[] - required: false - ats: - description: The Available To Sell (ATS) inventory value of the product. This is a calculated value. - type: number - format: double - required: false - example: 15 - brand: - description: The brand of the product. - type: string - required: false - example: "Apple" - bundledProducts: - description: The array of bundled products which the product includes. It is read only. - type: Product[] - required: false - classificationCategory: - description: The catalog category that the product is assigned to for classification. This is a read only field. - type: CatalogCategoryId - required: false - creationDate: - description: Returns the value of attribute 'creationDate'. It is read only. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - defaultVariantId: - description: The ID of the product's default variant. It is read only. - type: string - required: false - example: "apple-ipod-classic-8gb-black" - ean: - description: The European Article Number of the product. - type: string - required: false - example: "ksdf69w4" - id: - description: The ID (SKU) of the product. - maxLength: 100 - minLength: 1 - type: string - example: "apple-ipod-classic" - image: - description: The image(s) assigned to the product. It is read only. - type: MediaFile - required: false - imageGroups: - description: The array of product image groups. It is read only. - type: ImageGroup[] - required: false - inStock: - description: The flag that indicates if the product is in stock, or not. This is a calculated value. - type: boolean - required: false - example: true - lastModified: - description: Returns the value of attribute 'lastModified'. It is read only. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - localizedTaxClassId: - description: The localized tax class identifier of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"exempt"} - longDescription: - description: The localized long description of the product. - type: object - properties: - //: - type: MarkupText - required: false - manufacturerName: - description: The name of the product's manufacturer. - type: string - required: false - example: "Apple" - manufacturerSku: - description: The SKU of the product's manufacturer. - type: string - required: false - example: "HSD68J" - master: - description: The master of the product. This is applicable for product types "variationGroup" and "variant" only. - type: Master - required: false - name: - description: The localized name of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Apple Ipod Classic"} - online: - description: The flag that indicates if the product is online, or not. This is a calculated value. - type: boolean - required: false - example: true - onlineFlag: - description: The site-specific online status of the product. - type: object - properties: - //: - type: boolean - required: false - example: {"Site1":true} - owningCatalogId: - description: The ID of the catalog that owns the product. - type: string - required: false - example: "apple-master-catalog" - owningCatalogName: - description: The localized name of the catalog that owns the product. It is read only. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Apple Master Catalog"} - pageDescription: - description: The localized page description of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Page Description"} - pageKeywords: - description: The localized page keywords of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Keywords"} - pageTitle: - description: The localized page title of the product. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Page Title"} - price: - description: The price of the product. - type: number - format: double - required: false - example: 219.99 - priceCurrency: - description: The currency code for a product's price. - type: string - required: false - example: "USD" - pricePerUnit: - description: The price per unit of the product. This is a read only field. - type: number - format: double - required: false - example: 1 - primaryCategories: - description: The primary catalog categories that the product is assigned to. It is read only. - type: CatalogCategoryId[] - required: false - primaryCategoryId: - description: The ID of the products primary category. This is a read only field. It is read only. - type: string - required: false - example: "electronics-media-players" - productBundles: - description: The array of product bundles which the product belongs to. It is read only. - type: Product[] - required: false - productOptions: - description: The array of product options. This is applicable for products of type "option". It is read only. - type: ProductOption[] - required: false - productSets: - description: The array of product sets which the product belongs to. It is read only. - type: Product[] - required: false - searchable: - description: The site-specific searchable status of the product. - type: object - properties: - //: - type: boolean - required: false - example: {"Site1":true} - setProducts: - description: The array of set products which the product includes. It is read only. - type: Product[] - required: false - shortDescription: - description: The localized short description of the product. - type: object - properties: - //: - type: MarkupText - required: false - taxClassId: - description: The tax class identifier of the product. - type: string - required: false - example: "standard" - type: - description: The type of the product. It can have one or more of the values "item", "master", "variationGroup", "variant", "bundle", and "set". It is read only. - type: ProductType - required: false - unit: - description: The sales unit of the product. - type: string - required: false - example: "single" - unitMeasure: - description: The unitMeasure of the product. - type: string - required: false - example: "each" - unitQuantity: - description: The unitQuantity of the product. - type: number - format: double - required: false - example: 15 - upc: - description: The Universal Product Code (UPC) of the product. - type: string - required: false - example: "66JSD88JASD" - validFrom: - description: The valid/online from date of the product. - type: object - properties: - //: - type: string - required: false - example: {"default@SiteGenesis":"2000-05-11T00:00:00.000Z"} - validTo: - description: The valid/online to date of the product. - type: object - properties: - //: - type: string - required: false - example: {"default@SiteGenesis":"2050-05-11T00:00:00.000Z"} - variants: - description: The array of variants of the product. This is applicable for product types "master" and "variationGroup" only. It is read only. - type: Variant[] - required: false - variationAttributes: - description: |- - The sorted array of variation attributes assigned to the product. This is applicable for product types "master", - "variationGroup" and "variant" only. It is read only. - type: VariationAttribute[] - required: false - variationGroups: - description: The array of variation groups in the product. This is applicable for product type "master" only. It is read only. - type: VariationGroup[] - required: false - variationValues: - description: |- - The variation values selected for the product in variation attribute id and value pairs. This is applicable for product types "Variant" and - "VariationGroup" only. It is read only. - type: object - properties: - //: - type: string - required: false - example: {"color":"red","size":"8gb"} - ProductOption: - description: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can't be purchased separately. - properties: - customName: - description: The localized custom name of the product option. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Warranty"} - defaultProductOptionValue: - description: The default product option value. - required: false - type: string - example: "5-years" - description: - description: The localized description of the product option. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Option Description"} - id: - description: The object attribute definition ID which is also the identifier for the product option. - minLength: 1 - type: string - example: "warranty" - image: - description: The image assigned to the product option. - type: MediaFile - required: false - name: - description: The name of the object attribute definition. - required: false - type: string - example: "Warranty" - selectedOptionValue: - description: The selected option value of the product option. - required: false - type: string - example: "2-years" - shared: - description: The flag that indicates if the product option is shared or local. - required: false - type: boolean - example: false - sortingMode: - description: The sorting mode for the product option values. - required: false - type: string - enum: - - byexplicitorder - - byoptionprice - example: byoptionprice - values: - description: The sorted array of values of the product option. - required: false - type: ProductOptionValue[] - ProductOptionValue: - description: Document representing a product option Value - properties: - defaultProductOptionValue: - description: Flag indicating if the product option value is the default value for the product option. - required: false - type: boolean - example: true - id: - description: The ID of the product option value. - minLength: 1 - type: string - example: "5-year" - optionPrices: - description: The list of prices in the product option value. - required: false - type: Money[] - skuExtension: - description: The SKU extension of the product option value. - type: string - required: false - example: "extension" - value: - description: The localized value of the product option. - type: object - properties: - //: - type: string - example: {"en_US":"5 Year Warranty"} - - ProductOptionValues: - description: Document representing an unfiltered list of product option values. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: The array of product option value objects. - type: ProductOptionValue[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 1 - total: - description: The total number of documents. - type: integer - format: int32 - example: 10 - ProductOptions: - description: Document representing an unfiltered list of product options. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: The array of product option objects. - type: ProductOption[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 1 - total: - description: The total number of documents. - type: integer - format: int32 - example: 10 - ProductSearchRequest: - type: CommerceCloudStandards.SearchRequest - example: !include Examples/ProductSearchRequest.raml - ProductSearchResult: - description: Document representing a product search result. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: A sorted array of search hits (`Product` objects). The array can be empty. - type: Product[] - ProductType: - description: Document representing a product type. - properties: - bundle: - description: A flag indicating whether the product is a bundle. - required: false - type: boolean - example: false - bundled: - description: A flag indicating whether the product is bundled. - required: false - type: boolean - example: false - item: - description: A flag indicating whether the product is a standard item. - required: false - type: boolean - example: false - master: - description: A flag indicating whether the product is a master. - type: boolean - example: true - option: - description: A flag indicating whether the product is an option. - required: false - type: boolean - example: false - partOfProductSet: - description: A flag indicating whether the product is part of product set. - required: false - type: boolean - example: false - partOfRetailSet: - description: A flag indicating whether the product is part of retail set. - required: false - type: boolean - example: false - retailSet: - description: A flag indicating whether the product is a retail set. - required: false - type: boolean - example: false - set: - description: A flag indicating whether the product is a set. - required: false - type: boolean - example: false - variant: - description: A flag indicating whether the product is a variant. - required: false - type: boolean - example: false - variationGroup: - description: A flag indicating whether the product is a variation group. - required: false - type: boolean - example: false - Variant: - description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU* - properties: - ats: - description: The Available To Sell (ATS) inventory value of the product. This is a calculated value. - type: number - format: double - required: false - example: 10 - defaultProductVariation: - description: A flag indicating whether the variant is a default variant. - type: boolean - required: false - example: true - image: - description: URL to the preview image. - type: MediaFile - required: false - inStock: - description: True if the product is in stock, false if not. - type: boolean - required: false - example: true - online: - description: |- - If the product is currently online. - True if online, false if not. - type: boolean - required: false - example: true - orderable: - description: A flag indicating whether the variant is orderable. - type: boolean - required: false - example: true - price: - description: The sales price of the variant. - type: number - format: double - required: false - example: 29.99 - priceCurrency: - description: Currency code for the price of the product. - type: string - required: false - example: "USD" - productId: - description: The ID (SKU) of the variant. - maxLength: 100 - minLength: 1 - type: string - example: "apple-ipod-classic-8gb-black" - searchable: - description: A flag indicating whether the variant is searchable. - type: object - properties: - //: - type: boolean - required: false - example: {"Site1":true} - variationAttributes: - description: Variation attributes. - type: VariationAttribute[] - required: false - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - required: false - example: {"color":"black"} - VariantSearchRequest: - type: CommerceCloudStandards.SearchRequest - example: !include Examples/VariantSearchRequest.raml - VariantSearchResult: - description: Document that represents a search on certificates and keys. - type: CommerceCloudStandards.PaginatedSearchResult - properties: - hits: - description: An array of search hits (`Variant` objects). - type: Variant[] - Variants: - description: Document representing an unfiltered list of variants. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: An array of variants. - type: Variant[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 1 - total: - description: The total number of documents. - type: integer - format: int32 - example: 10 - VariationAttribute: - description: Document representing a variation attribute. - properties: - attributeDefinitionId: - description: The id of the requested attribute definition. - type: string - example: "color" - attributeDefinitionName: - description: The localized display name of the variation attribute definition. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Color"} - defaultValue: - description: Default variation attribute value. - type: string - required: false - example: "black" - id: - description: The ID of the variation attribute. - minLength: 1 - type: string - required: false - example: "color" - name: - description: The localized display name of the variation attribute. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Color"} - shared: - description: Returns the value of attribute 'shared' if attribute is local or shared. - type: boolean - required: false - example: false - slicing: - description: Returns the value of attribute 'slicing'. - type: boolean - required: false - example: true - values: - description: The sorted array of variation values. This array can be empty. - type: VariationAttributeValue[] - required: false - variationAttributeType: - description: Variation attribute type. - type: string - enum: - - string - - int - - unknown - required: false - example: string - VariationAttributeValue: - description: Document representing a variation attribute value. - properties: - description: - description: The localized description of the variation value. - type: object - properties: - //: - type: string - required: false - example: {"en_US":"Red"} - image: - description: The first product image for the configured viewtype and this variation value. - type: MediaFile - required: false - imageSwatch: - description: The first product image for the configured viewtype and this variation value (typically the swatch image). - type: MediaFile - required: false - name: - description: The localized display name of the variation value. - type: object - properties: - //: - type: string - required: false - example: {"color":"Red"} - orderable: - description: A flag indicating whether at least one variant with this variation attribute value is available to sell. - type: boolean - required: false - example: true - position: - description: The position of the value among all values of a variation attribute. - type: number - format: double - required: false - example: 2 - value: - description: The actual variation value. - minLength: 1 - type: string - example: "red" - VariationAttributeValues: - description: Document representing an unfiltered list of variation attribute values. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: An array of variation attribute values. - type: VariationAttributeValue[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 1 - total: - description: The total number of documents. - type: integer - format: int32 - example: 10 - VariationAttributes: - description: Document representing an unfiltered list of variation attributes. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: The array of variation attribute objects. - type: VariationAttribute[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 1 - total: - description: The total number of documents. - type: integer - format: int32 - example: 10 - VariationGroup: - description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for it's product variants, and is used for navigation. *Doesn't have a SKU.* - properties: - orderable: - description: A flag indicating whether the variation group is orderable. - required: false - type: boolean - example: true - price: - description: The sales price of the variation group. - required: false - type: number - format: double - example: 229.99 - productId: - description: The ID (SKU) of the variation group. - maxLength: 100 - minLength: 1 - type: string - example: "apple-ipod-classic-black" - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - required: false - properties: - //: - type: string - example: {"color":"red"} - VariationGroups: - description: Document representing an unfiltered list of variation groups. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: The array of variation group objects. - type: VariationGroup[] - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: integer - format: int32 - example: 1 - total: - description: The total number of documents. - type: integer - format: int32 - example: 10 - CategorizationAttributeDefiniton: - description: The categorization attribute definition. - properties: - id: - description: The ID of the supported attribute. - type: string - example: "producttype" - required: true - attributeName: - description: The display name of the supported attribute. - type: string - example: "Product Type" - required: false - attributeType: - description: | - The type of the attribute (custom/system/categorization). "system" indicates the System Attribute of the Product in ECOM, "custom" indicates the Custom Attribute of the Product in ECOM defined by merchant and "categorization" indicates the attribute used for categorization purposes ONLY and is not a defined attribute on the Product Object. - type: string - example: categorization - required: true - enum: - - custom - - system - - categorization - valueType: - description: The value type of the attribute. - type: string - example: "string" - required: true - allowedOperators: - description: The list of allowed operators for this attribute based on its value type. - type: string[] - example: ["equals","notEquals"] - required: true - allowedValues: - description: The list of allowed values for this attribute IF its attributeType is an ENUM. - type: string[] - example: [ "1", "2" ] - required: false - allowedDisplayValues: - description: | - The list of allowed Localized Display values for this attribute IF its attributeType is an ENUM based on the locale query param requested. If no locale query param value is provided "default" locale is assumed. - type: string[] - example: [ "One", "Two" ] - required: false - CategorizationAttributeDefinitonsResult: - description: The list of categorization attributes supported for rule based categorization. - properties: - limit: - description: The number of returned categorization attribute definition records. - type: integer - format: int32 - example: 10 - data: - description: The list of the categorization attribute definitions. This can be empty. - type: CategorizationAttributeDefiniton[] - required: false - total: - description: The total number of categorization attribute definition records. - type: integer - format: int32 - example: 5 - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /products: - /{productId}: - delete: - description: Deletes the product by ID. - displayName: deleteProduct - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - responses: - '204': - description: Deleted the product successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - get: - description: Action to get product information. - displayName: getProduct - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Retrieved Product Information successfully. - body: - application/json: - type: Product - examples: - productResponse: !include Examples/Data-Product-Expand.raml - queryParameters: - siteId: - description: The site context. - type: string - required: false - example: SiteGenesis - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - patch: - description: |- - Update a product using the information provided. - - Fields that can be updated: - name, pageDescription, longDescripton, pageTitle, - pageKeywords, brand, ean, upc, manufactureSku, - manufactureName, searchable, unit, searchable, - onlineFlag, defaultVariantId. - - Custom Attributes are used to extend a standard Product system object. This endpoint can be used to update custom attribute values for a particular product SKU. If you try to update a non-existent custom attribute, the request won't fail, but no changes are made and the attribute is not created. - displayName: updateProduct - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Updated the product successfully. - body: - application/json: - type: Product - examples: - productResponse: !include Examples/Data-Product-Expand.raml - body: - application/json: - type: Product - examples: - productRequest: !include Examples/Data-Product-Expand.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - put: - description: Creates a product using the information provided. If a product with the same unique identifier exists, it is cleaned and overwritten. - displayName: createProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '201': - description: Product was created successfully. - body: - application/json: - type: Product - examples: - productResponse: !include Examples/Data-Product-Expand.raml - '200': - description: Product was updated successfully. - body: - application/json: - type: Product - examples: - productResponse: !include Examples/Data-Product-Expand.raml - body: - application/json: - type: Product - examples: - productRequest: !include Examples/Data-Product-Expand.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - uriParameters: - productId: - description: The product ID. - maxLength: 100 - minLength: 1 - type: string - example: apple-ipod-shuffle - /variant-search: - post: - description: | - Searches product variations for master product or variation group product. The query attribute specifies a complex query that can be used to narrow down the search. - - This is the list of searchable attributes: - - | Attribute | Type | - |-----------|--------| - | id | String | - | productId | String | - | name | String | - | online | SiteSpecific Boolean | - | inStock | Boolean | - | searchable | SiteSpecific Boolean | - | ats - Actual available quantity to sell | Double | - | variationAttribute.ATTRIBUTE_ID (Ex:variation_attribute.color) | String | - - Sortable Fields: - - | Attribute | Type | - |-----------|--------| - | id | String | - | productId | String | - | name | String | - | online | SiteSpecific Boolean | - | inStock | Boolean | - | searchable | SiteSpecific Boolean | - | ats - Actual available quantity to sell | Double | - - Note: The calculated value of \"online\" and \"searchable\" is used in the search/sort. A search/sort by the site-specific attributes require the Site ID query parameter to be set. They are \"online\", \"inStock\", \"searchable\" and \"ats\". We assume that every field that starts with variationAttribute. is searchable and dot is followed by \"ATTRIBUTE_ID\". - - The list of expansions to retrieve product information. The expand values available are: - - - _base - Basic product information is retrieved. This expand is included by default. - - - all - All product information, including the following properties are retrieved: - - image - - price - siteId must be provided to see this property - - priceCurrency - siteId has to be provided to see this property - - - availability - Information related to the availability of the product variation. This expand is not included by default. - - ats - siteId must be provided to see this property - - inStock - siteId has to be provided to see this property - - online - siteId has to be provided to see this property - - searchable - - - variations - Information related to product variation is retrieved. This expand is included by default. - - - attributes - Information related to product variation attributes is retrieved. This expand is not included by default. - - - - - displayName: searchProductVariations - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Search results returned. - body: - application/json: - type: VariantSearchResult - examples: - variantSearchResult: !include Examples/VariantSearchResult.raml - queryParameters: - siteId: - description: The site context - type: string - required: false - example: SiteGenesis - body: - application/json: - type: VariantSearchRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - /{masterProductId}/variation-groups: - get: - description: Reads variation groups for a product master. - displayName: getVariationGroupsForMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - - ProductTraits.offset-paginated: - maxLimit: 50 - defaultSize: 25 - responses: - '200': - description: Get VariationGroups for a master product was successful. - body: - application/json: - type: VariationGroups - examples: - variantGroupsResult: !include Examples/VariationGroupsResult.raml - queryParameters: - siteId: - type: string - required: false - description: The site context. - example: SiteGenesis - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - /{id}: - delete: - description: |- - Unassign a variation group product from a product master. The variation group product is not - deleted: it remains as a normal product after unsassign. - displayName: unassignVariationGroupFromMasterProduct - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - responses: - '204': - description: Deleted the variation group successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - get: - description: Read a variation group for a product master. - displayName: getVariationGroupForMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Get VariationGroup by Id for a master product was successful. - body: - application/json: - type: VariationGroup - examples: - variantGroupsIdResult: !include Examples/VariationGroupsIdResult.raml - queryParameters: - siteId: - description: The site context. - type: string - required: false - example: SiteGenesis - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - patch: - description: Update a variation group for a product master. - displayName: updateVariationGroupForMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Update was successful. - body: - application/json: - type: VariationGroup - examples: - variantGroupsIdResult: !include Examples/VariationGroupsIdResult.raml - body: - application/json: - type: VariationGroup - examples: - variantGroupsIdRequest: !include Examples/VariationGroupsIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - put: - description: |- - Assign a variation group for a product master. If the variation group product does not initially exist, - one is created using the body passed in. - displayName: assignVariationGroupToMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Successfully assigned a variation group for given product master. - body: - application/json: - type: VariationGroup - examples: - variantGroupsIdResult: !include Examples/VariationGroupsIdResult.raml - body: - application/json: - type: VariationGroup - examples: - variantGroupsIdRequest: !include Examples/VariationGroupsIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - uriParameters: - masterProductId: - description: The ID of the master product that contains the variation group. - minLength: 1 - type: string - example: apple-ipod-classic - id: - description: The ID of the variation group product. - minLength: 1 - type: string - example: color - /{masterProductId}/variations: - get: - description: Reads variation for a product master. - displayName: getVariationsForMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - - ProductTraits.offset-paginated: - maxLimit: 50 - defaultSize: 25 - responses: - '200': - description: Get Variation by ID successful. - body: - application/json: - type: Variants - examples: - variantsResult: !include Examples/VariantsResult.raml - queryParameters: - siteId: - description: The site context. - type: string - required: false - example: SiteGenesis - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - /{id}: - delete: - description: |- - Unassign a variation product from a product master. The variation product is not deleted: it remains as a - normal product after unsassign. - displayName: unassignVariationFromMasterProduct - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - responses: - '204': - description: Deleted the variation group successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - get: - description: Read a variation for a product master. - displayName: getVariationForMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Get Variation by ID successful. - body: - application/json: - type: Variant - examples: - variantsIdResult: !include Examples/VariationsIdResult.raml - queryParameters: - siteId: - type: string - required: false - description: The site context. - example: SiteGenesis - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - patch: - description: Update a variation for a product master. - displayName: updateVariationForMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Variation updated successfully. - body: - application/json: - type: Variant - examples: - variantsIdResult: !include Examples/VariationsIdResult.raml - body: - application/json: - type: Variant - examples: - variantsIdRequest: !include Examples/VariationsIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - put: - description: |- - Assign a variation for a product master. If the variation product does not initially exist, - one is created using the body passed in. - displayName: assignVariationForMasterProduct - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Variation in master product was updated successfully. - body: - application/json: - type: Variant - examples: - variantsIdResult: !include Examples/VariationsIdResult.raml - body: - application/json: - type: Variant - examples: - variantsIdRequest: !include Examples/VariationsIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - uriParameters: - masterProductId: - description: The ID of the master product that contains the variation group. - minLength: 1 - type: string - example: apple-ipod-classic - id: - description: The ID of the variation product. - minLength: 1 - type: string - example: color - /{productId}/product-options: - get: - description: Read local and shared product options of a product. - displayName: getProductOptions - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - - ProductTraits.offset-paginated: - maxLimit: 50 - defaultSize: 25 - responses: - '200': - description: Get ProductOptions successful. - body: - application/json: - type: ProductOptions - examples: - productOptionsResult: !include Examples/ProductOptionsResult.raml - queryParameters: - currency: - type: string - required: false - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - /{id}: - delete: - description: Deletes a local product option or unbinds a shared product option from the product. - displayName: deleteProductOption - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '204': - description: Deleted product option succesfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - get: - description: Read a local or shared product option of a product. - displayName: getProductOption - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Retrieved product option successfully. - body: - application/json: - type: ProductOption - examples: - productOptionsIdResult: !include Examples/ProductOptionsIdResult.raml - queryParameters: - currency: - type: string - required: false - example: USD - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - patch: - description: Updates a local product option with the information provided. - displayName: updateProductOption - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '200': - description: Update product option successfully. - body: - application/json: - type: ProductOption - examples: - productOptionsIdResult: !include Examples/ProductOptionsIdResult.raml - body: - application/json: - type: ProductOption - examples: - productOptionsIdRequest: !include Examples/ProductOptionsIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - put: - description: Creates a local product option using the information provided or binds a shared product option to the product. - displayName: createProductOption - is: - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.ProductNotFound - responses: - '201': - description: Created or binded product option successfully. - body: - application/json: - type: ProductOption - examples: - productOptionsIdResult: !include Examples/ProductOptionsIdResult.raml - '200': - description: Updated product option successfully. - body: - application/json: - type: ProductOption - examples: - productOptionsIdResult: !include Examples/ProductOptionsIdResult.raml - body: - application/json: - type: ProductOption - examples: - productOptionsIdRequest: !include Examples/ProductOptionsIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - uriParameters: - productId: - description: The ID of the product. - minLength: 1 - type: string - example: apple-ipod-classic - id: - description: The ID of the local or shared product option. - minLength: 1 - type: string - example: my-option - - /{productId}/product-options/{optionId}/values/{id}: - delete: - description: Deletes a local product option value by ID. - displayName: deleteProductOptionValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '204': - description: Deleted product option value successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - get: - description: Read a local product option value of a local product option in a product. - displayName: getProductOptionValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Successfully retrieved product option value. - body: - application/json: - type: ProductOptionValue - examples: - productOptionsValueResult: !include Examples/ProductOptionsValuesResult.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - patch: - description: Updates a local product option value with the information provided. - displayName: updateProductOptionValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Product option value was updated successfully. - body: - application/json: - type: ProductOptionValue - examples: - productOptionsValueResult: !include Examples/ProductOptionsValuesResult.raml - body: - application/json: - type: ProductOptionValue - examples: - productOptionsValueRequest: !include Examples/ProductOptionsValuesRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - put: - description: Creates a local product option value using the information provided. - displayName: createProductOptionValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '201': - description: Created product option value successfully. - body: - application/json: - type: ProductOptionValue - examples: - productOptionsValueResult: !include Examples/ProductOptionsValuesResult.raml - '200': - description: Upsated product option value successfully. - body: - application/json: - type: ProductOptionValue - examples: - productOptionsValueResult: !include Examples/ProductOptionsValuesResult.raml - body: - application/json: - type: ProductOptionValue - examples: - productOptionsValueRequest: !include Examples/ProductOptionsValuesRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - uriParameters: - id: - description: The ID of the local product option value. - minLength: 1 - type: string - example: value1 - optionId: - description: The ID of the local product option. - minLength: 1 - type: string - example: size - productId: - description: The ID of the product. - minLength: 1 - type: string - example: apple-ipod-classic - /{productId}/variation-attributes/{attributeId}/values/{id}: - get: - description: Action to get product variation attribute value information. - displayName: getVariationAttributeValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Updated variation attribute value successfully. - body: - application/json: - type: VariationAttributeValue - examples: - variantAttributeValuesResult: !include Examples/VariationAttributeValuesIdResult.raml - queryParameters: - siteId: - type: string - required: false - description: The site context. - example: SiteGenesis - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - delete: - description: Deletes the variation attribute value of a variation attribute bound to a master product. - displayName: deleteVariationAttributeValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '204': - description: Deleted variation attribute value successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - patch: - description: Updates the variation attribute value of a variation attribute of a master product. - displayName: updateVariationAttributeValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Updated variation attribute value successfully. - body: - application/json: - type: VariationAttributeValue - examples: - variantAttributeValuesResult: !include Examples/VariationAttributeValuesIdResult.raml - body: - application/json: - type: VariationAttributeValue - examples: - variantAttributeValuesRequest: !include Examples/VariationAttributeValuesIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - put: - description: Action to create a product variation attribute value. - displayName: createVariationAttributeValue - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '201': - description: Created product variation attribute value successfully. - body: - application/json: - type: VariationAttributeValue - examples: - variantAttributeValuesResult: !include Examples/VariationAttributeValuesIdResult.raml - '200': - description: Created product variation attribute value successfully. - body: - application/json: - type: VariationAttributeValue - examples: - variantAttributeValuesResult: !include Examples/VariationAttributeValuesIdResult.raml - body: - application/json: - type: VariationAttributeValue - examples: - variantAttributeValuesRequest: !include Examples/VariationAttributeValuesIdRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - uriParameters: - productId: - description: The ID of the product. - minLength: 1 - type: string - example: apple-ipod-classic - attributeId: - description: The variation attribute ID. - minLength: 1 - type: string - example: screenSize - id: - description: The ID of the variation attribute value. - minLength: 1 - type: string - example: "8" - /{productId}/variation-attributes: - get: - description: Reads variation attributes of a product of type variant, variation master, or variation group. - displayName: getVariationAttributes - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - - ProductTraits.offset-paginated: - maxLimit: 50 - defaultSize: 25 - responses: - '200': - description: Get list of VariationAttributes for product ID successful. - body: - application/json: - type: VariationAttributes - examples: - variantAttributesResult: !include Examples/VariationAttributesResult.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - /{id}: - get: - description: Action to get variation attribute information only for master product. - displayName: getVariationAttribute - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Get VariationAttribute for product ID successful. - body: - application/json: - type: VariationAttribute - examples: - variantAttributeIdResult: !include Examples/VariationAttributeResult.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - delete: - description: Deletes the variation attribute by ID. - displayName: deleteVariationAttribute - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '204': - description: Deleted variation attribute successfully. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - patch: - description: |- - Updates the variation attribute with the specified information. - name - slicing - - displayName: updateVariationAttribute - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '200': - description: Udpated variation attribute successfully. - body: - application/json: - type: VariationAttribute - examples: - variantAttributeIdResult: !include Examples/VariationAttributeResult.raml - body: - application/json: - type: VariationAttribute - examples: - variantAttributeIdRequest: !include Examples/VariationAttributeRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - put: - description: Creates a variation attribute using the information provided. - displayName: createVariationAttribute - is: - - ProductTraits.ProductNotFound - - ProductTraits.Unauthorized - - ProductTraits.BadRequest - responses: - '201': - description: Created variation attribute successfully. - body: - application/json: - type: VariationAttribute - examples: - variantAttributeIdResult: !include Examples/VariationAttributeResult.raml - '200': - description: Created variation attribute successfully. - body: - application/json: - type: VariationAttribute - examples: - variantAttributeIdResult: !include Examples/VariationAttributeResult.raml - body: - application/json: - type: VariationAttribute - examples: - variantAttributeIdRequest: !include Examples/VariationAttributeRequest.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } - uriParameters: - productId: - description: The ID of the product. - minLength: 1 - type: string - example: apple-ipod-classic - id: - description: The ID of the variation attribute to create. - minLength: 1 - type: string - example: screenSize - -/organizations/{organizationId}/categorization-attribute-definitions: - get: - description: | - Gets the list of allowed attributes, values, and operators for creating rule-based categorization conditions. - displayName: getCategorizationAttributeDefinitions - is: - - ProductTraits.BadRequest - - ProductTraits.Unauthorized - queryParameters: - locale: - description: The display locale context for Attribute names and Attribute Value names. - type: string - required: false - example: en-US - responses: - 200: - description: Categorization attribute definitions retrieved successfully. - body: - application/json: - type: CategorizationAttributeDefinitonsResult - examples: - result: !include Examples/CategorizationAttributeDefinitionResult.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - - - - -/organizations/{organizationId}/product-search: - post: - description: | - Searches for products. The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped into different buckets. - - The following is a list of searchable attributes with their corresponding buckets: - - Main: - - | Attribute | Type | - |-----------|--------| - | id | String | - | name | String | - | online | SiteSpecific Boolean | - | searchable | SiteSpecific Boolean | - | validFrom | SiteSpecfic DateTime | - | validTo | SiteSpecfic DateTime | - | type | ProductType | - | creationDate | DateTime | - | lastModified | DateTime | - - Catalog: - - | Attribute | Type | - |-----------|--------| - | catalogId | String | - - Category: - - | Attribute | Type | - |-----------|--------| - | categoryId | String | - - Special: - - type - {\"item\", \"set, \"bundle\", \"master\", \"partOfProductSet\", \"bundled\", \"variant\", \"variationGroup\", \"option\", \"retailSet\", \"partOfRetailSet\"} - - The sortable properties are: - - | Attribute | Type | - |-----------|--------| - | id | String | - | name | String | - | creationDate | DateTime | - - Note that catalogId is the ID of the catalog to which products are assigned to - - Only attributes in the same bucket can be joined using a disjunction (OR). For instance, when joining id and catalogId, only a conjunction is allowed (AND), whereas id and searchable can be joined using a disjunction because they are in the same bucket. If an attribute is used in a disjunction (OR) that violates this rule, an exception is thrown. The product search retrieves additional properties of the product when expansions are used. - - The available expand attribute values are: - - - ‘all' retrieves all the product properties. This is the default used when no expand value is included in the request. - - - 'none' retrieves no expansion properties. - - - ‘availability' retrieves the following properties: - - ats - - inStock - - online - - - ‘categories' retrieves the assignedCategories property. - - - ‘images' retrieves the image property. - - - ‘allImages' used with images retrieves the following properties: - - image - - imageGroups - - - 'prices' retrieves the following properties: - - price - - priceCurrency - - - ‘sets' retrieves the following properties: - - setProducts - - productSets - - - ‘bundles' retrieves the following properties: - - productBundles - - bundledProduct - - displayName: searchProducts - queryParameters: - siteId: - description: The site context. - type: string - required: false - example: SiteGenesis - body: - application/json: - type: ProductSearchRequest - is: - - ProductTraits.BadRequest - - ProductTraits.Unauthorized - responses: - '200': - description: Product search completed successfully. - body: - application/json: - type: ProductSearchResult - examples: - productSearchResult: !include Examples/ProductSearchResult.raml - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } - diff --git a/testIntegration/stagingApis/product/shopper-products/.metadata.json b/testIntegration/stagingApis/product/shopper-products/.metadata.json deleted file mode 100644 index 9ffb7f87..00000000 --- a/testIntegration/stagingApis/product/shopper-products/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-products/0.0.37", - "name": "Shopper Products", - "description": "Display product details across your storefront.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-products", - "version": "0.0.37", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Product" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/product/shopper-products/Examples/category-example.raml b/testIntegration/stagingApis/product/shopper-products/Examples/category-example.raml deleted file mode 100644 index 2706ec5a..00000000 --- a/testIntegration/stagingApis/product/shopper-products/Examples/category-example.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the Shop Categories Single Get with expansions -value: - { - "categories": [ - { - "id": "electronics-televisions", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg", - "name": "Televisions", - "onlineSubCategoriesCount": 2, - "pageDescription": "Shop the latest Televisions including LCD, Plasma, Flat Screens, Projection including all the top brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "televisions, tvs, LCD, plasma, flat screen, high definition, HDTV, projection", - "pageTitle": "Televisions Including LCD, Plasma & More in High Definition", - "parentCategoryId": "electronics", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ], - "c_enableCompare": true, - "c_showInMenu": true, - "c_slotBannerImage": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw1d6f6411/images/slot/landing/cat-landing-tv.jpg" - }, - { - "id": "electronics-digital-cameras", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw3535377d/images/slot/sub_banners/cat-banner-electronics-camera.jpg", - "name": "Digital Cameras", - "onlineSubCategoriesCount": 0, - "pageDescription": "Shop the latest digital cameras from all the top brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "cameras, digital camerasm point and shoot, slr", - "pageTitle": "Digital Cameras", - "parentCategoryId": "electronics", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ], - "c_enableCompare": true, - "c_showInMenu": true, - "c_slotBannerImage": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw1a543dc7/images/slot/landing/cat-landing-camera.jpg" - }, - { - "id": "electronics-digital-media-players", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw7e9353db/images/slot/sub_banners/cat-banner-electronics-mp3.jpg", - "name": "iPod & MP3 Players", - "onlineSubCategoriesCount": 0, - "pageDescription": "Shop Digital Media Players including iPods, Creative Zen, Sony & the latest from all the top brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "mp3, iPods, mp3 players", - "pageTitle": "iPod & MP3 Digital Media Players", - "parentCategoryId": "electronics", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ], - "c_enableCompare": true, - "c_showInMenu": true, - "c_slotBannerImage": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw9f3d289a/images/slot/landing/cat-landing-mp3.jpg" - }, - { - "id": "electronics-gps-units", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw6ea864f2/images/slot/sub_banners/cat-banner-electronics-gps.jpg", - "name": "GPS Navigation", - "onlineSubCategoriesCount": 0, - "pageDescription": "Shop the latest in GPS units from Garmin and Tom Tom along with other brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "gps, gps units, garmin, tom tom", - "pageTitle": "GPS Units", - "parentCategoryId": "electronics", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ], - "c_enableCompare": true, - "c_showInMenu": true, - "c_slotBannerImage": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwad4e06f8/images/slot/landing/cat-landing-gps.jpg" - }, - { - "id": "electronics-gaming", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw9da58d91/images/slot/sub_banners/cat-banner-electronics.jpg", - "name": "Gaming", - "onlineSubCategoriesCount": 2, - "pageDescription": "Shop games and game consoles from Xbox, Xbox360, Playstation 2, Playstation 3, Game Cube, Wii, Playstation Portable and Nintento DS at Salesforce Commerce Cloud.", - "pageKeywords": "gaming, xbox, xbox360, ps3, ps2, playstaion 3, psp, game cube, wii, nintendo, nintendo ds", - "pageTitle": "Gaming", - "parentCategoryId": "electronics", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ], - "c_enableCompare": true, - "c_showInMenu": true, - "c_slotBannerImage": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/en_US/v1551233475301/images/slot/landing/cat-landing-gaming.jpg" - } - ], - "id": "electronics", - "name": "Electronics", - "onlineSubCategoriesCount": 5, - "pageDescription": "Shop Electronics including the latest in televisions, digital cameras, camcorders, mp3, ipod, mobil phones, GPS & gaming at Salesforce Commerce Cloud", - "pageKeywords": "televisions, digital cameras, camcorders, mp3, ipod, mobil phones, GPS, gaming", - "pageTitle": "Shop Electronics Including Televisions, Digital Cameras, iPods & More", - "parentCategoryId": "root", - "parent_category_tree": [ - { - "id": "root", - "name": "root" - } - ], - "c_enableCompare": true, - "c_headerMenuOrientation": "Vertical", - "c_showInMenu": true -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/Examples/category-result-example.raml b/testIntegration/stagingApis/product/shopper-products/Examples/category-result-example.raml deleted file mode 100644 index b949ead7..00000000 --- a/testIntegration/stagingApis/product/shopper-products/Examples/category-result-example.raml +++ /dev/null @@ -1,74 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the Shop Categories Multi Get with expansions -value: - { - "limit": 2, - "data": [ - { - "id": "electronics-digital-cameras", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dw3535377d/images/slot/sub_banners/cat-banner-electronics-camera.jpg", - "name": "Digital Cameras", - "onlineSubCategoriesCount": 0, - "pageDescription": "Shop the latest digital cameras from all the top brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "cameras, digital camerasm point and shoot, slr", - "pageTitle": "Digital Cameras", - "parentCategoryId": "electronics", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ] - }, - { - "categories": [ - { - "id": "electronics-televisions-flat-screen", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg", - "name": "Flat Screen", - "pageDescription": "Shop all Flat Screen Televisions including the latest in LCD and Plasma technology from all the latest brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "flat screen, flat screen television, LCD, plasma, HDTV", - "pageTitle": "LCD & Plasma High Definition Flat Screen Televisions", - "parentCategoryId": "electronics-televisions", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ] - }, - { - "id": "electronics-televisions-projection", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg", - "name": "Projection", - "onlineSubCategoriesCount": 0, - "pageDescription": "Shop all Projection Televisions from all the latest brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "projection, projection televisions, HDTV", - "pageTitle": "Projection High Definition Televisions", - "parentCategoryId": "electronics-televisions", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ], - } - ], - "id": "electronics-televisions", - "image": "https://example.com/on/demandware.static/-/Sites-storefront-catalog-en/default/dwc3940e75/images/slot/sub_banners/cat-banner-electronics-tv.jpg", - "name": "Televisions", - "onlineSubCategoriesCount": 2, - "pageDescription": "Shop the latest Televisions including LCD, Plasma, Flat Screens, Projection including all the top brands, makes and models at Salesforce Commerce Cloud.", - "pageKeywords": "televisions, tvs, LCD, plasma, flat screen, high definition, HDTV, projection", - "pageTitle": "Televisions Including LCD, Plasma & More in High Definition", - "parentCategoryId": "electronics", - "parent_category_tree": [ - { - "id": "electronics", - "name": "electronics" - } - ], - } - ], - "total": 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/Examples/product-example.raml b/testIntegration/stagingApis/product/shopper-products/Examples/product-example.raml deleted file mode 100644 index 03d2bf7b..00000000 --- a/testIntegration/stagingApis/product/shopper-products/Examples/product-example.raml +++ /dev/null @@ -1,212 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "brand": "Apple", - "currency": "USD", - "id": "apple-ipod-shuffle", - "imageGroups": [ - { - "images": [ - { - "alt": "Apple iPod Shuffle, , large", - "link": "https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dwc2cc65b0/images/large/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "large" - }, - { - "images": [ - { - "alt": "Apple iPod Shuffle, , medium", - "link": "https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dw5f36aab1/images/medium/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "medium" - }, - { - "images": [ - { - "alt": "Apple iPod Shuffle, , small", - "link": "https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dw2b078e02/images/small/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "small" - } - ], - "inventory": { - "ats": 0, - "backorderable": false, - "id": "SiteGenesisList", - "orderable": true, - "preorderable": false, - "stockLevel": 999999 - }, - "longDescription": "Supports AAC, protected AAC, MP3, MP3 VBR, Audible, WAV and AIFF for immediate playback of multiple formats.", - "master": { - "masterId": "apple-ipod-shuffle", - "orderable": false, - "price": 45.99 - }, - "minOrderQuantity": 1, - "name": "Apple iPod Shuffle", - "pageDescription": "With the same size circular control pad as the previous model on a much more compact case with a built-in clip, the updated shuffle is ready to rock and easily tags along when you're on the go.", - "pageKeywords": "Apple, iPod, Shuffle, MP3, Music Player", - "pageMetaTags": [ - { - "id": "description", - "value": "The updated Shuffle features the same-sized circular control pad in a more compact, clip-on case, making it perfect for on-the-go use." - }, - { - "id": "robots", - "value": "index, follow" - }, - { - "id": "title", - "value": "Buy the Apple iPod Shuffle for USD 45.99-69.00." - } - ], - "pageTitle": "Apple iPod Shuffle", - "price": 45.99, - "priceMax": 69, - "primaryCategoryId": "electronics-digital-media-players", - "shortDescription": "With the same size circular control pad as the previous model on a much more compact case with a built-in clip, the updated shuffle is ready to rock and easily tags along when you're on the go.", - "stepQuantity": 1, - "type": { - "master": true - }, - "variants": [ - { - "orderable": true, - "price": 45.99, - "productId": "apple-ipod-shuffle-silver-1g", - "variationValues": { - "color": "Silver", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-blue-1g", - "variationValues": { - "color": "Blue", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-green-1g", - "variationValues": { - "color": "Green", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-red-1g", - "variationValues": { - "color": "Red", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-fuscia-1g", - "variationValues": { - "color": "Fuscia", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 60, - "productId": "apple-ipod-shuffle-silver-2g", - "variationValues": { - "color": "Silver", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 69, - "productId": "apple-ipod-shuffle-green-2g", - "variationValues": { - "color": "Green", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 60, - "productId": "apple-ipod-shuffle-red-2g", - "variationValues": { - "color": "Red", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 69, - "productId": "apple-ipod-shuffle-fuscia-2g", - "variationValues": { - "color": "Fuscia", - "memorySize": "2 GB" - } - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "Silver", - "orderable": false, - "value": "Silver" - }, - { - "name": "Blue", - "orderable": false, - "value": "Blue" - }, - { - "name": "Green", - "orderable": false, - "value": "Green" - }, - { - "name": "Red", - "orderable": false, - "value": "Red" - }, - { - "name": "Fuscia", - "orderable": false, - "value": "Fuscia" - } - ] - }, - { - "id": "memorySize", - "name": "Memory Size", - "values": [ - { - "name": "1 GB", - "orderable": true, - "value": "1 GB" - }, - { - "name": "2 GB", - "orderable": true, - "value": "2 GB" - } - ] - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/Examples/product-result-example.raml b/testIntegration/stagingApis/product/shopper-products/Examples/product-result-example.raml deleted file mode 100644 index 12fb35b2..00000000 --- a/testIntegration/stagingApis/product/shopper-products/Examples/product-result-example.raml +++ /dev/null @@ -1,555 +0,0 @@ -#%RAML 1.0 NamedExample -# this example is for the Shop Products Multi Get with expansions -value: - { - "limit": 2, - "data": [ - { - "brand": "Apple", - "currency": "USD", - "id": "apple-ipod-shuffle", - "imageGroups": [ - { - "images": [ - { - "alt": "Apple iPod Shuffle, , large", - "link": "https://example.com/dwc2cc65b0/images/large/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "large" - }, - { - "images": [ - { - "alt": "Apple iPod Shuffle, , medium", - "link": "https://example.com/dw5f36aab1/images/medium/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "medium" - }, - { - "images": [ - { - "alt": "Apple iPod Shuffle, , small", - "link": "https://example.com/dw2b078e02/images/small/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "small" - } - ], - "inventory": { - "ats": 900, - "backorderable": false, - "id": "inventory", - "orderable": true, - "preorderable": false, - "stockLevel": 900 - }, - "longDescription": "Supports MP3, MP3 VBR, AAC, Protected AAC, Audible 2, 3 and 4, Apple Lossless and AIFF audio formats; also supports JPEG, BMP, GIF, TIFF, PSD (Mac only) and PNG image formats and H.264 (high-definition), MPEG-4 and MPEG-4 video formats", - "master": { - "masterId": "apple-ipod-shuffle", - "orderable": true, - "price": 45.99 - }, - "name": "Apple iPod Shuffle", - "options": [ - { - "description": "Product Warranty", - "id": "warranty", - "name": "Warranty", - "values": [ - { - "default": true, - "id": "o1", - "name": "Option One", - "price": 10.00 - }, - { - "default": false, - "id": "o2", - "name": "Option Two", - "price": 20.00 - }, - { - "default": false, - "id": "o3", - "name": "Option Three", - "price": 30.00 - } - ] - } - ], - "pageDescription": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go.", - "pageKeywords": "Apple, iPod, iPod Classic, MP3, Music Player", - "pageMetaTags": [ - { - "id": "description", - "value": "The updated Shuffle features the same-sized circular control pad in a more compact, clip-on case, making it perfect for on-the-go use." - }, - { - "id": "robots", - "value": "index, follow" - }, - { - "id": "title", - "value": "Buy the Apple iPod Shuffle for USD 45.99-69.00." - } - ], - "pageTitle": "Apple iPod Nano", - "price": 45.99, - "priceMax": 69.00, - "primaryCategoryId": "electronics-digital-media-players", - "shortDescription": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go.", - "type": { - "master": true - }, - "variants": [ - { - "orderable": true, - "price": 45.99, - "productId": "apple-ipod-shuffle-silver-1g", - "variationValues": { - "color": "Silver", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49.00, - "productId": "apple-ipod-shuffle-blue-1g", - "variationValues": { - "color": "Blue", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49.00, - "productId": "apple-ipod-shuffle-green-1g", - "variationValues": { - "color": "Green", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49.00, - "productId": "apple-ipod-shuffle-red-1g", - "variationValues": { - "color": "Red", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49.00, - "productId": "apple-ipod-shuffle-fuscia-1g", - "variationValues": { - "color": "Fuscia", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 60.00, - "productId": "apple-ipod-shuffle-silver-2g", - "variationValues": { - "color": "Silver", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 69.00, - "productId": "apple-ipod-shuffle-green-2g", - "variationValues": { - "color": "Green", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 60.00, - "productId": "apple-ipod-shuffle-red-2g", - "variationValues": { - "color": "Red", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 69.00, - "productId": "apple-ipod-shuffle-fuscia-2g", - "variationValues": { - "color": "Fuscia", - "memorySize": "2 GB" - } - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "Silver", - "orderable": true, - "value": "Silver" - }, - { - "name": "Blue", - "orderable": true, - "value": "Blue" - }, - { - "name": "Green", - "orderable": true, - "value": "Green" - }, - { - "name": "Red", - "orderable": true, - "value": "Red" - }, - { - "name": "Fuscia", - "orderable": true, - "value": "Fuscia" - } - ] - }, - { - "id": "memorySize", - "name": "Memory Size", - "values": [ - { - "name": "1 GB", - "orderable": true, - "value": "1 GB" - }, - { - "name": "2 GB", - "orderable": true, - "value": "2 GB" - } - ] - } - ] - }, - { - "brand": "Apple", - "currency": "USD", - "id": "apple-ipod-nano", - "imageGroups": [ - { - "images": [ - { - "alt": "Apple iPod Nano, , large", - "link": "https://example.com/dw6228cf42/images/large/ipod-nano-silver.jpg", - "title": "Apple iPod Nano, " - } - ], - "viewType": "large" - }, - { - "images": [ - { - "alt": "Apple iPod Nano, , medium", - "link": "https://example.com/dw6d95bfcf/images/medium/ipod-nano-silver.jpg", - "title": "Apple iPod Nano, " - } - ], - "viewType": "medium" - }, - { - "images": [ - { - "alt": "Apple iPod Nano, , small", - "link": "https://example.com/default/dwc0ba7002/images/small/ipod-nano-silver.jpg", - "title": "Apple iPod Nano, " - } - ], - "viewType": "small" - } - ], - "inventory": { - "ats": 1710, - "backorderable": false, - "id": "inventory", - "orderable": true, - "preorderable": false, - "stockLevel": 1700 - }, - "longDescription": "Supports MP3 (up to 320 Kbps), MP3 VBR, AAC (up to 320 Kbps), Protected AAC (iTunes Music Store), Audible (formats 2, 3, 4), AIFF, Apple Lossless and WAV audio formats, plus BMP, JPEG, GIF, TIFF, PNG and PSD (Mac only) image formats; podcasting support", - "master": { - "masterId": "apple-ipod-nano", - "orderable": true, - "price": 119.00 - }, - "minOrderQuantity": 1, - "name": "Apple iPod Nano", - "pageDescription": "The all new iPod nano has a curved aluminum and glass design and stunning new features. The Genius music feature helps you find music to fit your mood. With the built-in accelerometer, you can rotate the nano to flip through album art with Cover Flow. Plus, view photos and videos in either portrait or landscape.", - "pageKeywords": "Apple, iPod, Nano, MP3, Music Player", - "pageMetaTags": [ - { - "id": "description", - "value": "The new iPod nano features a curved aluminum and glass design along with great new features. Genius music helps you find songs that match your mood, and the built-in accelerometer lets you rotate the nano to flip through album art using Cover Flow. You can also view photos and videos in both portrait and landscape orientations." - }, - { - "id": "robots", - "value": "index, follow" - }, - { - "id": "title", - "value": "Buy the Apple iPod Nano for USD 119.00-199.00." - } - ], - "pageTitle": "Apple iPod Nano", - "price": 119.00, - "priceMax": 199.00, - "primaryCategoryId": "electronics-digital-media-players", - "shortDescription": "The all new iPod nano has a curved aluminum and glass design and stunning new features. The Genius music \r\nfeature helps you find music to fit your mood. With the built-in accelerometer, you can rotate the nano to flip through album art with \r\nCover Flow. Plus, view photos and videos in either portrait or landscape.", - "stepQuantity": 1, - "type": { - "master": true - }, - "variants": [ - { - "orderable": true, - "price": 149.00, - "productId": "apple-ipod-nano-silver-8g", - "variationValues": { - "color": "Silver", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 149.00, - "productId": "apple-ipod-nano-black-8g", - "variationValues": { - "color": "Black", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 149.00, - "productId": "apple-ipod-nano-purple-8g", - "variationValues": { - "color": "Purple", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 149.00, - "productId": "apple-ipod-nano-blue-8g", - "variationValues": { - "color": "Blue", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 149.00, - "productId": "apple-ipod-nano-green-8g", - "variationValues": { - "color": "Green", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 119.00, - "productId": "apple-ipod-nano-yellow-8g", - "variationValues": { - "color": "Yellow", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 149.00, - "productId": "apple-ipod-nano-orange-8g", - "variationValues": { - "color": "Orange", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 119.00, - "productId": "apple-ipod-nano-red-8g", - "variationValues": { - "color": "Red", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 149.00, - "productId": "apple-ipod-nano-fuscia-8g", - "variationValues": { - "color": "Fuscia", - "memorySize": "8 GB" - } - }, - { - "orderable": true, - "price": 199.00, - "productId": "apple-ipod-nano-silver-16g", - "variationValues": { - "color": "Silver", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 199.00, - "productId": "apple-ipod-nano-black-16g", - "variationValues": { - "color": "Black", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 199.00, - "productId": "apple-ipod-nano-purple-16g", - "variationValues": { - "color": "Purple", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 159.00, - "productId": "apple-ipod-nano-blue-16g", - "variationValues": { - "color": "Blue", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 199.00, - "productId": "apple-ipod-nano-green-16g", - "variationValues": { - "color": "Green", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 199.00, - "productId": "apple-ipod-nano-yellow-16g", - "variationValues": { - "color": "Yellow", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 159.00, - "productId": "apple-ipod-nano-orange-16g", - "variationValues": { - "color": "Orange", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 199.00, - "productId": "apple-ipod-nano-red-16g", - "variationValues": { - "color": "Red", - "memorySize": "16 GB" - } - }, - { - "orderable": true, - "price": 199.00, - "productId": "apple-ipod-nano-fuscia-16g", - "variationValues": { - "color": "Fuscia", - "memorySize": "16 GB" - } - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "Silver", - "orderable": true, - "value": "Silver" - }, - { - "name": "Black", - "orderable": true, - "value": "Black" - }, - { - "name": "Purple", - "orderable": true, - "value": "Purple" - }, - { - "name": "Blue", - "orderable": true, - "value": "Blue" - }, - { - "name": "Green", - "orderable": true, - "value": "Green" - }, - { - "name": "Yellow", - "orderable": true, - "value": "Yellow" - }, - { - "name": "Orange", - "orderable": true, - "value": "Orange" - }, - { - "name": "Red", - "orderable": true, - "value": "Red" - }, - { - "name": "Fuscia", - "orderable": true, - "value": "Fuscia" - } - ] - }, - { - "id": "memorySize", - "name": "Memory Size", - "values": [ - { - "name": "8 GB", - "orderable": true, - "value": "8 GB" - }, - { - "name": "16 GB", - "orderable": true, - "value": "16 GB" - } - ] - } - ] - } - ], - "total": 2 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/Traits/BadRequest.raml b/testIntegration/stagingApis/product/shopper-products/Traits/BadRequest.raml deleted file mode 100644 index 3bdfe1ce..00000000 --- a/testIntegration/stagingApis/product/shopper-products/Traits/BadRequest.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response. -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Bad Request", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/validation", - "detail": "Maximum number of products you can request in one call is 25." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/Traits/GetProductBadRequest.raml b/testIntegration/stagingApis/product/shopper-products/Traits/GetProductBadRequest.raml deleted file mode 100644 index dc15930f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/Traits/GetProductBadRequest.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response. -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorResponse - examples: - BadRequest: | - { - "title": "Bad Request", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/validation", - "detail": "Maximum number of products you can request in one call is 25." - } - MalformedSelector: | - { - "title": "Malformed Selector", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-selector", - "detail": "The property selector '(brand,imageGroups.(**)' is malformed.", - "selector": "(brand,imageGroups.(**)" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/Traits/GetProductsBadRequest.raml b/testIntegration/stagingApis/product/shopper-products/Traits/GetProductsBadRequest.raml deleted file mode 100644 index c9bcc1c9..00000000 --- a/testIntegration/stagingApis/product/shopper-products/Traits/GetProductsBadRequest.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response. -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorResponse - examples: - MalformedSelectorGetProducts: | - { - "title": "Malformed Selector", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-selector", - "detail": "The property selector '(data.(name, imageGroups.(**))' is malformed.", - "selector": "(data.(name, imageGroups.(**))" - } - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/Traits/NotFound.raml b/testIntegration/stagingApis/product/shopper-products/Traits/NotFound.raml deleted file mode 100644 index 67f0522c..00000000 --- a/testIntegration/stagingApis/product/shopper-products/Traits/NotFound.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 404 response. - -responses: - 404: - description: Not Found. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Product Not Found", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/product-not-found", - "detail": "No product with ID 'pple-ipod-shuffle' for site 'SiteGenesis' could be found.", - "productId": "pple-ipod-shuffle", - "siteId": "SiteGenesis" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/Traits/Unauthorized.raml b/testIntegration/stagingApis/product/shopper-products/Traits/Unauthorized.raml deleted file mode 100644 index c795d6c8..00000000 --- a/testIntegration/stagingApis/product/shopper-products/Traits/Unauthorized.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 401 response in case of authorization failure. - -responses: - 401: - description: Unauthorized. - body: - application/problem+json: - type: ErrorResponse - example: | - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "hbGciOiJIUzI1NiIsInR5cCI6Ikp" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/Traits/product-example.raml b/testIntegration/stagingApis/product/shopper-products/Traits/product-example.raml deleted file mode 100644 index de98aa19..00000000 --- a/testIntegration/stagingApis/product/shopper-products/Traits/product-example.raml +++ /dev/null @@ -1,198 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "brand": "Apple", - "currency": "USD", - "id": "apple-ipod-shuffle", - "imageGroups": [ - { - "images": [ - { - "alt": "Apple iPod Shuffle, , large", - "link": "https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dwc2cc65b0/images/large/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "large" - }, - { - "images": [ - { - "alt": "Apple iPod Shuffle, , medium", - "link": "https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dw5f36aab1/images/medium/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "medium" - }, - { - "images": [ - { - "alt": "Apple iPod Shuffle, , small", - "link": "https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dw2b078e02/images/small/ipod-shuffle-silver.jpg", - "title": "Apple iPod Shuffle, " - } - ], - "viewType": "small" - } - ], - "inventory": { - "ats": 0, - "backorderable": false, - "id": "SiteGenesisList", - "orderable": true, - "preorderable": false, - "stockLevel": 999999 - }, - "longDescription": "Supports AAC, protected AAC, MP3, MP3 VBR, Audible, WAV and AIFF for immediate playback of multiple formats.", - "master": { - "masterId": "apple-ipod-shuffle", - "orderable": false, - "price": 45.99 - }, - "minOrderQuantity": 1, - "name": "Apple iPod Shuffle", - "pageDescription": "With the same size circular control pad as the previous model on a much more compact case with a built-in clip, the updated shuffle is ready to rock and easily tags along when you're on the go.", - "pageKeywords": "Apple, iPod, Shuffle, MP3, Music Player", - "pageTitle": "Apple iPod Shuffle", - "price": 45.99, - "priceMax": 69, - "primaryCategoryId": "electronics-digital-media-players", - "shortDescription": "With the same size circular control pad as the previous model on a much more compact case with a built-in clip, the updated shuffle is ready to rock and easily tags along when you're on the go.", - "stepQuantity": 1, - "type": { - "master": true - }, - "variants": [ - { - "orderable": true, - "price": 45.99, - "productId": "apple-ipod-shuffle-silver-1g", - "variationValues": { - "color": "Silver", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-blue-1g", - "variationValues": { - "color": "Blue", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-green-1g", - "variationValues": { - "color": "Green", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-red-1g", - "variationValues": { - "color": "Red", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 49, - "productId": "apple-ipod-shuffle-fuscia-1g", - "variationValues": { - "color": "Fuscia", - "memorySize": "1 GB" - } - }, - { - "orderable": true, - "price": 60, - "productId": "apple-ipod-shuffle-silver-2g", - "variationValues": { - "color": "Silver", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 69, - "productId": "apple-ipod-shuffle-green-2g", - "variationValues": { - "color": "Green", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 60, - "productId": "apple-ipod-shuffle-red-2g", - "variationValues": { - "color": "Red", - "memorySize": "2 GB" - } - }, - { - "orderable": true, - "price": 69, - "productId": "apple-ipod-shuffle-fuscia-2g", - "variationValues": { - "color": "Fuscia", - "memorySize": "2 GB" - } - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "Silver", - "orderable": false, - "value": "Silver" - }, - { - "name": "Blue", - "orderable": false, - "value": "Blue" - }, - { - "name": "Green", - "orderable": false, - "value": "Green" - }, - { - "name": "Red", - "orderable": false, - "value": "Red" - }, - { - "name": "Fuscia", - "orderable": false, - "value": "Fuscia" - } - ] - }, - { - "id": "memorySize", - "name": "Memory Size", - "values": [ - { - "name": "1 GB", - "orderable": true, - "value": "1 GB" - }, - { - "name": "2 GB", - "orderable": true, - "value": "2 GB" - } - ] - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange.json b/testIntegration/stagingApis/product/shopper-products/exchange.json deleted file mode 100644 index bdcca292..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "0.0.37", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-products.raml", - "backwardsCompatible": false, - "assetId": "shopper-products", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Products", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml deleted file mode 100644 index 9934513a..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/api-standards.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml deleted file mode 100644 index a781c7ba..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/example.raml +++ /dev/null @@ -1,122 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/local/salutation/{version} -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - languageOrigin?: date-only - speakers: number - examples: - spanish: - language: es - word: Hola - speakers: 100000000 - italian: - language: it - word: Ciao - languageOrigin: 1620-01-30 - speakers: 99999999 - english: - language: en - word: Hello - speakers: 3 - german: - language: de - word: Hallo - speakers: 170000000 - -/salutations: - get: - description: Get all salutations - displayName: getSalutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - - conventions.DateRangeFilter: - name: languageOrigin - - conventions.NumericRangeFilter: - name: speakers - responses: - 200: - description: successful response - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - displayName: createSalutation - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - description: successful response - 405: - description: Not allowed - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - description: Synchronously create an annotation allowing the server to create an ID for it - displayName: createSalutationSynchronously - is: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - description: successful response - 404: - description: Not found - body: - application/json: - type: conventions.ErrorResponse - - - get: - description: gets details for a specific salutation - displayName: getSalutation - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - description: successful response - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json deleted file mode 100644 index cdff007f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.13","classifier":"raml-fragment","main":"api-standards.raml","name":"API Standards","dependencies":[],"tags":[],"metadata":{}} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml deleted file mode 100644 index 6c528dea..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/securitySchemes/gdot.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Salesforce Cloud-to-Cloud Authentication. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Cloud-to-Cloud token - type: string - pattern: "C2C .*" - examples: - Example: C2C b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid or expired and could not be used to identify a cloud, service, tenant or tenant-group. - - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.13/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml deleted file mode 100644 index 1f282c6d..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - -uses: - Pagination: dataTypes/pagination-types.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml deleted file mode 100644 index 40ff7f98..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml deleted file mode 100644 index 240efb3e..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml +++ /dev/null @@ -1,92 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json deleted file mode 100644 index 43604496..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.8","apiVersion":"v1","dependencies":[],"metadata":{"projectId":"3ca896ab-161d-4b74-aac8-2ad01f3f8e57","branchId":"master","commitId":"8cb35217b287a4dab4e2031fcd6fbe34fb83caf1"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml deleted file mode 100644 index 3afcaaf8..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml deleted file mode 100644 index 9dde8bcd..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: number - description: The starting offset returned. - SFDC-Pagination-Limit: - type: number - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: number - description: The total number of records available. - SFDC-Pagination-Result-Count?: - type: number - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index 4463d386..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml deleted file mode 100644 index 1fe2d231..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml deleted file mode 100644 index 419c821f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/Types/search-types.raml +++ /dev/null @@ -1,358 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int32 - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json deleted file mode 100644 index 9012e41c..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.15","metadata":{"projectId":"b14c2b6a-2d86-46c1-9038-7cbedc656132","branchId":"master","commitId":"f6d54dade2b1aeed39ef12b62e6f8e8b9d0b48cd"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml deleted file mode 100644 index 4530d24e..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml +++ /dev/null @@ -1,359 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml deleted file mode 100644 index 0a2aefa8..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml +++ /dev/null @@ -1,111 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/example.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json deleted file mode 100644 index b7967978..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.17"} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml deleted file mode 100644 index 99e06ea0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/commerce-cloud-standards.raml +++ /dev/null @@ -1,120 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml deleted file mode 100644 index f9abcef7..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/example.raml +++ /dev/null @@ -1,69 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json deleted file mode 100644 index fbeb9213..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.27/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.27","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/product/shopper-products/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/products-traits-library.raml b/testIntegration/stagingApis/product/shopper-products/products-traits-library.raml deleted file mode 100644 index a0df7045..00000000 --- a/testIntegration/stagingApis/product/shopper-products/products-traits-library.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Library -usage: Use the following traits for request and response status information - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml -types: - ErrorResponse: ApiStandards.ErrorResponse - -traits: - Unauthorized: !include Traits/Unauthorized.raml - BadRequest1: !include Traits/GetProductBadRequest.raml - BadRequest2: !include Traits/GetProductsBadRequest.raml - BadRequest: !include Traits/BadRequest.raml - NotFound: !include Traits/NotFound.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/shopper-products-description.md b/testIntegration/stagingApis/product/shopper-products/shopper-products-description.md deleted file mode 100644 index 5826f541..00000000 --- a/testIntegration/stagingApis/product/shopper-products/shopper-products-description.md +++ /dev/null @@ -1,88 +0,0 @@ -# API Overview - -The Shopper Products API enables you to access product details for products that are online, merchandised to a particular site catalog, and ready to be sold. You can use these product details to merchandise the product on other ecommerce channels. To set up category navigation paths on other commerce apps or storefronts, you can use the Categories API. - -Caching is provided for the Shopper Products API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) - -## Authentication & Authorization - -The client requesting the product information must have access to the Products resource. The Shopper Products API requires a shopper access token from the Shopper Login and API Access Service (SLAS). - -For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) - -## Use Cases - -### Populate Product Listing Pages - -Use the Shopper Product API so that a customer, browsing on a commerce shopping app built using Commerce Cloud APIs, can see a list of products. For example, hydrate a list of products (max 24). The API returns product details including images, prices, promotions, and product availability. - -![b2c-commerce-shopper-products-screenshot-1.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-products-screenshot-1.png) - -### Get Variation Product Details on an Ecommerce Channel - -Use the API so that a customer, browsing on a commerce shopping app built using Commerce Cloud APIs, can switch between different variation products. The API returns product details including images, prices, promotions, and available to sell inventory. - -![b2c-commerce-shopper-products-screenshot-2.png](https://resources.docs.salesforce.com/rel1/doc/en-us/static/misc/b2c-commerce-shopper-products-screenshot-2.png) - -### Retrieve Promotion Information - -Promotions provide discounts to shoppers when they meet certain purchase requirements. - -Promotion information is described in detail in [Promotion Details](https://developer.salesforce.com/docs/commerce/commerce-api/guide/promotion-details.html), but the following list provides several key points: - -- Pricing discounts for basket and shipping promotions are NEVER returned by the 'getProduct' or 'getProducts' endpoint. -- Promotional pricing is ONLY returned for products that are included with non-conditional promotions. -- Callout messages are ALWAYS returned by the 'getProduct' and 'getProducts' endpoints. - -By default, 'getProduct' and 'getProducts' return promotion information for a queried product. Promotion information includes both pricing and callout message information. However, the specific pricing and callout information that is fetched is determined by: - -- Promotion Type -- Product Type -- Product Purchase Requirements - -Some promotions can be displayed on a Product Data Page (PDP) or Product Listing page (PLP), while other promotions are displayed in the context of a basket, such as an order level promotion: "add the product to your basket to view price information". It is important to understand what is included in the response when designing a PDP or PLP on top of SCAPI to ensure your design aligns with implementable features. - -#### Shopper Personalization -The SCAPI response can be personalized using the Shopper Context API or hooks. By setting specific values in the Shopper Context API, you can modify the response of the 'getProduct' or 'getProducts' endpoint based on the shopper's context. For instance, you can offer a 5% discount or free shipping to shoppers using mobile devices. - -#### JWA Caching -The response is cached in JWA, which means promotion data contained in the response is also cached based on the TTL (Time to Live) specified in the Business Manager [Feature Switches](https://help.salesforce.com/s/articleView?id=cc.b2c_feature_switches.htm&type=5) configuration. -When the shopper context value is updated, a check is conducted to see if the updated shopper context affects the retrieval of product-promotion data. If it does, then the response is fetched from the source and cached in the JWA. - -For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) - -### Use Hooks - -For details working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html) - -## Resources - -### Product - -A full representation of a product or service that is to merchandise. A ready to merchandise product is one that is online, categorized, and published to a channel. The information associated with a product includes, the product name, description, custom and system attributes, variations, price, availability, and images. - -### Category - -Categories and subcategories are the structure by which products are organized and grouped in a catalog and on a storefront. Categories can have relationships to other categories. Further, each category can provide context that is inherited by subcategories. For example, a category can have an assigned attribute. A product assigned to that category or any subcategory inherits the categories’s attribute value. Once the product is removed from the category, the attribute value is no longer inherited by the product. You can also use category linking for site hierarchical navigation. For example, inside the Clothing category you may have Men’s, and inside the Men’s category you may have Pants. - -Categories are not tags. - -## Endpoints - -### GET /products - -Returns product details for up to 24 products in one API request. You can use this API for use cases that require populating or hydrating multiple products at a time, such as populating the Product Listing Pages. - -The response data includes availability, promotions, images, and prices, along with the basic product information for the products requested. - -### GET /products/{id} - -Returns product details about a single product. Use this API for use cases that require populating or hydrating one product at a time, such as the Product Detail Pages. - -The response data includes availability, promotions, options, images, prices, variations, bundled_products, set_products, recommendations, and the basic product information for the product requested. - -### GET /categories - -Returns category details including the parent child relationships for one or more categories. The limit on depth for the parent-child relationship is 2. \ No newline at end of file diff --git a/testIntegration/stagingApis/product/shopper-products/shopper-products.raml b/testIntegration/stagingApis/product/shopper-products/shopper-products.raml deleted file mode 100644 index d9dadd36..00000000 --- a/testIntegration/stagingApis/product/shopper-products/shopper-products.raml +++ /dev/null @@ -1,1068 +0,0 @@ -#%RAML 1.0 -title: Shopper Products -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/product/shopper-products/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: !include shopper-products-description.md - -uses: - ProdTraits: products-traits-library.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - BundledProduct: - description: A bundle of products that can be bought together (all or nothing). Each product in the bundle can itself be bought independently, but this is outside of the context of the bundle. A bundle is a purchasing convenience. *Product bundle has a SKU and price.* - properties: - id: - type: string - example: "823476" - product: - description: The product being bundled. - type: Product - quantity: - description: For the product being bundled, the quantity added to the bundle. - type: number - format: double - example: 5 - Image: - description: Product image - properties: - alt: - description: The localized alternative text of the image. - type: string - required: false - example: "Apple iPod Shuffle, large" - disBaseLink: - description: Base URL for the Dynamic Image Service (DIS) address. This is only shown if the image is stored on the server and DIS is enabled. - type: string - required: false - example: "https://example.com/images/large/ipod-shuffle-silver.jpg" - link: - description: The URL of the actual image. - minLength: 1 - type: string - example: "https://example.com/on/demandware.static/-/Sites-electronics-catalog/default/dwc2/images/large/ipod-shuffle.jpg" - title: - description: The localized title of the image. - type: string - required: false - example: "Apple iPod Shuffle" - ImageGroup: - description: Document representing an image group containing a list of images for a particular view type and an optional variation value. - properties: - images: - description: The images of the image group. - type: array - items: - type: Image - variationAttributes: - description: Returns a list of variation attributes applying to this image group. - type: array - items: - type: VariationAttribute - required: false - viewType: - description: The image view type. - type: string - example: "hi-res" - Inventory: - description: Document representing inventory information of the current product for a particular inventory list. - properties: - ats: - description: |- - The Available To Sell (ATS) of the product. If it is infinity, the return value is 999999. The value can be overwritten by the - OCAPI setting 'product.inventory.ats.max_threshold'. - type: number - format: double - required: false - example: 15 - backorderable: - description: A flag indicating whether the product is backorderable. - type: boolean - required: false - example: true - id: - description: The inventory ID. - type: string - example: "SiteList" - inStockDate: - description: A flag indicating the date when the product will be in stock. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - orderable: - description: A flag indicating whether at least one of the products is available to sell. - type: boolean - required: false - example: true - preorderable: - description: A flag indicating whether the product is preorderable. - type: boolean - required: false - example: false - stockLevel: - description: |- - The stock level of the product. If it is infinity, the return value is 999999. The value can be overwritten by the - OCAPI setting 'product.inventory.stock_level.max_threshold'. - type: number - format: double - required: false - example: 10 - Master: - description: The master product is a representation of a group of variant products. This is a non-buyable entity, provides inheritable attributes for its product variants, and is used for navigation. *Doesn't have a SKU.* - properties: - masterId: - description: The ID (SKU) of the master product. - maxLength: 100 - minLength: 1 - type: string - example: "82349" - orderable: - description: A flag indicating whether at least one of the variants can be ordered. - type: boolean - required: false - example: true - price: - description: The minimum sales price of the related variants. - type: number - format: double - required: false - example: 15.99 - priceMax: - description: The maximum sales price of the related variants. - type: number - format: double - required: false - example: 25.99 - prices: - description: List of sale prices. - type: object - properties: - //: - type: number - format: double - required: false - Option: - description: Product options enable you to sell configurable products that have optional accessories, upgrades, or additional services. Options are always purchased with a product and can't be purchased separately. *Product Option has a SKU and a price associated with it.* - properties: - description: - description: The localized description of the option. - type: string - required: false - example: "Get this Option" - id: - description: The ID of the option. - maxLength: 100 - minLength: 1 - type: string - example: "Warranty" - image: - description: The URL to the option image. - type: string - required: false - example: "https://www.exampleimage.com/images/optionImage.jpg" - name: - description: The localized name of the option. - type: string - required: false - example: "Warranty" - values: - description: The array of option values. This array can be empty. - type: array - items: - type: OptionValue - required: false - OptionValue: - description: Document representing an option value. - properties: - default: - description: A flag indicating whether this option value is the default one. - type: boolean - required: false - example: true - id: - description: The ID of the option value. - maxLength: 100 - minLength: 1 - type: string - example: "5YR" - name: - description: The localized name of the option value. - type: string - required: false - example: "5 Year Warranty" - price: - description: The effective price of the option value. - type: number - format: double - required: false - example: 15.99 - PageMetaTag: - description: Document representing a Page Meta Tag object. - properties: - id: - description: The ID of the Page Meta Tag. - type: string - required: false - example: "title" - value: - description: Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID. - type: string - required: false - example: "Buy the Long Sleeve Covered Placket Blouse for USD 61.99." - PriceRange: - description: Document representing price ranges for a product which happens to be a master product (per Pricebook) - properties: - maxPrice: - description: Maximum price for the given pricebook (usually for a master Product would be the price for the Variant which has the highest price out of all Variants in that pricebook) - type: number - format: double - required: false - example: 10.89 - minPrice: - description: Minimum price for the given pricebook (usually for a master Product would be the price for the Variant which has the least price out of all Variants in that pricebook) - type: number - format: double - required: false - example: 10.89 - pricebook: - description: The active pricebook from which the min and the max prices are calculated. The pricebook is based on the site context of the request as defined in ECOM. - type: string - required: false - example: usd-list-pricebook - Product: - description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. A product has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. - properties: - brand: - description: The product's brand. - type: string - required: false - example: "Apple" - bundledProducts: - description: The array of all bundled products of this product. - type: array - items: - type: BundledProduct - required: false - currency: - description: The ISO 4217 mnemonic code of the currency. - type: string - required: false - example: "USD" - ean: - description: The European Article Number of the product. - type: string - required: false - example: "8essdf9w3" - fetchDate: - type: integer - format: int32 - required: false - example: 5 - id: - description: The ID (SKU) of the product. - maxLength: 24 - minLength: 1 - type: string - example: "apple-ipod-classic" - imageGroups: - description: The array of product image groups. - type: array - items: - type: ImageGroup - required: false - inventories: - description: |- - The array of product inventories explicitly requested via the 'inventory_ids' query parameter. This property - is only returned in context of the 'availability' expansion. - type: array - items: - type: Inventory - required: false - inventory: - description: |- - The site default inventory information. This property is only - returned in context of the 'availability' expansion. - type: Inventory - required: false - longDescription: - description: The localized product's long description. - type: string - required: false - example: "Awesome long description of product" - manufacturerName: - description: The product's manufacturer name. - type: string - required: false - example: "Apple" - manufacturerSku: - description: The product's manufacturer SKU. - type: string - required: false - example: "2ND8834" - master: - description: 'The master product information, only for types: master, variation group, and variant.' - type: Master - required: false - minOrderQuantity: - description: The minimum order quantity for this product. - type: number - format: double - required: false - example: 2 - name: - description: The localized product name. - type: string - required: false - example: "Apple IPod Classic" - options: - description: The array of product options, only for type option. This array can be empty. - type: array - items: - type: Option - required: false - pageDescription: - description: The localized product's page description. - type: string - required: false - example: "Really good Product" - pageKeywords: - description: The localized product's page description. - type: string - required: false - example: "Ipod, Music Player" - pageMetaTags: - description: Page Meta tags associated with the given product. - type: array - items: - PageMetaTag - required: false - pageTitle: - description: The localized product's page title. - type: string - required: false - example: "Apple IPod Classic" - price: - description: |- - The sales price of the product. In case of complex products, like master or set, this is the minimum price of - related child products. - type: number - format: double - required: false - example: 59.99 - pricePerUnit: - description: The price per unit if defined for the product - type: number - format: double - required: false - example: 19.99 - pricePerUnitMax: - description: The max price per unit typically for a master product's variant. - type: number - format: double - required: false - example: 29.99 - priceMax: - description: The maximum sales of related child products in complex products like master or set. - type: number - format: double - required: false - example: 69.99 - priceRanges: - description: Array of one or more price range objects representing one or more Pricebooks in context for the site. - type: PriceRange[] - required: false - prices: - description: The prices map with pricebook IDs and their values. - type: object - properties: - //: - type: number - format: double - required: false - primaryCategoryId: - description: The ID of the products primary category. - type: string - required: false - example: "electronics" - productLinks: - description: The array of source and target product links information. - type: array - items: - type: ProductLink - required: false - productPromotions: - description: |- - The array of active customer product promotions for this product. This array can be empty. - Coupon promotions are not returned in this array. - type: array - items: - type: ProductPromotion - required: false - recommendations: - description: Returns a list of recommendations. - type: array - items: - type: Recommendation - required: false - setProducts: - description: The array of set products of this product. - type: array - items: - type: Product - required: false - shortDescription: - description: The localized product short description. - type: string - required: false - example: "Awesome Product" - slugUrl: - description: The complete link to this product's storefront page. - type: string - required: false - example: "https://www.example.com/on/store/Sites-MySite/default/Product-Show?pid=MyProduct" - stepQuantity: - description: |- - The steps in which the order amount of the product can be - increased. - type: number - format: double - required: false - example: 2 - tieredPrices: - description: The document represents list of tiered prices if the product is a variant - type: ProductPriceTable[] - required: false - type: - description: 'The product type information. Can be one or more of the following values: item, master, variation_group, variant, bundle, and set.' - type: ProductType - required: false - unit: - description: The sales unit of the product. - type: string - required: false - example: "lbs" - upc: - description: The Universal Product Code (UPC). - type: string - required: false - example: "JSDU876" - validFrom: - description: The time a product is valid from. - type: datetime - required: false - example: 9999-12-31T00:00:00.0Z - validTo: - description: The time a product is valid to. - type: datetime - required: false - example: 9999-12-31T23:59:59.0Z - variants: - description: The array of actual variants. Only for master, variation group, and variant types. This array can be empty. - type: array - items: - type: Variant - required: false - variationAttributes: - description: |- - Sorted array of variation attributes information. Only for master, - variation group, and variant types. This array can be empty. - type: array - items: - type: VariationAttribute - required: false - variationGroups: - description: The array of actual variation groups. Only for master, variation group, and variant types. This array can be empty. - type: array - items: - type: VariationGroup - required: false - variationValues: - description: |- - The actual variation attribute ID - value pairs. Only for variant and - variation group types. - type: object - properties: - //: - type: string - required: false - ProductLink: - description: |- - Document representing a link between two products. It contains the ID of the source and target products, the type of - product link, and the URLs to retrieve product data. - properties: - sourceProductId: - description: The semantic ID of the product this product link is coming from. - type: string - example: "824756924" - sourceProductLink: - description: The URL addressing the product this product link is coming from. - type: string - example: "Link" - targetProductId: - description: The semantic ID of the product this product link is pointing to. - type: string - example: "2TR93459" - targetProductLink: - description: The URL addressing the product this product link is pointing to. - type: string - example: "Link" - type: - description: The type of product link. - type: string - enum: - - cross_sell - - replacement - - up_sell - - accessory - - newer_version - - alt_orderunit - - spare_part - - other - example: up_sell - ProductPriceTable: - description: Tiered Price Level Object - properties: - price: - description: Price for the product for the specified tier for the specified pricebook - type: number - format: double - required: false - example: 12.99 - pricebook: - description: The active pricebook for which this price is defined - type: string - required: false - example: usd-list-pricebook - quantity: - description: Quantity tier for which the price is defined. - type: number - format: double - required: false - example: 1.00 - ProductPromotion: - description: Document representing a product promotion. - properties: - calloutMsg: - description: The localized call-out message of the promotion. - type: string - example: "Fantastic promotion" - promotionId: - description: The unique ID of the promotion. - type: string - example: "summerSale" - promotionalPrice: - description: The promotional price for this product. - type: number - format: double - example: 12.99 - ProductResult: - description: Result document containing an array of products. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 12 - data: - description: The array of product documents. - type: Product[] - total: - description: The total number of documents. - type: integer - format: int32 - example: 12 - ProductType: - description: Document representing a product type. - properties: - bundle: - description: A flag indicating whether the product is a bundle. - type: boolean - required: false - example: true - item: - description: A flag indicating whether the product is a standard item. - type: boolean - required: false - example: false - master: - description: A flag indicating whether the product is a master. - type: boolean - required: false - example: true - option: - description: A flag indicating whether the product is an option. - type: boolean - required: false - example: false - set: - description: A flag indicating whether the product is a set. - type: boolean - required: false - example: true - variant: - description: A flag indicating whether the product is a variant. - type: boolean - required: false - example: false - variationGroup: - description: A flag indicating whether the product is a variation group. - type: boolean - required: false - example: false - Recommendation: - description: Document representing a product recommendation. - properties: - calloutMsg: - description: The localized callout message of the recommendation. - type: string - required: false - example: "Absolutely recommended" - image: - description: The image of the recommendation. - type: Image - required: false - longDescription: - description: The localized long description of the recommendation. - type: string - required: false - example: "Really good detailed product description" - name: - description: The localized name of the recommendation. - type: string - required: false - example: "Apple Ipod Shuffle" - recommendationType: - description: The recommendation type of the recommendation. - type: RecommendationType - recommendedItemId: - description: The recommended item ID of the recommendation. - type: string - required: false - example: "apple-ipod-shuffle" - shortDescription: - description: The localized short description of the recommendation. - type: string - required: false - example: "Product description" - RecommendationType: - description: Document representing a recommendation type. - properties: - displayValue: - description: The localized display value of the recommendation type. - type: string - example: "UpSell" - value: - description: The value of the recommendation type. - type: integer - format: int32 - example: 2 - Variant: - description: A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU.* - properties: - orderable: - description: A flag indicating whether the variant is orderable. - type: boolean - required: false - example: true - price: - description: The sales price of the variant. - type: number - format: double - required: false - example: 25.99 - productId: - description: The ID (SKU) of the variant. - maxLength: 100 - minLength: 1 - type: string - example: "8W4756834" - tieredPrices: - description: List of tiered prices if the product is a variant - type: ProductPriceTable[] - required: false - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - required: false - VariationAttribute: - description: Document representing a variation attribute. - properties: - id: - description: The ID of the variation attribute. - minLength: 1 - type: string - example: "color" - name: - description: The localized display name of the variation attribute. - type: string - required: false - example: "Color" - values: - description: The sorted array of variation values. This array can be empty. - type: array - items: - type: VariationAttributeValue - required: false - VariationAttributeValue: - description: Document representing a variation attribute value. - properties: - description: - description: The localized description of the variation value. - type: string - required: false - example: "Color of the product" - image: - description: The first product image for the configured viewtype and this variation value. - type: Image - required: false - imageSwatch: - description: The first product image for the configured viewtype and this variation value (typically the swatch image). - type: Image - required: false - name: - description: The localized display name of the variation value. - type: string - required: false - example: "Red" - orderable: - description: A flag indicating whether at least one variant with this variation attribute value is available to sell. - type: boolean - required: false - example: true - value: - description: The actual variation value. - minLength: 1 - type: string - example: "red" - VariationGroup: - description: Representation of a group of variant products by an attribute. This is a non-buyable entity, provides inheritable attributes for its product variants, and is used for navigation. *Doesn't have a SKU.* - properties: - orderable: - description: A flag indicating whether the variation group is orderable. - type: boolean - example: false - price: - description: The sales price of the variation group. - type: number - format: double - example: 24.99 - productId: - description: The ID (SKU) of the variation group. - maxLength: 100 - minLength: 1 - type: string - example: "49345VG" - variationValues: - description: The actual variation attribute ID - value pairs. - type: object - properties: - //: - type: string - Category: - description: Categories allow products to be organized into hierarchical structures. Categories can have relationships to other parent categories. Each category can also provide a context inherited by subcategories. For example, a category may have an attribute value assigned to it, and any product assigned to the category or a subcategory would inherit the attribute value as long as the product is assigned. Once the product is removed from the category those attribute values would no longer be in the context of the product. Linking of categories is also used for Site hierarchical navigation. For example, inside 'Clothing' you may have 'Mens', and inside 'Mens' you may have 'Pants'. Categories are not *Tags.* - properties: - categories: - description: Array of subcategories. Can be empty. - type: array - items: - type: Category - required: false - description: - description: The localized description of the category. - type: string - required: false - example: "Category description for Men's Category" - id: - description: The ID of the category. - type: string - example: "mens" - image: - description: The URL of the category image. - type: string - required: false - name: - description: The localized name of the category. - type: string - required: false - example: "Men's Category" - onlineSubCategoriesCount: - description: The total number of online sub-categories. This information will be available from B2C Commerce version 24.5. - type: integer - format: int64 - required: false - pageDescription: - description: The localized page description of the category. - type: string - required: false - example: "This category ahs all men's clothing" - pageKeywords: - description: The localized page keywords of the category. - type: string - required: false - example: "Mens, shirts" - pageTitle: - description: The localized page title of the category. - type: string - required: false - example: "Men's Category" - parentCategoryId: - description: The ID of the parent category. - type: string - required: false - example: "apparel" - parentCategoryTree: - description: The List of the parent categories. - type: array - items: - type: PathRecord - required: false - thumbnail: - description: The URL of the category thumbnail. - type: string - required: false - example: "https://www.exampleimage.com/images/categoryImage.jpg" - PathRecord: - description: Document representing most basic info (id and name) of a category or catalog. - properties: - id: - description: The id of the category path. - type: string - example: "mens" - required: false - name: - description: The name of the category path. - type: string - example: "mens" - required: false - CategoryResult: - description: Result document containing an array of categories. - properties: - limit: - description: The number of returned documents. - type: integer - format: int32 - example: 10 - data: - description: The array of category documents. - type: array - items: - type: Category - total: - description: The total number of documents. - type: integer - format: int32 - example: 5 - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /products: - get: - description: 'Allows access to multiple products by a single request. Only products that are online and assigned to a site catalog are returned. The maximum number of productIDs that can be requested are 24. Along with product details, the availability, product options, images, price, promotions, and variations for the valid products will be included, as appropriate.' - displayName: getProducts - is: - - CommerceCloudStandards.SiteSpecific: - - ProdTraits.Unauthorized - - ProdTraits.BadRequest2 - queryParameters: - select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names, or work with wildcards.You can also sepcify Array Operations and filter expressions.The actual selector value must be enclosed within parentheses. - type: CommerceCloudStandards.Select - required: false - example: (data.(name,id,variationAttributes.(**))) - ids: - description: The IDs of the requested products (comma-separated, max 24 IDs). - type: string - required: true - example: "apple-ipod-shuffle,apple-ipod-nano" - inventoryIds: - description: The optional inventory list IDs, for which the availability should be shown (comma-separated, max 5 inventoryListIDs). - type: string - required: false - example: "Site1InventoryList,Site2InventoryList" - currency: - description: The currency mnemonic specified for price. - type: string - required: false - example: USD - expand: - description: The expand parameter. A comma separated list with the allowed values (availability, links, promotions, options, images, prices, variations, recommendations, page_meta_tags). All expand parameters except page_meta_tags are used for the request when no expand parameter is provided. The value "none" may be used to turn off all expand options. **The `page_meta_tags` expand value is optional and available starting from B2C Commerce version 25.2.** - type: array - items: - enum: [none,availability,links,promotions,options,images,prices,variations,recommendations,page_meta_tags] - required: false - example: [prices,promotions] - locale: - description: The locale context. - type: string - required: false - example: default - allImages: - description: The flag that indicates whether to retrieve the whole image model for the requested product. - type: boolean - required: false - example: false - perPricebook: - description: The flag that indicates whether to retrieve the per PriceBook prices and tiered prices (if available) for requested Products. Available end of June, 2021. - type: boolean - required: false - example: false - responses: - '200': - description: Success. - body: - application/json: - type: ProductResult - examples: - product_result: !include Examples/product-result-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-products] } - /{id}: - get: - description: 'Allows access to product details for a single product ID. Only products that are online and assigned to a site catalog are returned. Along with product details, the availability, images, price, bundled_products, set_products, recommedations, product options, variations, and promotions for the products will be included, as appropriate.' - displayName: getProduct - is: - - CommerceCloudStandards.SiteSpecific: - - ProdTraits.Unauthorized - - ProdTraits.BadRequest1 - - ProdTraits.NotFound - responses: - '200': - description: Success. - body: - application/json: - type: Product - examples: - product: !include Examples/product-example.raml - queryParameters: - select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names, or work with wildcards.You can also sepcify Array Operations and filter expressions.The actual selector value must be enclosed within parentheses. - type: CommerceCloudStandards.Select - required: false - example: (name,id,variationAttributes.(**)) - inventoryIds: - description: The optional inventory list IDs, for which the availability should be shown (comma-separated, max 5 inventoryListIDs). - type: string - required: false - example: "Site1InventoryList,Site2InventoryList" - currency: - description: The currency mnemonic specified for price. - type: string - required: false - example: USD - expand: - description: The expand parameter. A comma separated list with the allowed values (availability, bundled_products, links, promotions, options, images, prices, variations, set_products, recommendations, page_meta_tags). All expand parameters except page_meta_tags are used for the request when no expand parameter is provided. The value "none" may be used to turn off all expand options. **The `page_meta_tags` expand value is optional and available starting from B2C Commerce version 25.2.** - type: array - items: - enum: [none,availability,bundled_products,links,promotions,options,images,prices,variations,set_products,recommendations,page_meta_tags] - required: false - example: [prices,promotions] - locale: - description: The locale context. - type: string - required: false - example: default - allImages: - description: The flag that indicates whether to retrieve the whole image model for the requested product. - type: boolean - required: false - example: false - perPricebook: - description: The flag that indicates whether to retrieve the per PriceBook prices and tiered prices (if available) for requested Products. Available end of June, 2021. - type: boolean - required: false - example: false - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-products] } - uriParameters: - id: - description: The ID of the requested product. - maxLength: 100 - type: string - example: apple-ipod-shuffle - - /categories: - get: - description: When you use the URL template, the server returns multiple categories (a result object of category documents). You can use this template as a convenient way of obtaining multiple categories in a single request, instead of issuing separate requests for each category. You can specify up to 50 multiple IDs. You must enclose the list of IDs in parentheses. If a category identifier contains parenthesis or the separator sign, you must URL encode the character. - displayName: getCategories - is: - - CommerceCloudStandards.SiteSpecific: - - ProdTraits.BadRequest - - ProdTraits.Unauthorized - queryParameters: - ids: - description: The comma separated list of category IDs (max 50). - type: string - required: true - example: "electronics-digital-cameras,electronics-televisions" - levels: - minimum: 0 - description: Specifies how many levels of nested subcategories you want the server to return. The default value is 1. Valid values are 0, 1, or 2. Only online subcategories are returned. - type: integer - required: false - format: int32 - enum: [0,1,2] - example: 0 - locale: - description: The locale context. - example: default - type: string - required: false - responses: - '200': - description: Success. - body: - application/json: - type: CategoryResult - examples: - category: !include Examples/category-result-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-categories] } - /{id}: - get: - description: |- - When you use the URL template below, the server returns a category identified by its ID; by default, the server - also returns the first level of subcategories, but you can specify another level by setting the levels - parameter. - displayName: getCategory - is: - - CommerceCloudStandards.SiteSpecific: - - ProdTraits.Unauthorized - - ProdTraits.BadRequest - - ProdTraits.NotFound - responses: - '200': - description: Success. - body: - application/json: - type: Category - examples: - category: !include Examples/category-example.raml - queryParameters: - levels: - minimum: 0 - type: integer - required: false - format: int32 - locale: - type: string - required: false - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-categories] } - uriParameters: - id: - description: The ID of the requested category. - maxLength: 256 - type: string - example: electronics \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/.metadata.json b/testIntegration/stagingApis/search/shopper-search/.metadata.json deleted file mode 100644 index ed50493b..00000000 --- a/testIntegration/stagingApis/search/shopper-search/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-search/1.0.23", - "name": "Shopper Search", - "description": "Search for products and provide search suggestions.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-search", - "version": "1.0.23", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Search" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/search/shopper-search/Examples/product-search-400-error-example.raml b/testIntegration/stagingApis/search/shopper-search/Examples/product-search-400-error-example.raml deleted file mode 100644 index bcb9bdd1..00000000 --- a/testIntegration/stagingApis/search/shopper-search/Examples/product-search-400-error-example.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "title": "Malformed Price Refinement", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-price-refinement", - "detail": "The price refinement '(0.500)' is malformed. Something similar to '(0..100)' was expected.", - "malformedPrice": "(0.500)" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/Examples/product-search-result-example.raml b/testIntegration/stagingApis/search/shopper-search/Examples/product-search-result-example.raml deleted file mode 100644 index ae782f5f..00000000 --- a/testIntegration/stagingApis/search/shopper-search/Examples/product-search-result-example.raml +++ /dev/null @@ -1,326 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "limit": 3, - "hits": [ - { - "currency": "USD", - "hitType": "master", - "image": { - "alt": "Modern Dress Shirt, , large", - "disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw7671b929/images/large/B0174501_GY9_0.jpg", - "link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw7671b929/images/large/B0174501_GY9_0.jpg", - "title": "Modern Dress Shirt, " - }, - "orderable": true, - "price": 135, - "productId": "74974310", - "productName": "Modern Dress Shirt", - "productType": { - "master": true - }, - "representedProduct": { - "id": "74974310-1" - }, - "representedProducts": [ - { - "id": "74974310-1" - }, - { - "id": "74974310-2" - }, - { - "id": "74974310-3" - }, - { - "id": "74974310-4" - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "color", - "values": [ - { - "name": "Blue", - "orderable": true, - "value": "002" - } - ] - }, - { - "id": "size", - "name": "size", - "values": [ - { - "name": "15R", - "orderable": true, - "value": "15R" - }, - { - "name": "15L", - "orderable": true, - "value": "15L" - }, - { - "name": "16L", - "orderable": true, - "value": "16L" - } - ] - } - ] - }, - { - "currency": "USD", - "hitType": "master", - "image": { - "alt": "The White Dress Shirt, , large", - "disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg", - "link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg", - "title": "The White Dress Shirt, " - }, - "orderable": true, - "price": 135, - "productId": "78916783", - "productName": "The White Dress Shirt", - "productType": { - "master": true - }, - "representedProduct": { - "id": "78916783-1" - }, - "representedProducts": [ - { - "id": "78916783-1" - }, - { - "id": "78916783-2" - }, - { - "id": "78916783-3" - }, - { - "id": "78916783-4" - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "White", - "orderable": true, - "value": "white" - } - ] - }, - { - "id": "size", - "name": "size", - "values": [ - { - "name": "15L", - "orderable": true, - "value": "15L" - }, - { - "name": "15R", - "orderable": true, - "value": "15R" - } - ] - } - ] - }, - { - "currency": "USD", - "hitType": "master", - "image": { - "alt": "Striped Shirt, , large", - "disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw83b22281/images/large/PG.10213135.JJ9VSA5.PZ.jpg", - "link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw83b22281/images/large/PG.10213135.JJ9VSA5.PZ.jpg", - "title": "Striped Shirt, " - }, - "orderable": true, - "price": 40.99, - "productId": "25518484", - "productName": "Striped Shirt", - "productType": { - "master": true - }, - "representedProduct": { - "id": "701642854760" - }, - "representedProducts": [ - { - "id": "701642854760" - }, - { - "id": "701642854784" - }, - { - "id": "701642854791" - }, - { - "id": "701642854777" - } - ], - "variationAttributes": [ - { - "id": "color", - "name": "Color", - "values": [ - { - "name": "Royal Multi", - "orderable": true, - "value": "JJ9VSA5" - } - ] - }, - { - "id": "size", - "name": "Size", - "values": [ - { - "name": "S", - "orderable": true, - "value": "9SM" - }, - { - "name": "M", - "orderable": true, - "value": "9MD" - }, - { - "name": "L", - "orderable": true, - "value": "9LG" - }, - { - "name": "XL", - "orderable": true, - "value": "9XL" - } - ] - } - ] - } - ], - "query": "shirt", - "refinements": [ - { - "attributeId": "cgid", - "label": "Category", - "values": [ - { - "hitCount": 4, - "label": "New Arrivals", - "value": "newarrivals" - } - ] - }, - { - "attributeId": "c_refinementColor", - "label": "Color", - "values": [ - { - "hitCount": 0, - "label": "Beige", - "presentationId": "beige", - "value": "Beige" - }, - { - "hitCount": 0, - "label": "Yellow", - "presentationId": "yellow", - "value": "Yellow" - }, - { - "hitCount": 7, - "label": "Miscellaneous", - "presentationId": "miscellaneous", - "value": "Miscellaneous" - } - ] - }, - { - "attributeId": "price", - "label": "Price", - "values": [ - { - "hitCount": 14, - "label": "$20 - $49.99", - "value": "(20..50)" - }, - { - "hitCount": 26, - "label": "$50 - $99.99", - "value": "(50..100)" - }, - { - "hitCount": 6, - "label": "$100 - $499.99", - "value": "(100..500)" - } - ] - }, - { - "attributeId": "c_isNew", - "label": "New Arrival", - "values": [ - { - "hitCount": 1, - "label": "true", - "value": "true" - } - ] - }, - { - "attributeId": "brand", - "label": "brand", - "values": [ - { - "hitCount": 1, - "label": "Lacy-S", - "value": "Lacy-S" - } - ] - } - ], - "searchPhraseSuggestions": { - "suggestedPhrases": [ - { - "exactMatch": true, - "phrase": "shirt" - } - ], - "suggestedTerms": [ - { - "originalTerm": "shirt", - "terms": [ - { - "completed": false, - "corrected": false, - "exactMatch": true, - "value": "shirt" - } - ] - } - ] - }, - "sortingOptions": [ - { - "id": "best-matches", - "label": "Best Matches" - }, - { - "id": "price-low-to-high", - "label": "Price Low To High" - } - ], - "offset": 0, - "total": 46 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/Examples/search-suggestion-400-error-example.raml b/testIntegration/stagingApis/search/shopper-search/Examples/search-suggestion-400-error-example.raml deleted file mode 100644 index 13bff5e1..00000000 --- a/testIntegration/stagingApis/search/shopper-search/Examples/search-suggestion-400-error-example.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "title": "String Constraint Violation", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/string-constraint-violation", - "detail": "The string length constraint was violated by 'q'. The expected length is '(3..50)'.", - "expected": "(3..50)", - "parameter": "q" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/Examples/search-suggestion-result-example.raml b/testIntegration/stagingApis/search/shopper-search/Examples/search-suggestion-result-example.raml deleted file mode 100644 index ef1b4e12..00000000 --- a/testIntegration/stagingApis/search/shopper-search/Examples/search-suggestion-result-example.raml +++ /dev/null @@ -1,93 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "brandSuggestions": { - "suggestedPhrases": [ - { - "exactMatch": false, - "phrase": "Sony" - } - ], - "suggestedTerms": [ - { - "originalTerm": "son", - "terms": [ - { - "completed": true, - "corrected": false, - "exactMatch": false, - "value": "sony" - } - ] - } - ] - }, - "categorySuggestions": { - "suggestedTerms": [ - { - "originalTerm": "son" - } - ] - }, - "productSuggestions": { - "products": [ - { - "currency": "EUR", - "price": 300.00, - "productId": "sony-ps3-bundle", - "productName": "Playstation 3 Bundle" - }, - { - "currency": "EUR", - "price": 310.00, - "productId": "sony-alpha350-wlen", - "productName": "Sony Alpha 350 Digital SLR Camera w/18-70mm Lens" - }, - { - "currency": "EUR", - "price": 10.00, - "productId": "sony-alpha900-body", - "productName": "Sony Alpha 900 Digital SLR Camera (body only)" - }, - { - "currency": "EUR", - "price": 50.00, - "productId": "sony-warhawk-ps3", - "productName": "Warhawk (for Sony PS3)" - }, - { - "currency": "EUR", - "price": 280.00, - "productId": "sony-psp-console", - "productName": "Sony PSP® Game Console" - } - ], - "suggestedPhrases": [ - { - "exactMatch": false, - "phrase": "sony" - } - ], - "suggestedTerms": [ - { - "originalTerm": "son", - "terms": [ - { - "completed": true, - "corrected": false, - "exactMatch": false, - "value": "sony" - }, - { - "completed": true, - "corrected": false, - "exactMatch": false, - "value": "sonyalpha" - } - ] - } - ] - }, - "searchPhrase": "son" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/Traits/badRequestTrait.raml b/testIntegration/stagingApis/search/shopper-search/Traits/badRequestTrait.raml deleted file mode 100644 index 29a695c5..00000000 --- a/testIntegration/stagingApis/search/shopper-search/Traits/badRequestTrait.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 400 response in the Shopper search API. - -responses: - 400: - description: - Thrown if the request is malformed, incomplete or otherwise erroneous. - body: - application/json: - type: ApiStandards.ErrorResponse - example: - { - "title": "Value Constraint Violation", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/value-constraint-violation", - "detail": "'limit' violates the value constraint. The expected value is between '(1..10)'." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange.json b/testIntegration/stagingApis/search/shopper-search/exchange.json deleted file mode 100644 index c5f5c00e..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"shopper-search.raml","name":"Shopper Search","classifier":"raml","tags":[],"dependencies":[{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.9"},{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"}],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"shopper-search","version":"1.0.23","apiVersion":"v1"} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml deleted file mode 100644 index f1a8b110..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml +++ /dev/null @@ -1,36 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - Uuid: Identifiers.UniversallyUniqueIdentifier - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/error-response.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/identifers.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/identifers.raml deleted file mode 100644 index 9270d9e3..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/identifers.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/pagination-types.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/example.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/example.raml deleted file mode 100644 index 240efb3e..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/example.raml +++ /dev/null @@ -1,92 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/exchange.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/exchange.json deleted file mode 100644 index 46903cec..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.9","apiVersion":"v1","dependencies":[]} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/securitySchemes/gdot.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/securitySchemes/gdot.raml deleted file mode 100644 index 3afcaaf8..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/async-created.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/date-conditional-request.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-conditional-request.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-response.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/offset-paginated.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index 4463d386..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-2.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-3.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-4.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-5.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/sync-created.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml deleted file mode 100644 index fa1a4f62..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/testIntegration/stagingApis/search/shopper-search/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/shopper-search-library.raml b/testIntegration/stagingApis/search/shopper-search/shopper-search-library.raml deleted file mode 100644 index bb07cda3..00000000 --- a/testIntegration/stagingApis/search/shopper-search/shopper-search-library.raml +++ /dev/null @@ -1,446 +0,0 @@ -#%RAML 1.0 Library - -traits: - badRequest: !include Traits/badRequestTrait.raml - -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml - -types: - #types for product-search resource - ProductRef: - description: Document representing a product reference. - properties: - id: - description: The ID of the product reference. - type: string - - ProductSearchHit: - description: Document representing a product search hit. - properties: - currency: - type: CommerceCloudStandards.CurrencyCode - required: false - hitType: - description: The type information for the search hit. - type: string - required: false - image: - description: The first image of the product hit for the configured viewtype. - type: Image - required: false - - orderable: - description: A flag indicating whether the product is orderable. - type: boolean - required: false - - price: - description: |- - The sales price of the product. In complex products, like master or set, this is the minimum price of - related child products. - type: number - format: double - required: false - - priceMax: - description: The maximum sales of related child products in complex products like master or set. - type: number - format: double - required: false - - prices: - description: The prices map with price book IDs and their values. - type: object - properties: - //: - type: number - format: double - required: false - - productId: - description: The ID (SKU) of the product. - type: string - - productName: - description: The localized name of the product. - type: string - required: false - - productType: - description: The type information for the product. - type: ProductType - required: false - - representedProduct: - description: The first represented product. - type: ProductRef - required: false - - representedProducts: - description: All the represented products. - type: array - items: - type: ProductRef - required: false - - variationAttributes: - description: The array of represented variation attributes, for the master product only. This array can be empty. - type: array - items: - type: VariationAttribute - required: false - - ProductSearchRefinement: - description: Document representing a product search refinement attribute. - properties: - attributeId: - description: |- - The ID of the search refinement attribute. In the case of an attribute refinement, this is the attribute ID. - Custom attributes are marked by the prefix "c_" (for example, "c_refinementColor"). In the case of a - category refinement, the ID must be "cgid". In the case of a price refinement, the ID must be "price". - type: string - label: - description: The localized label of the refinement. - type: string - required: false - values: - description: The sorted array of refinement values. This array can be empty. - type: array - items: - type: ProductSearchRefinementValue - required: false - - ProductSearchRefinementValue: - description: Document representing a product search refinement value. - properties: - description: - description: The localized description of the refinement value. - type: string - required: false - hitCount: - description: The number of search hits when selecting the refinement value. Can be 0. - type: integer - format: int32 - label: - description: The localized label of the refinement value. - type: string - presentationId: - description: |- - The optional presentation ID associated with the refinement value. - The presentation ID can be used, for example, to associate an ID with - an HTML widget. - type: string - required: false - value: - description: |- - The refinement value. In the case of an attribute refinement, this is the bucket, - the attribute value, or a value range. In the case of a category refinement, this is the - category ID. In the case of a price refinement, this is the price range. Ranges are - enclosed by parentheses and separated by ".."; for example, "(100..999)" and "(Aa..Fa)" - are valid ranges. - type: string - values: - description: The array of hierarchical refinement values. This array can be empty. - type: array - items: - type: ProductSearchRefinementValue - required: false - - - ProductSearchSortingOption: - description: Document representing a product search sorting option. - properties: - id: - description: The ID of the sorting option. - type: string - label: - description: The localized label of the sorting option. - type: string - - ProductType: - description: Document representing a product type. - properties: - bundle: - description: A flag indicating whether the product is a bundle. - type: boolean - required: false - item: - description: A flag indicating whether the product is a standard item. - type: boolean - required: false - master: - description: A flag indicating whether the product is a master. - type: boolean - required: false - option: - description: A flag indicating whether the product is an option. - type: boolean - required: false - set: - description: A flag indicating whether the product is a set. - type: boolean - required: false - variant: - description: A flag indicating whether the product is a variant. - type: boolean - required: false - variationGroup: - description: A flag indicating whether the product is a variation group. - type: boolean - required: false - - VariationAttributeValue: - description: Document representing a variation attribute value. - properties: - description: - description: The localized description of the variation value. - type: string - required: false - image: - description: The first product image for the configured viewtype and this variation value. - type: Image - required: false - imageSwatch: - description: The first product image for the configured viewtype and this variation value. Typically the swatch image. - type: Image - required: false - name: - description: The localized display name of the variation value. - type: string - required: false - orderable: - description: A flag indicating whether at least one variant with this variation attribute value is available to sell. - type: boolean - required: false - value: - description: The actual variation value. - minLength: 1 - type: string - - VariationAttribute: - description: Document representing a variation attribute. - properties: - id: - description: The ID of the variation attribute. - minLength: 1 - type: string - name: - description: The localized display name of the variation attribute. - type: string - required: false - values: - description: The sorted array of variation values. This array can be empty. - type: array - items: - type: VariationAttributeValue - required: false - - ProductSearchResult: - description: Document representing a product search result. - properties: - limit: - description: The number of returned documents. - type: ApiStandards.Limit - format: int32 - hits: - description: The sorted array of search hits. This array can be empty. - type: array - items: - type: ProductSearchHit - query: - description: The query string that was searched for. - type: string - refinements: - description: The sorted array of search refinements. This array can be empty. - type: array - items: - type: ProductSearchRefinement - searchPhraseSuggestions: - description: The suggestion given by the system for the submitted search phrase. - type: Suggestion - selectedRefinements: - description: A map of selected refinement attribute ID or value pairs. The sorting order is the same as in request URL. - type: object - properties: - //: - type: string - required: false - selectedSortingOption: - description: The ID of the applied sorting option. - type: string - required: false - sortingOptions: - description: The sorted array of search sorting options. This array can be empty. - type: array - items: - type: ProductSearchSortingOption - offset: - description: The zero-based index of the first search hit to include in the result. - minimum: 0 - type: ApiStandards.Offset - format: int32 - total: - description: The total number of documents. - type: integer - format: int32 - - #shared types: used in both resources - Image: - properties: - alt: - type: string - required: false - disBaseLink: - type: string - required: false - link: - minLength: 1 - type: string - title: - type: string - required: false - - SuggestedPhrase: - description: Document representing a suggested search phrase. - properties: - exactMatch: - description: Returns whether this suggested phrase exactly matches the user input search phrase. - type: boolean - phrase: - description: Returns the suggested search phrase. - type: string - - SuggestedTerms: - description: Document representing a list of suggested terms for each term of a search phrase. - properties: - originalTerm: - description: Returns the original term that the suggested terms relates to. - type: string - terms: - description: Returns the suggested terms. - type: array - required: false - items: - type: SuggestedTerm - - SuggestedTerm: - description: Document representing a suggested term. - properties: - completed: - description: Returns whether this term value is a completion match. - type: boolean - corrected: - description: Returns whether this term value is a correction match. - type: boolean - exactMatch: - description: Returns whether this term value is a exact match. - type: boolean - value: - description: Returns the term value. - type: string - - Suggestion: - description: Document representing a suggestion. - properties: - suggestedPhrases: - description: A list of suggested phrases. This list can be empty. - type: array - required: false - items: - type: SuggestedPhrase - suggestedTerms: - description: A list of suggested terms. This list can be empty. - type: array - items: - type: SuggestedTerms - - #types for product-search resource - SuggestedProduct: - description: Document representing a product search hit. - properties: - currency: - type: CommerceCloudStandards.CurrencyCode - image: - description: The first image of the product hit for the configured viewtype. - type: Image - required: false - price: - description: |- - The sales price of the product. In the case of complex products like a master or a set, this is the minimum price of - related child products. - type: number - format: double - productId: - description: The ID (SKU) of the product. - type: string - productName: - description: The localized name of the product. - type: string - - SuggestedCategory: - properties: - id: - description: The ID of the category. - type: string - name: - description: The localized name of the category. - type: string - parentCategoryName: - description: The name of the parent category. - type: string - - CategorySuggestions: - type: Suggestion - properties: - categories: - required: false - description: The sorted list of suggested categories. This list can be empty. - type: array - items: - type: SuggestedCategory - - ProductSuggestions: - type: Suggestion - properties: - products: - required: false - description: The sorted list of suggested products. This list can be empty. - type: array - items: - type: SuggestedProduct - - BrandSuggestions: - description: The suggested brand names are listed in suggested phrases. If this list is empty, no brand suggestion for a given search phrase was found. - type: Suggestion - - CustomSuggestions: - description: The custom suggestions are listed in suggested phrases. If this list is empty, no custom suggestion for the given search phrase was found. - type: Suggestion - properties: - customSuggestion: - required: false - - SuggestionResult: - description: Document representing a search suggestion result. - properties: - brandSuggestions: - required: false - description: Returns the suggested brands. - type: BrandSuggestions - categorySuggestions: - required: false - description: Returns the suggested categories. - type: CategorySuggestions - productSuggestions: - required: false - description: Returns the suggested products. - type: ProductSuggestions - customSuggestion: - required: false - description: Returns custom suggestions. - type: CustomSuggestions - searchPhrase: - description: The query phrase (q) for which suggestions where made. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/search/shopper-search/shopper-search.raml b/testIntegration/stagingApis/search/shopper-search/shopper-search.raml deleted file mode 100644 index 8520f846..00000000 --- a/testIntegration/stagingApis/search/shopper-search/shopper-search.raml +++ /dev/null @@ -1,137 +0,0 @@ -#%RAML 1.0 -version: v1 -title: Shopper Search -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.9/api-standards.raml - SearchTypeLibrary: shopper-search-library.raml - -mediaType: application/json -protocols: [HTTPS] -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/search/shopper-search/{version}/ -baseUriParameters: - shortCode: - description: Region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -description: Provides clients - -/organizations/{organizationId}: - /product-search: - type: CommerceCloudStandards.Organization - get: - description: |- - Provides keyword and refinement search functionality for products. Only returns the product ID, link, and name in - the product search hit. The search result contains only products that are online and assigned to site catalog. - displayName: productSearch - is: - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 400 - - ApiStandards.OffsetPaginated: - maxLimit: 200 - defaultSize: 25 - responses: - '200': - description: Product search successfully returned results. - body: - type: SearchTypeLibrary.ProductSearchResult - examples: - product_search: !include Examples/product-search-result-example.raml - '400': - description: Thrown if a price refinement parameter is malformed or the refinement limit is exceeded. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - examples: - product-search-400-error: !include Examples/product-search-400-error-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-product-search] } - queryParameters: - siteId: - type: CommerceCloudStandards.SiteId - q: - description: The query phrase to search for. For example to search for a product "shirt", type q=shirt. - maxLength: 50 - type: string - required: false - refine: - description: |- - Parameter that represents a refinement attribute or values pair. Refinement attribute ID and - values are separated by '='. Multiple values are supported by a subset of refinement attributes and - can be provided by separating them using a pipe (URL - encoded = "|") i.e. refine=c_refinementColor=red|green|blue. Value ranges can be specified like this: refine=price=(100..500) . Multiple refine parameters can be provided by using the refine as the key i.e refine=price=(0..10)&refine=c_refinementColor=green. The refinements can be a collection of custom defined attributes IDs and the system defined attributes IDs but the search can only accept a total of 9 refinements at a time. - The following system refinement attribute ids are supported: - - cgid: Allows refinement per single category ID. Multiple category ids are not supported. - price: Allows refinement per single price range. Multiple price ranges are not supported. - pmid: Allows refinement per promotion ID. - htypes: Allow refinement by including only the provided hit types. Accepted types are 'product', 'master', 'set', 'bundle', 'slicing_group' (deprecated), 'variation_group'. - orderable_only: Unavailable products are excluded from the search results if true is set. Multiple refinement values are not supported. - type: string[] - required: false - sort: - description: The ID of the sorting option to sort the search hits. - type: string - required: false - currency: - description: The currency mnemonic specified for price. This parameter is effective only if the returned results contain prices. - type: CommerceCloudStandards.CurrencyCode - required: false - locale: - type: CommerceCloudStandards.LocaleCode - required: false - - /search-suggestions: - type: CommerceCloudStandards.Organization - get: - description: Provides keyword search functionality for products, categories, and brands suggestions. - Returns suggested products, suggested categories, and suggested brands for the given search phrase. - displayName: getSearchSuggestions - is: - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 400 - responses: - '200': - description: Search suggestions are successfully returned. - body: - type: SearchTypeLibrary.SuggestionResult - examples: - search_suggestion: !include Examples/search-suggestion-result-example.raml - '400': - description: Thrown in case a query parameter or its value is unknown, or a maximum or minimum constraint is violated. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - examples: - search-suggestion-400-error: !include Examples/search-suggestion-400-error-example.raml - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-product-search] } - queryParameters: - siteId: - type: CommerceCloudStandards.SiteId - q: - description: The search phrase (q) for which suggestions are evaluated. Search suggestions are determined when the search phrase input is at least three (default) characters long. The value is configurable in the Business Manager. - maxLength: 50 - minLength: 1 - type: string - required: true - example: son - limit: - description: The maximum number of suggestions made per request. If no value is defined, by default five suggestions per suggestion type are evaluated. This affects all types of suggestions (category, product, brand, and custom suggestions). - maximum: 10 - minimum: 1 - default: 5 - type: integer - format: int32 - required: false - example: 5 - currency: - description: The currency code specified for price. This parameter is effective only for product suggestions. - type: CommerceCloudStandards.CurrencyCode - required: false - locale: - type: CommerceCloudStandards.LocaleCode - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/.metadata.json b/testIntegration/stagingApis/seller/shopper-stores/.metadata.json deleted file mode 100644 index 467f7b8b..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/.metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-stores/1.0.15", - "name": "Shopper Stores", - "description": "Search for a specific store or stores in an area.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-stores", - "version": "1.0.15", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Seller" - ], - "CC Version Status": [ - "Beta" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/seller/shopper-stores/Example/get-stores-result-example.raml b/testIntegration/stagingApis/seller/shopper-stores/Example/get-stores-result-example.raml deleted file mode 100644 index eef10a1f..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/Example/get-stores-result-example.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "limit": 5, - "data": [ - { - "address1": "1487 Bay St", - "city": "Springfield", - "countryCode": "US", - "distance": 147.03, - "distanceUnit": "km", - "id": "store9", - "name": "Springfield Media Store", - "phone": "+1-413-413-6916", - "posEnabled": false, - "postalCode": "01109", - "stateCode": "MA", - "storeEvents": "Here are some store events.", - "storeHours": "Here are the store hours", - "storeLocatorEnabled": true - }, - { - "address1": "70 Wood Ave", - "city": "Bridgeport", - "countryCode": "US", - "distance": 198.36, - "distanceUnit": "km", - "email": "store1@company.com", - "id": "store11", - "name": "Electronics Super Store", - "phone": "+1-203-965-7014", - "posEnabled": false, - "postalCode": "06605", - "stateCode": "CT", - "storeLocatorEnabled": true - }, - { - "address1": "239 Bridge St", - "city": "Manchester", - "countryCode": "US", - "distance": 219, - "distanceUnit": "km", - "id": "store8", - "name": "Gardena Mart", - "phone": "+1-603-715-9773", - "posEnabled": false, - "postalCode": "03104", - "stateCode": "NH", - "storeLocatorEnabled": true - }, - { - "address1": "150 Winthrop Ave", - "city": "Lawrence", - "countryCode": "US", - "distance": 242.77, - "distanceUnit": "km", - "id": "store6", - "name": "Khale Street Electronics", - "phone": "+1-978-580-2704", - "posEnabled": false, - "postalCode": "01843", - "stateCode": "MA", - "storeLocatorEnabled": true - }, - { - "address1": "110 Smith St", - "city": "Providence", - "countryCode": "US", - "distance": 245.02, - "distanceUnit": "km", - "email": "store2@company.com", - "id": "store2", - "name": "Super Electronics", - "phone": "+1-401-312-6284", - "posEnabled": false, - "postalCode": "02903", - "stateCode": "RI", - "storeLocatorEnabled": true - } - ], - "total": 12 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/Example/store-search-result-example.raml b/testIntegration/stagingApis/seller/shopper-stores/Example/store-search-result-example.raml deleted file mode 100644 index 17036257..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/Example/store-search-result-example.raml +++ /dev/null @@ -1,84 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "limit": 5, - "data": [ - { - "address1": "1487 Bay St", - "city": "Springfield", - "countryCode": "US", - "distance": 147.03, - "distanceUnit": "km", - "id": "store9", - "name": "Springfield Media Store", - "phone": "+1-413-413-6916", - "posEnabled": false, - "postalCode": "01109", - "stateCode": "MA", - "storeEvents": "Here are some store events.", - "storeHours": "Here are the store hours", - "storeLocatorEnabled": true - }, - { - "address1": "70 Wood Ave", - "city": "Bridgeport", - "countryCode": "US", - "distance": 198.36, - "distanceUnit": "km", - "email": "store1@company.com", - "id": "store11", - "name": "Electronics Super Store", - "phone": "+1-203-965-7014", - "posEnabled": false, - "postalCode": "06605", - "stateCode": "CT", - "storeLocatorEnabled": true - }, - { - "address1": "239 Bridge St", - "city": "Manchester", - "countryCode": "US", - "distance": 219, - "distanceUnit": "km", - "id": "store8", - "name": "Gardena Mart", - "phone": "+1-603-715-9773", - "posEnabled": false, - "postalCode": "03104", - "stateCode": "NH", - "storeLocatorEnabled": true - }, - { - "address1": "150 Winthrop Ave", - "city": "Lawrence", - "countryCode": "US", - "distance": 242.77, - "distanceUnit": "km", - "id": "store6", - "name": "Khale Street Electronics", - "phone": "+1-978-580-2704", - "posEnabled": false, - "postalCode": "01843", - "stateCode": "MA", - "storeLocatorEnabled": true - }, - { - "address1": "110 Smith St", - "city": "Providence", - "countryCode": "US", - "distance": 245.02, - "distanceUnit": "km", - "email": "store2@company.com", - "id": "store2", - "name": "Super Electronics", - "phone": "+1-401-312-6284", - "posEnabled": false, - "postalCode": "02903", - "stateCode": "RI", - "storeLocatorEnabled": true - } - ], - "offset": 0, - "total": 12 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/Example/stores-400-error-example.raml b/testIntegration/stagingApis/seller/shopper-stores/Example/stores-400-error-example.raml deleted file mode 100644 index a738451d..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/Example/stores-400-error-example.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "title": "Missing Postal Code", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/missing-postal-code", - "detail": "The input parameter 'postal_code' is required when no coordinates are provided." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/Traits/BadRequest.raml b/testIntegration/stagingApis/seller/shopper-stores/Traits/BadRequest.raml deleted file mode 100644 index bb2277a0..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/Traits/BadRequest.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Trait -description: Thrown if the request is malformed, incomplete or otherwise erroneous. -responses: - '400': - description: Thrown if a value constraint for query parameters is violated. Also thrown unless either a combination of latitude and longitude or a combination of country code and postal code is provided, or if an invalid distance_unit is given. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: | - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/missing-postal-code", - "title": "Missing Postal Code", - "detail": "The input parameter 'postalCode' is required when no coordinates are provided." - } - diff --git a/testIntegration/stagingApis/seller/shopper-stores/Traits/ShopperStoresTrait.raml b/testIntegration/stagingApis/seller/shopper-stores/Traits/ShopperStoresTrait.raml deleted file mode 100644 index 0919fda1..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/Traits/ShopperStoresTrait.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 Library - -uses: - CommerceCloudStandards: ../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -traits: - LocaleSpecific: - usage: This trait should be used whenever a resource uses the context of a locale associated with its request. This will add a locale query parameter. - queryParameters: - locale?: - type: CommerceCloudStandards.LocaleCode - description: |- - A descriptor to provide locale context for a geographical region by both a language and/or country code. The locale pattern in the query param follows the ISO 639-1 for the language code (e.g. en, de, fr) and ISO 3166-1 for the country code (e.g. US, DE, AT). The param can be a combination of language code and country code or can just refer to the language code. - Below are some valid examples: - - en-US - - de-AT - - de - - default - example: - en-US \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/Traits/Unauthorized.raml b/testIntegration/stagingApis/seller/shopper-stores/Traits/Unauthorized.raml deleted file mode 100644 index 91950b38..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/Traits/Unauthorized.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -description: This trait represents API behavior for a 401 response in case of authorization failure. - -responses: - 401: - description: Unauthorized. - body: - application/problem+json: - type: ApiStandards.ErrorResponse - example: | - { - "title": "Invalid Access Token", - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-access-token", - "detail": "The request is unauthorized, the access token is invalid.", - "accessToken": "hbGciOiJIUzI1NiIsInR5cCI6Ikp" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange.json b/testIntegration/stagingApis/seller/shopper-stores/exchange.json deleted file mode 100644 index bd0fc5be..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "dependencies": [ - { - "version": "1.1.15", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.15", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", - "main": "shopper-stores.raml", - "backwardsCompatible": false, - "assetId": "shopper-stores", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "name": "Shopper Stores", - "tags": [] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 231382cc..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json deleted file mode 100644 index 3b7dd050..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.0/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml deleted file mode 100644 index 0a12252c..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - - CommerceCloudStandards.Selectable - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/shopper-stores-description.md b/testIntegration/stagingApis/seller/shopper-stores/shopper-stores-description.md deleted file mode 100644 index 8e4be2a7..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/shopper-stores-description.md +++ /dev/null @@ -1,10 +0,0 @@ -# API Overview - -Provides access to stores via search or ID lookup. - - -## Authentication & Authorization - -The Shopper Stores API requires a shopper access token from the [Shopper Login and API Access Service (SLAS).](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html) - -You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/shopper-stores.raml b/testIntegration/stagingApis/seller/shopper-stores/shopper-stores.raml deleted file mode 100644 index f08d9200..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/shopper-stores.raml +++ /dev/null @@ -1,107 +0,0 @@ -#%RAML 1.0 -title: Shopper Stores -version: v1 -description: !include shopper-stores-description.md -mediaType: application/json -protocols: [HTTPS] -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/store/shopper-stores/{version} -uses: - StoresTraits : Traits/ShopperStoresTrait.raml - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - StoresLib: stores-library.raml -baseUriParameters: - shortCode: - description: Region-specific merchant identifier. - example: fd4gt8 - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -/organizations/{organizationId}: - /store-search: - type: CommerceCloudStandards.Organization - get: - description: | - This resource retrieves a list of stores for the given site that are within a configured distance of a geolocation: - - The distance is interpreted either in miles or kilometers, depending on the `distanceUnit` input parameter. - - The location is specified by either directly providing a latitude and longitude coordinate pair, or by providing a country and a postal code. If a postal code is passed, the resource looks in the system's geolocation mappings in Business Manager to find the coordinates for this postal code. If no matching geolocation is found, the resource returns an empty list of stores. If coordinates are passed, the values for country and postal code are ignored. - - To verify site latitude and longitude information in Business Manager: - - Navigate to **Merchant Tools -> Online Marketing -> Stores**. - - Select the applicable site. - - In the **Address** tab, verify that valid information is provided in the following fields: **Address**, **City**, **Postal Code**, **State**, and **Country**. For latitude and longitude values, you can manually enter values or provide all field values to auto-populate **Latitude** and **Longitude**. You must provide valid values for all of the previous fields for latitude and longitude to auto-populate **Latitude** and **Longitude** values. - - displayName: searchStores - is: - - CommerceCloudStandards.SiteSpecific: - - StoresTraits.LocaleSpecific: - - ApiStandards.OffsetPaginated: - maxLimit: 200 - defaultSize: 25 - - StoresLib.BadRequest - - StoresLib.Unauthorized - responses: - '200': - description: Returns a list of stores for the given search parameters, up to the paging size, including their distance from the given geolocation and additional information on the pagination of objects. - body: - type: StoresLib.StoreResult - examples: - stores-result-example: !include Example/store-search-result-example.raml - queryParameters: - countryCode: - description: The two letter ISO country code, such as "US". This value is required when a postalCode is provided. - type: CommerceCloudStandards.CountryCode - required: false - distanceUnit: - description: The distance unit. Supported values are "mi" (miles) and "km" (kilometers). The default is "km". - type: StoresLib.DistanceUnit - required: false - latitude: - description: The geographical latitude to search for stores (value range -90.00 .. 90.00). This value is required when a longitude is provided. - type: StoresLib.Latitude - required: false - longitude: - description: The geographical longitude to search for stores (value range -180.00 .. 180.00). You must provide a longitude when a latitude is provided. - type: StoresLib.Longitude - required: false - maxDistance: - description: The area (radius) in distanceUnit where stores will be searched. - type: StoresLib.Distance - required: false - postalCode: - description: The postal code, such as "84121". You must provide a countryCode when a postalCode is provided. - type: StoresLib.PostalCode - required: false - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-stores] } - - - /stores: - type: CommerceCloudStandards.Organization - get: - description: Returns stores identified by the IDs provided as input. - displayName: getStores - is: - - CommerceCloudStandards.SiteSpecific: - - StoresTraits.LocaleSpecific: - maxLimit: 200 - defaultSize: 25 - - StoresLib.BadRequest - - StoresLib.Unauthorized - responses: - '200': - description: Returns details about a specific store. - body: - type: StoresLib.StoreResult - examples: - store-result-example: !include Example/get-stores-result-example.raml - queryParameters: - siteId: - type: CommerceCloudStandards.SiteId - ids: - description: The IDs of a requested stores (comma separated, max 50 IDs). - maxLength: 256 - minLength: 1 - type: string - required: true - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-stores] } \ No newline at end of file diff --git a/testIntegration/stagingApis/seller/shopper-stores/stores-library.raml b/testIntegration/stagingApis/seller/shopper-stores/stores-library.raml deleted file mode 100644 index 18637f06..00000000 --- a/testIntegration/stagingApis/seller/shopper-stores/stores-library.raml +++ /dev/null @@ -1,148 +0,0 @@ -#%RAML 1.0 Library - -traits: - BadRequest: !include Traits/BadRequest.raml - Unauthorized: !include Traits/Unauthorized.raml - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml - -types: - DistanceUnit: - description: The unit the distance attribute is measured in (either in miles or kilometers). - enum: - - km - - mi - type: string - Latitude: - description: The latitude of the store. - maximum: 90 - minimum: -90 - type: number - format: double - Longitude: - description: The longitude of the store. - maximum: 180 - minimum: -180 - type: number - format: double - Distance: - description: The distance to the given geolocation where the stores will be searched, using the unit given in the attribute 'DistanceUnit' (miles or kilometers). - type: number - maximum: 20012 - minimum: 0 - format: double - PostalCode: - description: The postal code of the store. - maxLength: 10 - minLength: 3 - type: string - - Store: - description: Document representing a store. - properties: - address1: - description: The primary address of the store. - minLength: 1 - type: string - required: false - address2: - description: The secondary address of the store. - type: string - required: false - city: - description: The city of the store. - type: string - required: false - countryCode: - type: CommerceCloudStandards.CountryCode - required: false - distance: - type: Distance - required: false - distanceUnit: - type: DistanceUnit - required: false - email: - description: The email address of the store. - type: string - required: false - fax: - description: The fax number of the store. - type: string - required: false - id: - description: The id of the store. - maxLength: 256 - minLength: 1 - type: string - image: - description: The store image. - type: string - required: false - inventoryId: - description: The inventory list id associated with this store. - maxLength: 256 - type: string - required: false - latitude: - type: Latitude - required: false - longitude: - type: Longitude - required: false - name: - description: The store name. - type: string - required: false - phone: - description: The phone number of the store. - type: string - required: false - posEnabled: - description: Whether this store uses Store Point-of-Sale. - type: boolean - required: false - postalCode: - description: The postal code of the store. - type: PostalCode - required: false - stateCode: - description: The state code of the store. - type: string - required: false - storeEvents: - description: The store events. - type: string - required: false - storeHours: - description: The opening hours of the store. - type: string - required: false - storeLocatorEnabled: - description: Whether this store should show up in store locator results. - type: boolean - required: false - StoreResult: - description: Result object containing an array of stores. - properties: - limit: - description: The number of search results in the current page. - type: ApiStandards.Limit - format: int32 - data: - description: The list of stores in the search result. - type: array - items: - type: Store - offset: - description: The zero-based index of the first search result to include in the document. - minimum: 0 - type: ApiStandards.Offset - format: int64 - required: false - total: - description: The total number of search results. - type: ApiStandards.Total - format: int64